diff options
Diffstat (limited to 'hints/darwin.sh')
-rw-r--r-- | hints/darwin.sh | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/hints/darwin.sh b/hints/darwin.sh index 5b8f38d0ae..92963a7579 100644 --- a/hints/darwin.sh +++ b/hints/darwin.sh @@ -119,13 +119,32 @@ dlsrc='dl_dyld.xs'; usedl='define'; cccdlflags=' '; # space, not empty, because otherwise we get -fpic # Perl bundles do not expect two-level namespace, added in Darwin 1.4. case "$osvers" in - 1.[0-3].*) ;; - *) ldflags="${ldflags} -flat_namespace" ;; +1.[0-3].*) + lddlflags="${ldflags} -bundle -undefined suppress" + ;; +1.*|[2-6].*) + ldflags="${ldflags} -flat_namespace" + lddlflags="${ldflags} -bundle -undefined suppress" + ;; +*) + lddlflags="${ldflags} -bundle -undefined dynamic_lookup" + case "$ld" in + '') ld='MACOSX_DEPLOYMENT_TARGET=10.3 ld' ;; + esac esac -lddlflags="${ldflags} -bundle -undefined suppress"; ldlibpthname='DYLD_LIBRARY_PATH'; useshrplib='true'; +cat > UU/archname.cbu <<'EOCBU' +# This script UU/archname.cbu will get 'called-back' by Configure +# after it has otherwise determined the architecture name. +case "$ldflags" in +*"-flat_namespace"*) ;; # Backward compat. +# If we are using two-level namespace, we will munge the archname to show it. +*) archname="${archname}-2level" ;; +esac +EOCBU + ## # System libraries ## |