From aa68fd85b9c760b0281b7be803ae4a5505ca7090 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 7 Mar 2015 02:06:18 +0000 Subject: expand-config.rb: without fake.rb * win32/Makefile.sub (ruby_pc): without fake.rb. * tool/expand-config.rb: no longer depends on fake.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- tool/expand-config.rb | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) (limited to 'tool/expand-config.rb') diff --git a/tool/expand-config.rb b/tool/expand-config.rb index fb2edd02e8..c132d4afaa 100755 --- a/tool/expand-config.rb +++ b/tool/expand-config.rb @@ -1,7 +1,32 @@ -STDOUT.binmode +#!./miniruby -s + +config = File.read(conffile = $config) +config.sub!(/^(\s*)RUBY_VERSION\b.*(\sor\s*)$/, '\1true\2') +rbconfig = Module.new {module_eval(config, conffile)}::RbConfig +config = $expand ? rbconfig::CONFIG : rbconfig::MAKEFILE_CONFIG +config["RUBY_RELEASE_DATE"] ||= + File.read(File.expand_path("../../version.h", __FILE__))[/^\s*#\s*define\s+RUBY_RELEASE_DATE\s+"(.*)"/, 1] + +while /\A(\w+)=(.*)/ =~ ARGV[0] + config[$1] = $2 + ARGV.shift +end + +re = /@(#{config.keys.map {|k| Regexp.quote(k)}.join('|')})@/ + +if $output + output = open($output, "wb", $mode &&= $mode.oct) + output.chmod($mode) if $mode +else + output = STDOUT + output.binmode +end + ARGF.each do |line| line.gsub!(/@([a-z_]\w*)@/i) { - (RbConfig::MAKEFILE_CONFIG[$1] or "").gsub(/\$\((.+?)\)/, %Q[${\\1}]) + s = config.fetch($1, $expand ? $& : "") + s = s.gsub(/\$\((.+?)\)/, %Q[${\\1}]) unless $expand + s } - puts line + output.puts line end -- cgit v1.2.3