summaryrefslogtreecommitdiff
path: root/test/fiddle
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-08-24 13:12:06 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-08-24 16:18:24 +0900
commitbcc5a2b67eb10836aa54279d88230b3cb349a2e3 (patch)
treea0a85c23b7fd20cc03d4ab005e34a168a35b360c /test/fiddle
parent0f1e8f38c9cd008eb24e6c957388a183eac910ca (diff)
[ruby/fiddle] Simplify libc and libm path logics (https://github.com/ruby/fiddle/pull/91)
* Simplify libc_so and libm_so If nil, no need to set to nil. * Get rid of repeating inversions https://github.com/ruby/fiddle/commit/4323e689d8
Diffstat (limited to 'test/fiddle')
-rw-r--r--test/fiddle/helper.rb11
1 files changed, 5 insertions, 6 deletions
diff --git a/test/fiddle/helper.rb b/test/fiddle/helper.rb
index a6e2019924..f7143f2422 100644
--- a/test/fiddle/helper.rb
+++ b/test/fiddle/helper.rb
@@ -56,6 +56,8 @@ when /mingw/, /mswin/
libc_so = libm_so = "#{crtname}.dll"
when /darwin/
libc_so = libm_so = "/usr/lib/libSystem.B.dylib"
+ # macOS 11.0+ removed libSystem.B.dylib from /usr/lib. But It works with dlopen.
+ rigid_path = true
when /kfreebsd/
libc_so = "/lib/libc.so.0.1"
libm_so = "/lib/libm.so.1"
@@ -131,12 +133,9 @@ else
end
end
-libc_so = nil if !libc_so || (libc_so[0] == ?/ && !File.file?(libc_so))
-libm_so = nil if !libm_so || (libm_so[0] == ?/ && !File.file?(libm_so))
-
-# macOS 11.0+ removed libSystem.B.dylib from /usr/lib. But It works with dlopen.
-if RUBY_PLATFORM =~ /darwin/
- libc_so = libm_so = "/usr/lib/libSystem.B.dylib"
+unless rigid_path
+ libc_so = nil if libc_so && libc_so[0] == ?/ && !File.file?(libc_so)
+ libm_so = nil if libm_so && libm_so[0] == ?/ && !File.file?(libm_so)
end
if !libc_so || !libm_so