diff options
| author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-10-24 12:49:45 +0900 |
|---|---|---|
| committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-10-24 17:47:59 +0900 |
| commit | 711b2ed5fe7abcb44a2432cb5f0e70861bf95aef (patch) | |
| tree | f0358cbdb120a5930785603a5ab9cf710bb9b391 | |
| parent | 3af373285b47d0fbb7ac1ccd6e007c6717d495b8 (diff) | |
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.
| -rwxr-xr-x | ext/extmk.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb index 939eb73565..73ee71fd37 100755 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -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) |
