summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-19 01:43:58 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-19 01:43:58 +0000
commit9648e68d88236f844ad927a636793ff7b73b9fa6 (patch)
tree3193cad3c94dd083043793f0caacd22e8b765557 /ext
parentc1ed63a4c4044fcf1c59fc3788bab233371f1e76 (diff)
* ext/extmk.rb (extract_makefile): remove no longer existing installed
files. * lib/mkmf.rb (install_dirs): return installation directory list. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/extmk.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb
index 6cd7ed5232..af292624ab 100644
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -56,9 +56,15 @@ def extract_makefile(makefile, keep = true)
newrb = install_rb(nil, "").collect {|d, *f| f}.flatten.sort
if target_prefix = m[/^target_prefix[ \t]*=[ \t]*\/(.*)/, 1]
target = "#{target_prefix}/#{target}"
- unless (oldrb -= newrb).empty?
- return false
+ end
+ unless oldrb == newrb
+ if $extout
+ newrb.each {|f| installrb.delete(f)}
+ config = CONFIG.dup
+ install_dirs(target_prefix).each {|var, val| config[var] = val}
+ FileUtils.rm_f(installrb.values.collect {|f| Config.expand(f, config)}, verbose: true)
end
+ return false
end
$target = target
/^STATIC_LIB[ \t]*=[ \t]*\S+/ =~ m or $static = nil