From: Jarkko Hietaniemi Date: Mon, 12 May 2003 05:25:14 +0000 (+0000) Subject: Panther preparation. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=cb3fc4263509f28c87c21a0ddac50efa1bb80122;p=p5sagit%2Fp5-mst-13.2.git Panther preparation. p4raw-id: //depot/perl@19500 --- diff --git a/Makefile.SH b/Makefile.SH index 173bfec..3d60f10 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -546,6 +546,25 @@ miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT) $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '' || $(MAKE) minitest !NO!SUBS! ;; + darwin*) + case "$osvers" in + [1-6].*) ;; + *) case "$ldflags" in + *"-flat_namespace"*) ;; + *) # to allow opmini.o to override stuff in libperl.dylib + namespaceflags="-force_flat_namespace" ;; + esac + ;; + esac + $spitshell >>Makefile <<'!NO!SUBS!' +miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT) + -@rm -f miniperl.xok + $(CC) $(CLDFLAGS) $(namespaceflags) -o miniperl \ + miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs) + $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '' || $(MAKE) minitest + $spitshell >>Makefile <<'!NO!SUBS!' +!NO!SUBS! + ;; *) $spitshell >>Makefile <<'!NO!SUBS!' miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT) diff --git a/hints/darwin.sh b/hints/darwin.sh index 5b8f38d..92963a7 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 ##