summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-01-05 08:50:21 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-01-05 08:50:21 +0000
commit1fbea3bef7065455a760e512a5a908a21022536a (patch)
tree542b675cd0138eadddada7fe2d01b39f14ec990d /ext
parent15774ab1fbc7149adb9864817ed336375bfcc005 (diff)
* ext/extmk.rb (extmake): set $0 temporarily while loading
extconf.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/extmk.rb24
1 files changed, 14 insertions, 10 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb
index 1280daf118..f8e983ebf6 100644
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -66,14 +66,21 @@ def extmake(target)
$defs = []
Logging::logfile 'mkmf.log'
Config::CONFIG["srcdir"] = $srcdir
- if File.exist?("#{$srcdir}/makefile.rb")
- load "#{$srcdir}/makefile.rb"
- elsif File.exist?("#{$srcdir}/extconf.rb")
- load "#{$srcdir}/extconf.rb"
- else
- create_makefile(target)
+ begin
+ if File.exist?($0 = "#{$srcdir}/makefile.rb")
+ load $0
+ elsif File.exist?($0 = "#{$srcdir}/extconf.rb")
+ load $0
+ else
+ create_makefile(target)
+ end
+ rescue SystemExit
+ # ignore
+ ensure
+ rm_f "conftest*"
+ $0 = __FILE__
+ Config::CONFIG["srcdir"] = $top_srcdir
end
- Config::CONFIG["srcdir"] = $top_srcdir
end
end
if File.exist?("./Makefile")
@@ -96,10 +103,7 @@ def extmake(target)
$extlibs += " " + $libs unless $libs == ""
$extlibs += " " + $LOCAL_LIBS unless $LOCAL_LIBS == ""
end
- rescue SystemExit
- # ignore
ensure
- rm_f "conftest*"
Dir.chdir dir
end
true