diff options
author | NARUSE, Yui <naruse@airemix.jp> | 2022-12-24 18:59:45 +0900 |
---|---|---|
committer | NARUSE, Yui <naruse@airemix.jp> | 2022-12-24 18:59:45 +0900 |
commit | 3fb1d49a1f1289142f3da8e876133bd7f459e4f6 (patch) | |
tree | a1a4304817d2b118ca8e8500250432377bdd0b8c /configure.ac | |
parent | b9332ac8e7126066ac4238443d63eaa4c06789f9 (diff) |
Revert "darwin: resolve rb symbols from ext by `-flat_namespace` to see libruby transitively"
This reverts commit c5eefb7f37db2865891298dd1a1e60dff09560ad.
Flat namespace breaks gems with C extention if its symbols conflict
with ohter libraries.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac index 5aa2ad60ca..218c441ff7 100644 --- a/configure.ac +++ b/configure.ac @@ -3053,9 +3053,14 @@ AC_SUBST(EXTOBJS) : ${LDFLAGS=""} : ${LIBPATHENV=DYLD_FALLBACK_LIBRARY_PATH} : ${PRELOADENV=DYLD_INSERT_LIBRARIES} - # When building exts as bundles, a mach-o bundle needs to know its loader - # program to bind symbols from the ruby executable - EXTDLDFLAGS="-bundle_loader '\$(BUILTRUBY)' -Wl,-flat_namespace" + AS_IF([test x"$enable_shared" = xyes], [ + # Resolve symbols from libruby.dylib when --enable-shared + EXTDLDFLAGS='$(LIBRUBYARG_SHARED)' + ], [test "x$EXTSTATIC" = x], [ + # When building exts as bundles, a mach-o bundle needs to know its loader + # program to bind symbols from the ruby executable + EXTDLDFLAGS="-bundle_loader '\$(BUILTRUBY)'" + ]) rb_cv_dlopen=yes], [aix*], [ : ${LDSHARED='$(CC)'} AS_IF([test "$GCC" = yes], [ @@ -3349,7 +3354,7 @@ AS_IF([test x"$cross_compiling" = xyes], [ AC_SUBST(XRUBY_RUBYLIBDIR) AC_SUBST(XRUBY_RUBYHDRDIR) PREP='$(arch)-fake.rb' - AS_CASE(["$target_os"], [darwin*], [ + AS_CASE(["$enable_shared:$EXTSTATIC:$target_os"], [no::darwin*], [ # darwin target requires miniruby for linking ext bundles PREP="$PREP"' miniruby$(EXEEXT)' ]) |