Panther preparation.
Jarkko Hietaniemi [Mon, 12 May 2003 05:25:14 +0000 (05:25 +0000)]
p4raw-id: //depot/perl@19500

Makefile.SH
hints/darwin.sh

index 173bfec..3d60f10 100644 (file)
@@ -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)
index 5b8f38d..92963a7 100644 (file)
@@ -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
 ##