aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-01-10 21:19:58 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-01-31 06:33:16 +0900
commit3a7367ccc319499127ead147e5a08f769e44208e (patch)
treec76dd64b1da7c6725a79189259d9944259ddfd5f
parent344c16eba40457f937c6558299f52bc97d6f3ce7 (diff)
downloadruby-3a7367ccc319499127ead147e5a08f769e44208e.tar.gz
mkconfig: Map `includedir` only for system ruby
Only when installing to the system path on macOS, prepend '$(SDKROOT)' and remap `includedir`. Fix https://github.com/rbenv/ruby-build/discussions/2123
-rw-r--r--test/mkmf/test_config.rb4
-rw-r--r--test/test_rbconfig.rb9
-rwxr-xr-xtool/mkconfig.rb4
3 files changed, 5 insertions, 12 deletions
diff --git a/test/mkmf/test_config.rb b/test/mkmf/test_config.rb
index 3878db1964..93ebe3a4ea 100644
--- a/test/mkmf/test_config.rb
+++ b/test/mkmf/test_config.rb
@@ -7,9 +7,9 @@ require 'mkmf'
class TestMkmfConfig < Test::Unit::TestCase
def test_dir_config
bug8074 = '[Bug #8074]'
- lib = RbConfig.expand(RbConfig::MAKEFILE_CONFIG["libdir"], "exec_prefix"=>"")
+ lib = RbConfig.expand(RbConfig::MAKEFILE_CONFIG["libdir"], "exec_prefix"=>"/test/foo")
assert_separately %w[-rmkmf - -- --with-foo-dir=/test/foo], %{
- assert_equal(%w[/test/foo/include /test/foo#{lib}], dir_config("foo"), #{bug8074.dump})
+ assert_equal(%w[/test/foo/include #{lib}], dir_config("foo"), #{bug8074.dump})
}
end
end
diff --git a/test/test_rbconfig.rb b/test/test_rbconfig.rb
index fcbbbd8500..1bbf01b9a6 100644
--- a/test/test_rbconfig.rb
+++ b/test/test_rbconfig.rb
@@ -51,13 +51,4 @@ class TestRbConfig < Test::Unit::TestCase
assert_match(/\$\(sitearch|\$\(rubysitearchprefix\)/, val, "#{key} #{bug7823}")
end
end
-
- if /darwin/ =~ RUBY_PLATFORM
- def test_sdkroot
- assert_separately([{"SDKROOT" => "$(prefix)/SDKRoot"}], "#{<<~"begin;"}\n#{<<~'end;'}")
- begin;
- assert_equal RbConfig::CONFIG["prefix"]+"/SDKRoot", RbConfig::CONFIG["SDKROOT"]
- end;
- end
- end
end
diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb
index 29a70287d0..7a447fb234 100755
--- a/tool/mkconfig.rb
+++ b/tool/mkconfig.rb
@@ -278,7 +278,7 @@ EOS
print <<EOS if $unicode_emoji_version
CONFIG["UNICODE_EMOJI_VERSION"] = #{$unicode_emoji_version.dump}
EOS
-print <<EOS if /darwin/ =~ arch
+print prefix.start_with?("/System/") ? <<EOS : <<EOS if /darwin/ =~ arch
if sdkroot = ENV["SDKROOT"]
sdkroot = sdkroot.dup
elsif File.exist?(File.join(CONFIG["prefix"], "include")) ||
@@ -289,6 +289,8 @@ print <<EOS if /darwin/ =~ arch
end
CONFIG["SDKROOT"] = sdkroot
EOS
+ CONFIG["SDKROOT"] = ""
+EOS
print <<EOS
CONFIG["platform"] = #{platform || '"$(arch)"'}
CONFIG["archdir"] = "$(rubyarchdir)"