Skip to content

Commit

Permalink
mkconfig.rb: without fake.rb
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
nobu committed Mar 7, 2015
1 parent e9f3a59 commit 6268830
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 13 deletions.
2 changes: 2 additions & 0 deletions Makefile.in
Expand Up @@ -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
Expand Down
5 changes: 3 additions & 2 deletions common.mk
Expand Up @@ -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

Expand Down
22 changes: 11 additions & 11 deletions tool/mkconfig.rb
Expand Up @@ -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)
Expand All @@ -16,25 +18,14 @@
FileUtils.makedirs(dir, :verbose => true)
end

version = RUBY_VERSION
config = ""
def config.write(arg)
concat(arg.to_s)
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 = []
Expand Down Expand Up @@ -175,6 +166,15 @@ def vars.expand(val, config = self)
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
Expand Down
4 changes: 4 additions & 0 deletions win32/Makefile.sub
Expand Up @@ -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) \
Expand Down

0 comments on commit 6268830

Please sign in to comment.