mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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
This commit is contained in:
parent
251d1d8bde
commit
bf224978a1
3 changed files with 35 additions and 20 deletions
|
@ -1,4 +1,4 @@
|
|||
Sun Feb 6 23:50:36 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
Mon Feb 7 00:13:38 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* ext/socket/extconf.rb: check if getaddrinfo() works fine only when
|
||||
wide-getaddrinfo option is not given. fixed: [ruby-dev:25422]
|
||||
|
@ -19,6 +19,9 @@ Sun Feb 6 23:50:36 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|||
* lib/mkmf.rb (dir_config): accept arrays of directory names as
|
||||
default values.
|
||||
|
||||
* mkconfig.rb: no longer embed srcdir and compile_dir into
|
||||
rbconfig.rb.
|
||||
|
||||
Sun Feb 6 19:23:01 2005 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||
|
||||
* eval.c (stack_extend): add prototype because VC++8 doesn't
|
||||
|
|
19
ext/extmk.rb
19
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 ".."
|
||||
|
|
31
mkconfig.rb
31
mkconfig.rb
|
@ -1,16 +1,19 @@
|
|||
#!./miniruby -s
|
||||
|
||||
# avoid warnings with -d.
|
||||
$srcdir ||= nil
|
||||
$install_name ||= nil
|
||||
$so_name ||= nil
|
||||
|
||||
require File.dirname($0)+"/lib/ftools"
|
||||
srcdir = File.dirname(__FILE__)
|
||||
$:.replace [srcdir+"/lib", "."]
|
||||
|
||||
require "fileutils"
|
||||
mkconfig = File.basename($0)
|
||||
|
||||
rbconfig_rb = ARGV[0] || 'rbconfig.rb'
|
||||
srcdir = $srcdir || '.'
|
||||
File.makedirs(File.dirname(rbconfig_rb), true)
|
||||
unless File.directory?(dir = File.dirname(rbconfig_rb))
|
||||
FileUtils.makedirs(dir, :verbose => true)
|
||||
end
|
||||
|
||||
version = RUBY_VERSION
|
||||
rbconfig_rb_tmp = rbconfig_rb + '.tmp'
|
||||
|
@ -52,17 +55,12 @@ File.foreach "config.status" do |line|
|
|||
v_others << v
|
||||
end
|
||||
has_version = true if name == "MAJOR"
|
||||
elsif /^(?:ac_given_)?srcdir=(.*)/ =~ line
|
||||
srcdir = $1.strip
|
||||
elsif /^ac_given_INSTALL=(.*)/ =~ line
|
||||
v_fast << " CONFIG[\"INSTALL\"] = " + $1 + "\n"
|
||||
end
|
||||
# break if /^CEOF/
|
||||
end
|
||||
|
||||
srcdir = File.expand_path(srcdir)
|
||||
v_fast.unshift(" CONFIG[\"srcdir\"] = \"" + srcdir + "\"\n")
|
||||
|
||||
v_fast.collect! do |x|
|
||||
if /"prefix"/ === x
|
||||
x.sub(/= (.*)/, '= (TOPDIR || DESTDIR + \1)')
|
||||
|
@ -111,7 +109,7 @@ print <<EOS
|
|||
CONFIG["archdir"] = "$(rubylibdir)/$(arch)"
|
||||
CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)"
|
||||
CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)"
|
||||
CONFIG["compile_dir"] = "#{Dir.pwd}"
|
||||
CONFIG["topdir"] = File.dirname(__FILE__)
|
||||
MAKEFILE_CONFIG = {}
|
||||
CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup}
|
||||
def Config::expand(val, config = CONFIG)
|
||||
|
@ -137,6 +135,17 @@ EOS
|
|||
$stdout.flush
|
||||
$stdout.reopen($orgout)
|
||||
config.close
|
||||
File.rename(rbconfig_rb_tmp, rbconfig_rb)
|
||||
if $timestamp and
|
||||
File.exist?(rbconfig_rb) and
|
||||
FileUtils.compare_file(rbconfig_rb, rbconfig_rb_tmp)
|
||||
puts "#{rbconfig_rb} unchanged"
|
||||
File.unlink(rbconfig_rb_tmp)
|
||||
else
|
||||
puts "#{rbconfig_rb} updated"
|
||||
File.rename(rbconfig_rb_tmp, rbconfig_rb)
|
||||
end
|
||||
if String === $timestamp
|
||||
FileUtils.touch($timestamp)
|
||||
end
|
||||
|
||||
# vi:set sw=2:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue