diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-03-07 02:06:18 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-03-07 02:06:18 +0000 |
commit | aa68fd85b9c760b0281b7be803ae4a5505ca7090 (patch) | |
tree | 7221e11c4daf80787e1f3a7f7cb1c4dc62cc435f | |
parent | 6268830ba87bf80852f9a30d4cff7ad250c379dd (diff) |
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
-rwxr-xr-x | tool/expand-config.rb | 31 | ||||
-rw-r--r-- | win32/Makefile.sub | 5 |
2 files changed, 31 insertions, 5 deletions
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 diff --git a/win32/Makefile.sub b/win32/Makefile.sub index ac41e7c5b4..7d0fbf1b1b 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -1075,8 +1075,9 @@ end <<KEEP $(ruby_pc): $(RBCONFIG) - @$(MINIRUBY) -r./rbconfig $(srcdir)/tool/expand-config.rb \ - $(srcdir)/template/ruby.pc.in > $@ + @$(BOOTSTRAPRUBY) $(srcdir)/tool/expand-config.rb \ + -output=$@ -mode=$(INSTALL_DATA_MODE) -config=rbconfig.rb \ + $(srcdir)/template/ruby.pc.in {$(srcdir)/enc/trans}.c.obj: $(ECHO) compiling $(<:\=/) |