Build configured extension libraries only
Consider the libraries, which remain exts.mk but not listed in ext/configure-ext.mk, removed.
This commit is contained in:
parent
aa21a775a6
commit
f3e081c6b6
@ -279,7 +279,7 @@ $(EXTS_MK): ext/configure-ext.mk $(srcdir)/template/exts.mk.tmpl \
|
|||||||
EXTLDFLAGS="$(EXTLDFLAGS)" srcdir="$(srcdir)"
|
EXTLDFLAGS="$(EXTLDFLAGS)" srcdir="$(srcdir)"
|
||||||
$(ECHO) generating makefile $@
|
$(ECHO) generating makefile $@
|
||||||
$(Q)$(MINIRUBY) $(tooldir)/generic_erb.rb -o $@ -c \
|
$(Q)$(MINIRUBY) $(tooldir)/generic_erb.rb -o $@ -c \
|
||||||
$(srcdir)/template/exts.mk.tmpl --gnumake=$(gnumake)
|
$(srcdir)/template/exts.mk.tmpl --gnumake=$(gnumake) --configure-exts=ext/configure-ext.mk
|
||||||
|
|
||||||
ext/configure-ext.mk: $(PREP) all-incs $(MKFILES) $(RBCONFIG) $(LIBRUBY) \
|
ext/configure-ext.mk: $(PREP) all-incs $(MKFILES) $(RBCONFIG) $(LIBRUBY) \
|
||||||
$(srcdir)/template/configure-ext.mk.tmpl
|
$(srcdir)/template/configure-ext.mk.tmpl
|
||||||
|
@ -12,10 +12,16 @@ notes = {}
|
|||||||
rubies = []
|
rubies = []
|
||||||
exeext = RbConfig::CONFIG['EXEEXT']
|
exeext = RbConfig::CONFIG['EXEEXT']
|
||||||
gnumake = false
|
gnumake = false
|
||||||
|
confexts = nil
|
||||||
opt = OptionParser.new do |o|
|
opt = OptionParser.new do |o|
|
||||||
o.on('--gnumake=BOOL') {|v| gnumake = v == 'yes'}
|
o.on('--gnumake=BOOL') {|v| gnumake = v == 'yes'}
|
||||||
|
o.on('--configure-exts=FILE') {|v| confexts = v}
|
||||||
o.order!(ARGV)
|
o.order!(ARGV)
|
||||||
end
|
end
|
||||||
|
confexts &&= File.read(confexts).scan(/^exts: (.*\.mk)/).flatten rescue nil
|
||||||
|
confexts ||= []
|
||||||
|
macros["old_extensions"] = []
|
||||||
|
|
||||||
contpat = /(?>(?>[^\\\n]|\\.)*\\\n)*(?>[^\\\n]|\\.)*/
|
contpat = /(?>(?>[^\\\n]|\\.)*\\\n)*(?>[^\\\n]|\\.)*/
|
||||||
Dir.glob("{ext,.bundle/gems}/*/exts.mk") do |e|
|
Dir.glob("{ext,.bundle/gems}/*/exts.mk") do |e|
|
||||||
gem = /\Agems(?=\/)/ =~ e
|
gem = /\Agems(?=\/)/ =~ e
|
||||||
@ -24,6 +30,7 @@ Dir.glob("{ext,.bundle/gems}/*/exts.mk") do |e|
|
|||||||
v.gsub!(/\\\n[ \t]*/, ' ')
|
v.gsub!(/\\\n[ \t]*/, ' ')
|
||||||
next if v.empty?
|
next if v.empty?
|
||||||
next if gem and n != "extensions"
|
next if gem and n != "extensions"
|
||||||
|
n = "old_extensions" if n == "extensions" and !confexts.include?(e)
|
||||||
v = v.split
|
v = v.split
|
||||||
m = macros[n] ||= []
|
m = macros[n] ||= []
|
||||||
case n
|
case n
|
||||||
@ -128,7 +135,8 @@ libencs:
|
|||||||
ext/extinit.<%=objext%>:
|
ext/extinit.<%=objext%>:
|
||||||
$(Q)$(MAKE)<%=mflags%> V=$(V) EXTINITS="$(EXTINITS)" $@
|
$(Q)$(MAKE)<%=mflags%> V=$(V) EXTINITS="$(EXTINITS)" $@
|
||||||
|
|
||||||
% exts = macros["extensions"].map {|e|e.chomp("/.")}.sort
|
% exts = (macros["extensions"] + macros["old_extensions"])
|
||||||
|
% exts.map! {|e|e.chomp("/.")}.sort
|
||||||
% targets.each do |tgt|
|
% targets.each do |tgt|
|
||||||
% exts.each do |d|
|
% exts.each do |d|
|
||||||
% t = "#{d}/#{tgt}"
|
% t = "#{d}/#{tgt}"
|
||||||
@ -158,3 +166,5 @@ extso:
|
|||||||
<%= k %>:<%= d.join(' ') %>
|
<%= k %>:<%= d.join(' ') %>
|
||||||
<%= n.join("") %>
|
<%= n.join("") %>
|
||||||
% end
|
% end
|
||||||
|
|
||||||
|
remove-old-extensions: $(old_extensions:/.=/distclean)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user