diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-09-01 15:55:13 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-09-01 15:55:13 +0000 |
commit | c06ec0bc3d9f5ddf5e7577303025ef208fdccab2 (patch) | |
tree | f5192495dc1236ff22aac3bb3e8749ac089fc0a8 /ext/extmk.rb | |
parent | cea6c9d2f548d3fea8af0d912306b271d7ec8001 (diff) | |
download | ruby-c06ec0bc3d9f5ddf5e7577303025ef208fdccab2.tar.gz |
extmk.rb: fix conflict of timestamp files
* ext/extmk.rb (timestamp_file): move extmk.rb specific tricks
from lib/mkmf.rb. keep RUBYCOMMONDIR prefix not to conflict
with a timestamp file in the toplevel.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/extmk.rb')
-rwxr-xr-x | ext/extmk.rb | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb index 0a7c589063..2f320a6737 100755 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -548,6 +548,12 @@ gems = Dir.glob(File.join(ext_prefix, ($extension || ''), '**/extconf.rb')).coll with_config(ext, &cond) }.sort +extend Module.new { + def timestamp_file(name, target_prefix = nil) + super.sub(%r[/\.extout\.(?:-\.)?], '/.') + end +} + dir = Dir.pwd FileUtils::makedirs('ext') Dir::chdir('ext') @@ -570,7 +576,7 @@ Dir.chdir('gems') extout = $extout unless gems.empty? def self.timestamp_file(name, target_prefix = nil) - name = @sodir if name == '$(TARGET_SO_DIR)' + name = "$(arch)/gems/#{@gemname}" if name == '$(TARGET_SO_DIR)' super end @@ -578,7 +584,7 @@ unless gems.empty? super(*args) do |conf| conf.find do |s| s.sub!(/^(TARGET_SO_DIR *= *)\$\(RUBYARCHDIR\)/) { - $1 + @sodir + "#{$1}$(extout)/gems/$(arch)/#{@gemname}" } end conf << %{ @@ -598,7 +604,7 @@ $(build_complete): $(TARGET_SO) end gems.each do |d| $extout = extout.dup - @sodir = "$(extout)/gems/$(arch)/#{d[%r{\A[^/]+}]}" + @gemname = d[%r{\A[^/]+}] extmake(d, 'gems') end $extout = extout |