From 68d5d0f372221e4772507842e0ec8fabef9d0d98 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 1 Sep 2016 05:24:19 +0000 Subject: extmk.rb: hacks for bundled gems * ext/extmk.rb (gems): move dirty hacks for bundled gems from mkmf.rb. * lib/mkmf.rb (create_makefile): yield all configuration strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/extmk.rb | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'ext/extmk.rb') diff --git a/ext/extmk.rb b/ext/extmk.rb index 848516d..0a7c589 100755 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -569,10 +569,22 @@ FileUtils::makedirs('gems') Dir.chdir('gems') extout = $extout unless gems.empty? + def self.timestamp_file(name, target_prefix = nil) + name = @sodir if name == '$(TARGET_SO_DIR)' + super + end + def self.create_makefile(*args, &block) - if super(*args, &block) - open("Makefile", "a") do |mf| - mf << %{ + super(*args) do |conf| + conf.find do |s| + s.sub!(/^(TARGET_SO_DIR *= *)\$\(RUBYARCHDIR\)/) { + $1 + @sodir + } + end + conf << %{ + +# default target +all: build_complete = $(TARGET_SO_DIR)gem.build_complete install-so: build_complete @@ -581,14 +593,12 @@ $(build_complete): $(TARGET_SO) $(Q) $(TOUCH) $@ } - end - true end end end gems.each do |d| $extout = extout.dup - $sodir = "$(extout)/gems/$(arch)/#{d[%r{\A[^/]+}]}" + @sodir = "$(extout)/gems/$(arch)/#{d[%r{\A[^/]+}]}" extmake(d, 'gems') end $extout = extout -- cgit v1.1