summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/extmk.rb15
1 files changed, 9 insertions, 6 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb
index 26651195a1..5d85d2d97b 100644
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -350,12 +350,15 @@ end unless $extstatic
ext_prefix = "#{$top_srcdir}/ext"
exts = $static_ext.sort_by {|t, i| i}.collect {|t, i| t}
-exts |= $extension if $extension
-exts |= Dir.glob("#{ext_prefix}/*/**/extconf.rb").collect {|d|
- d = File.dirname(d)
- d.slice!(0, ext_prefix.length + 1)
- d
-}.sort unless $extension
+if $extension
+ exts |= $extension.select {|d| File.directory?("#{ext_prefix}/#{d}")}
+else
+ exts |= Dir.glob("#{ext_prefix}/*/**/extconf.rb").collect {|d|
+ d = File.dirname(d)
+ d.slice!(0, ext_prefix.length + 1)
+ d
+ }.sort
+end
if $extout
Config.expand(extout = "#$extout", Config::CONFIG.merge("topdir"=>$topdir))