[前][次][番号順一覧][スレッド一覧]

ruby-changes:74222

From: Nobuyoshi <ko1@a...>
Date: Mon, 24 Oct 2022 17:48:55 +0900 (JST)
Subject: [ruby-changes:74222] 711b2ed5fe (master): Make the timestamp path correspond to the bundled target path

https://git.ruby-lang.org/ruby.git/commit/?id=711b2ed5fe

From 711b2ed5fe7abcb44a2432cb5f0e70861bf95aef Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Mon, 24 Oct 2022 12:49:45 +0900
Subject: 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.
---
 ext/extmk.rb | 9 +++++++--
 1 file 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 { https://github.com/ruby/ruby/blob/trunk/ext/extmk.rb#L536
 
   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)
-- 
cgit v1.2.3


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]