Make the timestamp path correspond to the bundled target path

So different timestamps for different paths will be used.  Extentions
paths in bundled gems contain `ruby_version`, which includes the ABI
version, and the same timestamp file for different paths resulted in
build failures when it changed.
This commit is contained in:
Nobuyoshi Nakada 2022-10-24 12:49:45 +09:00
parent 3af373285b
commit 711b2ed5fe
No known key found for this signature in database
GPG Key ID: 7CD2805BFA3770C6
1 changed files with 7 additions and 2 deletions

View File

@ -536,9 +536,14 @@ extend Module.new {
def timestamp_file(name, target_prefix = nil)
if @gemname and name == '$(TARGET_SO_DIR)'
name = "$(arch)/gems/#{@gemname}#{target_prefix}"
gem = true
name = "$(gem_platform)/$(ruby_version)/gems/#{@gemname}#{target_prefix}"
end
super.sub(%r[/\.extout\.(?:-\.)?], '/.')
path = super.sub(%r[/\.extout\.(?:-\.)?], '/.')
if gem
nil while path.sub!(%r[/\.(gem_platform|ruby_version)\.-(?=\.)], '/$(\1)/')
end
path
end
def configuration(srcdir)