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.
This commit is contained in:
NARUSE, Yui 2022-12-24 18:59:45 +09:00
parent b9332ac8e7
commit 3fb1d49a1f

View File

@ -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)'
])