diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-01-16 12:19:09 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-01-16 12:19:09 +0000 |
commit | 62e41d3f2e48422bbdf1bb2db83ae60b255b1a1a (patch) | |
tree | 4d0edb1c1986e1578b181ebe2441acfee27f1fab /mkconfig.rb | |
parent | 3db12e8b236ac8f88db8eb4690d10e4a3b8dbcd4 (diff) | |
download | ruby-62e41d3f2e48422bbdf1bb2db83ae60b255b1a1a.tar.gz |
Initial revision
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'mkconfig.rb')
-rw-r--r-- | mkconfig.rb | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/mkconfig.rb b/mkconfig.rb new file mode 100644 index 0000000000..5232943d8d --- /dev/null +++ b/mkconfig.rb @@ -0,0 +1,77 @@ +#!./miniruby + +require File.dirname($0)+"/lib/ftools" + +rbconfig_rb = ARGV[0] || 'rbconfig.rb' +File.makedirs(File.dirname(rbconfig_rb), true) + +version = VERSION +config = open(rbconfig_rb, "w") +$stdout.reopen(config) + +fast = {'prefix'=>TRUE, 'INSTALL'=>TRUE, 'binsuffix'=>TRUE} +print %[ +module Config + + VERSION == "#{version}" or + raise "ruby lib version (#{version}) doesn't match executable version (\#{VERSION})" + +# This file was created by configrb when ruby was built. Any changes +# made to this file will be lost the next time ruby is built. +] + +print " CONFIG = {}\n" +v_fast = [] +v_others = [] +File.foreach "config.status" do |$_| + next if /^#/ + if /^s%@program_transform_name@%s,(.*)%g$/ + ptn = $1.sub(/\$\$/, '$').split(/,/) + v_fast << " CONFIG[\"ruby_install_name\"] = \"" + "ruby".sub(ptn[0],ptn[1]) + "\"\n" + elsif /^s%@(\w+)@%(.*)%g/ + name = $1 + val = $2 || "" + next if name =~ /^(INSTALL|DEFS|configure_input|srcdir|top_srcdir)$/ + v = " CONFIG[\"" + name + "\"] = " + + val.sub(/^\s*(.*)\s*$/, '"\1"').gsub(/\$\{?([^}]*)\}?/) { + "\#{CONFIG[\\\"#{$1}\\\"]}" + } + "\n" + if fast[name] + v_fast << v + else + v_others << v + end + if /DEFS/ + val.split(/\s*-D/).each do |i| + if i =~ /(.*)=(\\")?([^\\]*)(\\")?/ + key, val = $1, $3 + if val == '1' + val = "TRUE" + else + val.sub! /^\s*(.*)\s*$/, '"\1"' + end + print " CONFIG[\"#{key}\"] = #{val}\n" + end + end + end + elsif /^ac_given_srcdir=(.*)/ + path = $1 + cwd = Dir.pwd + begin + Dir.chdir path + v_fast << " CONFIG[\"srcdir\"] = \"" + Dir.pwd + "\"\n" + ensure + Dir.chdir cwd + end + elsif /^ac_given_INSTALL=(.*)/ + v_fast << " CONFIG[\"INSTALL\"] = " + $1 + "\n" + end +# break if /^CEOF/ +end + +print v_fast, v_others +Dir.chdir File.dirname($0) +print " CONFIG[\"compile_dir\"] = \"#{Dir.pwd}\"\n" +print "end\n" +config.close +# vi:set sw=2: |