summaryrefslogtreecommitdiff
path: root/ext/extmk.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-06 15:13:50 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-06 15:13:50 +0000
commitbf224978a136c5d31ab5cadf8dc53fbfbb71998e (patch)
treead2b6ea4eb6406880a83c292f63e1f80d2d5ace6 /ext/extmk.rb
parent251d1d8bde5196b00b43957ea175a15c3f986b48 (diff)
* mkconfig.rb: no longer embed srcdir and compile_dir into
rbconfig.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/extmk.rb')
-rw-r--r--ext/extmk.rb19
1 files changed, 11 insertions, 8 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb
index 62d1cf75af..88f5028a39 100644
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -36,6 +36,14 @@ def sysquote(x)
@quote ? x.quote : x
end
+def relative_from(path, base)
+ if File.expand_path(path) == File.expand_path(path, base)
+ path
+ else
+ File.join(base, path)
+ end
+end
+
def extmake(target)
print "#{$message} #{target}\n"
$stdout.flush
@@ -58,9 +66,7 @@ def extmake(target)
top_srcdir = $top_srcdir
topdir = $topdir
prefix = "../" * (target.count("/")+1)
- if File.expand_path(top_srcdir) != File.expand_path(top_srcdir, dir)
- $hdrdir = $top_srcdir = prefix + top_srcdir
- end
+ $hdrdir = $top_srcdir = relative_from(top_srcdir, prefix)
$topdir = prefix + $topdir
$target = target
$mdir = target
@@ -228,10 +234,7 @@ dir = Dir.pwd
FileUtils::makedirs('ext')
Dir::chdir('ext')
-if File.expand_path(srcdir) != File.expand_path(srcdir, dir)
- $hdrdir = $top_srcdir = "../" + srcdir
-end
-$topdir = ".."
+$hdrdir = $top_srcdir = relative_from(srcdir, $topdir = "..")
ext_prefix = "#{$top_srcdir}/ext"
Dir.glob("#{ext_prefix}/*/**/extconf.rb") do |d|
d = File.dirname(d)
@@ -295,7 +298,7 @@ SRC
end
rubies = []
%w[RUBY RUBYW].each {|r|
- config_string(r+"_INSTALL_NAME") {|r| rubies << r+EXEEXT}
+ config_string(r+"_INSTALL_NAME", Config::CONFIG) {|r| rubies << r+EXEEXT}
}
Dir.chdir ".."