From 7096081ac2e59e6809fe804a14a69fa800cc8876 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 7 Jan 2018 02:49:27 +0000 Subject: extmk.rb: exclude recursively * ext/extmk.rb: exclude extension libraries recursively. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/extmk.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'ext/extmk.rb') diff --git a/ext/extmk.rb b/ext/extmk.rb index e83a0e5d8c..2cad5753ac 100755 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -496,13 +496,17 @@ cond = proc {|ext, *| } ($extension || %w[*]).each do |e| e = e.sub(/\A(?:\.\/)+/, '') - exts |= Dir.glob("#{ext_prefix}/#{e}/**/extconf.rb").collect {|d| + incl, excl = Dir.glob("#{ext_prefix}/#{e}/**/extconf.rb").collect {|d| d = File.dirname(d) d.slice!(0, ext_prefix.length + 1) d - }.find_all {|ext| + }.partition {|ext| with_config(ext, &cond) - }.sort + } + incl.sort! + excl.sort!.collect! {|d| d+"/"} + nil while incl.reject! {|d| excl << d+"/" if excl.any? {|e| d.start_with?(e)}} + exts |= incl if $LIBRUBYARG_SHARED.empty? and CONFIG["EXTSTATIC"] == "static" exts.delete_if {|d| File.fnmatch?("-*", d)} end -- cgit v1.2.3