Annoyingly unhelpful messages from lib/File/Temp/t/security.t
[p5sagit/p5-mst-13.2.git] / Makefile.SH
index 9fa3257..77d67b4 100644 (file)
@@ -96,26 +96,33 @@ true)
            ldlibpth=`echo $ldlibpth | sed 's/:*$//'`
            ;;
         esac
-       ;;
-*)     pldlflags=''
-       static_target='static'
-       ;;
-esac
 
-case "$ldlibpth" in
-# Protect any spaces
-*" "*) ldlibpth=`echo $ldlibpth|sed 's/ /\\\\ /g'` ;;
-esac
+       case "$ldlibpth" in
+       # Protect any spaces
+       *" "*) ldlibpth=`echo $ldlibpth|sed 's/ /\\\\ /g'` ;;
+       esac
 
-case "$osname" in
-linux)
-       case "$useshrplib" in
-       true)
-           ldlibpth="LD_PRELOAD=\"\$\$LD_PRELOAD `pwd`/$libperl\" $ldlibpth"
-           ;;
+       case "$osname" in
+       linux)
+               rm -f preload
+               cat <<'EOT' > preload
+#! /bin/sh
+lib=$1
+shift
+test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD"
+exec "$@"
+EOT
+               chmod 755 preload
+               ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
+               ;;
+       os390)  test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
+               ;;
        esac
+
        ;;
-os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
+
+*)     pldlflags=''
+       static_target='static'
        ;;
 esac
 
@@ -457,7 +464,7 @@ PERLEXPORT          = perl.exp
        esac
        $spitshell >>Makefile <<'!NO!SUBS!'
 perl.exp: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH)
-       ./$(MINIPERLEXP) makedef.pl PLATFORM=aix | sort -u | sort -f > perl.exp.tmp
+       ./$(MINIPERLEXP) makedef.pl PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" | sort -u | sort -f > perl.exp.tmp
        sh mv-if-diff perl.exp.tmp perl.exp
 
 !NO!SUBS!
@@ -467,7 +474,7 @@ os2)
 MINIPERLEXP            = miniperl
 
 perl5.def: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) miniperl.map
-       ./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) > perl.exp.tmp
+       ./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) CC_FLAGS="$(OPTIMIZE)" > perl.exp.tmp
        sh mv-if-diff perl.exp.tmp perl5.def
 
 !NO!SUBS!
@@ -539,11 +546,32 @@ 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
+               $spitshell >>Makefile <<!NO!SUBS!
+NAMESPACEFLAGS = -force_flat_namespace
+!NO!SUBS!
+                      ;;
+                   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
+!NO!SUBS!
+               ;;
        *)
                $spitshell >>Makefile <<'!NO!SUBS!'
 miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
        -@rm -f miniperl.xok
-       $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl \
+       $(CC) $(CLDFLAGS) -o miniperl \
            miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs)
        $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
 !NO!SUBS!
@@ -554,18 +582,18 @@ miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
 
 perl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT)
        -@rm -f miniperl.xok
-       $(SHRPENV) $(LDLIBPTH) $(CC) -o perl$(PERL_SUFFIX) $(PERL_PROFILE_LDFLAGS) $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
+       $(SHRPENV) $(CC) -o perl$(PERL_SUFFIX) $(PERL_PROFILE_LDFLAGS) $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
 # Purify/Quantify Perls.
 
 pureperl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT)
-       $(SHRPENV) $(LDLIBPTH) purify $(CC) -o pureperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
+       $(SHRPENV) purify $(CC) -o pureperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
 purecovperl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT)
-       $(SHRPENV) $(LDLIBPTH) purecov $(CC) -o purecovperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
+       $(SHRPENV) purecov $(CC) -o purecovperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
 quantperl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT)
-       $(SHRPENV) $(LDLIBPTH) quantify $(CC) -o quantperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
+       $(SHRPENV) quantify $(CC) -o quantperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
 # Third Degree Perl (Tru64 only)
 
@@ -652,7 +680,7 @@ microperl:
 # has been invoked correctly.
 
 suidperl$(EXE_EXT): $& sperl$(OBJ_EXT) perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT)
-       $(SHRPENV) $(LDLIBPTH) $(CC) -o suidperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) sperl$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
+       $(SHRPENV) $(CC) -o suidperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) sperl$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
 !NO!SUBS!
 
@@ -853,6 +881,15 @@ regen_pods:        FORCE
 
 regen_all: $(PERLYVMS) regen regen_pods
 
+.PHONY:        manisort manicheck
+
+manisort:      FORCE
+       LC_ALL=C sort -fc MANIFEST || (echo "WARNING: re-sorting MANIFEST"; \
+               LC_ALL=C sort -fo MANIFEST MANIFEST)
+
+manicheck:     FORCE
+       perl Porting/manicheck
+
 # Extensions:
 # Names added to $(dynamic_ext) or $(static_ext) or $(nonxs_ext) will
 # automatically get built.  There should ordinarily be no need to change
@@ -944,6 +981,7 @@ _cleaner2:
        rm -f lib/.exists lib/*/.exists lib/*/*/.exists
        rm -f h2ph.man pstruct
        rm -rf .config
+       rm -f preload
        rm -f testcompile compilelog
        -rmdir lib/B lib/Data lib/Digest
        rm -rf lib/Encode
@@ -996,7 +1034,7 @@ makedepend: makedepend.SH config.sh
        test_tty test-tty _test_tty test_notty test-notty _test_notty \
        utest ucheck test.utf8 check.utf8 test.torture torturetest \
        test.third check.third utest.third ucheck.third test_notty.third \
-       test.deparse test_notty.deparse \
+       test.deparse test_notty.deparse test_harness \
        minitest coretest
 
 # Cannot delegate rebuilding of t/perl to make
@@ -1215,6 +1253,11 @@ os390|posix-bc)
             -e 's/y\.tab/perly/g' perly.c >perly.tmp && mv perly.tmp perly.c
         xxx="$xxx perly.c"
     fi
+    case "$osname:$usethreads" in
+    os390:define)
+       sed -e 's@^extern int yychar, yyerrflag;@/* extern int yychar, yyerrflag; */@' perly.c > perly.tmp && mv perly.tmp perly.c
+       ;;
+    esac
     if cmp -s y.tab.h perly.h; then
         rm -f y.tab.h
     else