From 6268830ba87bf80852f9a30d4cff7ad250c379dd Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 7 Mar 2015 02:06:11 +0000 Subject: mkconfig.rb: without fake.rb * tool/mkconfig.rb: use arguments instead of built-in constants to work without fake.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- Makefile.in | 2 ++ common.mk | 5 +++-- tool/mkconfig.rb | 22 +++++++++++----------- win32/Makefile.sub | 4 ++++ 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/Makefile.in b/Makefile.in index bae07737e9..9c8dbced0f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -254,6 +254,8 @@ ruby_pc = @ruby_pc@ $(ruby_pc): @./config.status --file=$@:$(srcdir)/template/ruby.pc.in +$(RBCONFIG): $($(CROSS_COMPILING:no=)PREP) + install-cross: $(arch)-fake.rb $(RBCONFIG) rbconfig.rb $(arch_hdrdir)/ruby/config.h \ $(LIBRUBY_A) $(LIBRUBY_SO) $(ARCHFILE) $(ECHO) installing cross-compiling stuff diff --git a/common.mk b/common.mk index ad52f3c458..b84de9c519 100644 --- a/common.mk +++ b/common.mk @@ -588,8 +588,9 @@ extconf: $(PREP) $(Q) $(MAKEDIRS) "$(EXTCONFDIR)" $(RUNRUBY) -C "$(EXTCONFDIR)" $(EXTCONF) $(EXTCONFARGS) -$(RBCONFIG): $(srcdir)/tool/mkconfig.rb config.status $(srcdir)/version.h $(PREP) - $(Q)$(MINIRUBY) $(srcdir)/tool/mkconfig.rb -timestamp=$@ \ +$(RBCONFIG): $(srcdir)/tool/mkconfig.rb config.status $(srcdir)/version.h + $(Q)$(BOOTSTRAPRUBY) $(srcdir)/tool/mkconfig.rb -timestamp=$@ \ + -arch=$(arch) -version=$(ruby_version) \ -install_name=$(RUBY_INSTALL_NAME) \ -so_name=$(RUBY_SO_NAME) rbconfig.rb diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb index eea801074d..7919aec736 100755 --- a/tool/mkconfig.rb +++ b/tool/mkconfig.rb @@ -3,6 +3,8 @@ # avoid warnings with -d. $install_name ||= nil $so_name ||= nil +arch = $arch or raise "missing -arch" +version = $version or raise "missing -version" srcdir = File.expand_path('../..', __FILE__) $:.replace [srcdir+"/lib"] unless defined?(CROSS_COMPILING) @@ -16,7 +18,6 @@ unless File.directory?(dir = File.dirname(rbconfig_rb)) FileUtils.makedirs(dir, :verbose => true) end -version = RUBY_VERSION config = "" def config.write(arg) concat(arg.to_s) @@ -24,17 +25,7 @@ end $stdout = config fast = {'prefix'=>TRUE, 'ruby_install_name'=>TRUE, 'INSTALL'=>TRUE, 'EXEEXT'=>TRUE} -print %[ -# This file was created by #{mkconfig} when ruby was built. Any -# changes made to this file will be lost the next time ruby is built. - -module RbConfig - RUBY_VERSION.start_with?("#{version}"[/^[0-9]+[.][0-9]+[.]/]) or - raise "ruby lib version (#{version}) doesn't match executable version (\#{RUBY_VERSION})" - -] -arch = RUBY_PLATFORM win32 = /mswin/ =~ arch universal = /universal.*darwin/ =~ arch v_fast = [] @@ -175,6 +166,15 @@ end prefix = vars.expand(vars["prefix"] ||= "") rubyarchdir = vars.expand(vars["rubyarchdir"] ||= "") relative_archdir = rubyarchdir.rindex(prefix, 0) ? rubyarchdir[prefix.size..-1] : rubyarchdir +puts %[\ +# This file was created by #{mkconfig} when ruby was built. Any +# changes made to this file will be lost the next time ruby is built. + +module RbConfig + RUBY_VERSION.start_with?("#{version}"[/^[0-9]+[.][0-9]+[.]/]) or + raise "ruby lib version (#{version}) doesn't match executable version (\#{RUBY_VERSION})" + +] print " TOPDIR = File.dirname(__FILE__).chomp!(#{relative_archdir.dump})\n" print " DESTDIR = ", (drive ? "TOPDIR && TOPDIR[/\\A[a-z]:/i] || " : ""), "'' unless defined? DESTDIR\n" print <<'ARCH' if universal diff --git a/win32/Makefile.sub b/win32/Makefile.sub index c797270255..ac41e7c5b4 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -1045,6 +1045,10 @@ clean-enc distclean-enc realclean-enc: @-$(MAKE) -f $(ENC_MK) $(MFLAGS) V=$(V) $(@:-enc=) !endif +!if "$(CROSS_COMPILING)" == "no" +$(RBCONFIG): $(PREP) +!endif + $(RCFILES): $(RBCONFIG) $(srcdir)/revision.h $(srcdir)/win32/resource.rb @$(MINIRUBY) $(srcdir)/win32/resource.rb \ -ruby_name=$(RUBY_INSTALL_NAME) \ -- cgit v1.2.3