This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regcomp.c: Change ref to obsolete global var
[perl5.git] / Makefile.SH
index d86953a..e6c3eb7 100755 (executable)
@@ -435,7 +435,7 @@ SH_to_target() {
     echo $@ | sed -e s/\\\.SH//g -e s/_/./g
 }
 
-SH='Makefile.SH cflags.SH config_h.SH makedepend.SH myconfig.SH runtests.SH pod/Makefile.SH x2p/Makefile.SH'
+SH='Makefile.SH cflags.SH config_h.SH makedepend.SH myconfig.SH runtests.SH pod/Makefile.SH'
 shextract=`SH_to_target $SH`
 
 ## In the following dollars and backticks do not need the extra backslash.
@@ -491,7 +491,7 @@ mini_obj = $(minindt_obj) $(MINIDTRACE_O)
 ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
 obj = $(ndt_obj) $(DTRACE_O)
 
-perltoc_pod_prereqs = extra.pods pod/perl5199delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
+perltoc_pod_prereqs = extra.pods pod/perl5211delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
 generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
 generated_headers = uudmap.h bitcount.h mg_data.h
 
@@ -589,30 +589,15 @@ perl$(OBJ_EXT): git_version.h
 case "$usedl$static_cwd" in
 defineundef)
     util_deps='$(MINIPERL_EXE) $(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE'
-     x2p_deps="\$(MINIPERL_EXE) \$(CONFIGPM) \$(dynamic_ext) x2p/$firstmakefile FORCE"
     ;;
 definedefine)
     util_deps='$(PERL_EXE) $(CONFIGPM) FORCE'
-     x2p_deps="\$(PERL_EXE) \$(CONFIGPM) \$(dynamic_ext) x2p/$firstmakefile FORCE"
     ;;
 *)  util_deps='$(PERL_EXE) $(CONFIGPM) FORCE'
-     x2p_deps="\$(PERL_EXE) \$(CONFIGPM) x2p/$firstmakefile FORCE"
     ;;
 esac
 
 $spitshell >>$Makefile <<!GROK!THIS!
-x2p/$firstmakefile:    makedepend
-       cd x2p; \$(MAKE) depend
-
-translators:   $x2p_deps
-       @echo " "; echo "       Making x2p stuff"; cd x2p; \$(LDLIBPTH) \$(MAKE) all
-
-x2p/s2p: $x2p_deps
-       cd x2p; \$(LDLIBPTH) \$(MAKE) s2p
-
-x2p/find2perl: $x2p_deps
-       cd x2p; \$(LDLIBPTH) \$(MAKE) find2perl
-
 utils/Makefile: \$(MINIPERL_EXE) \$(CONFIGPM) utils/Makefile.PL
        \$(MINIPERL) -Ilib utils/Makefile.PL
 
@@ -668,27 +653,44 @@ globals$(OBJ_EXT): $(generated_headers)
 
 uudmap.h mg_data.h: bitcount.h
 
-bitcount.h: generate_uudmap$(HOST_EXE_EXT)
-       ./generate_uudmap$(HOST_EXE_EXT) $(generated_headers)
-
 generate_uudmap$(OBJ_EXT): mg_raw.h
 
 !NO!SUBS!
 
-if test "X$hostgenerate" != X; then
-       $spitshell >>$Makefile <<'!NO!SUBS!'
+# If hostgerenate isn't defined, then we have to build
+# generate_uudmap and run it. This can potentially mean running
+# it on the target system if we're cross-compiling.
+# If it is defined, then we just run it locally.
+case "$hostgenerate" in
+'')
+$spitshell >>$Makefile <<!GROK!THIS!
+bitcount.h: generate_uudmap\$(HOST_EXE_EXT)
+       $run ./generate_uudmap\$(HOST_EXE_EXT) \$(generated_headers)
+       -@for f in \$(generated_headers); do \\
+           $from \$\$f; \\
+       done
+
+!GROK!THIS!
+
+$spitshell >>$Makefile <<'!NO!SUBS!'
 generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT)
-       -@rm generate_uudmap$(HOST_EXE_EXT)
-       $(LNS) $(HOST_GENERATE) generate_uudmap$(HOST_EXE_EXT)
+       $(CC) -o generate_uudmap$(EXE_EXT) $(LDFLAGS) generate_uudmap$(OBJ_EXT) $(libs)
 
 !NO!SUBS!
-else
-       $spitshell >>$Makefile <<'!NO!SUBS!'
+;;
+*)
+$spitshell >>$Makefile <<'!NO!SUBS!'
+bitcount.h: generate_uudmap$(HOST_EXE_EXT)
+       ./generate_uudmap$(HOST_EXE_EXT) $(generated_headers)
+
 generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT)
-       $(CC) -o generate_uudmap$(EXE_EXT) $(LDFLAGS) generate_uudmap$(OBJ_EXT) $(libs)
+       -@rm generate_uudmap$(HOST_EXE_EXT)
+       $(LNS) $(HOST_GENERATE) generate_uudmap$(HOST_EXE_EXT)
 
 !NO!SUBS!
-fi
+;;
+esac
+
 
 $spitshell >>$Makefile <<'!NO!SUBS!'
 perlmain.c: $(MINIPERL_EXE) ext/ExtUtils-Miniperl/pm_to_blib
@@ -857,7 +859,7 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LIBPERLEXPORT)
 # lib/buildcustomize.pl despite the reality that lib/buildcustomize.pl needs
 # miniperl to exist first permits us to
 # a) have one rule generate both miniperl and lib/buildcustomize.pl
-#    (so that lib/buildcustomise.pl is always available. This simplifies things)
+#    (so that lib/buildcustomize.pl is always available. This simplifies things)
 # b) have the rest of the Makefile depend on the more obvious $(MINIPERL_EXE)
 
 $(MINIPERL_EXE): lib/buildcustomize.pl
@@ -999,9 +1001,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
 pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
        $(MINIPERL) pod/perlmodlib.PL -q
 
-pod/perl5199delta.pod: pod/perldelta.pod
-       $(RMS) pod/perl5199delta.pod
-       $(LNS) perldelta.pod pod/perl5199delta.pod
+pod/perl5211delta.pod: pod/perldelta.pod
+       $(RMS) pod/perl5211delta.pod
+       $(LNS) perldelta.pod pod/perl5211delta.pod
 
 extra.pods: $(MINIPERL_EXE)
        -@test ! -f extra.pods || rm -f `cat extra.pods`
@@ -1035,19 +1037,20 @@ install: install-all
 
 for name in all notify silent strip verbose; do
     flags="--$name";
+    flags=`echo $flags | sed -e 's/--all//'`
     if test "X$hostperl" != X; then
         $spitshell >>$Makefile <<EOT
 
 install_$name install-$name: \$(INSTALL_DEPENDENCE) installperl all installman
-       \$(HOST_PERL) installperl --destdir=\$(DESTDIR) ${flags%--all} \$(INSTALLFLAGS) \$(STRIPFLAGS)
-       \$(HOST_PERL) installman --destdir=\$(DESTDIR) ${flags%--all}
+       \$(HOST_PERL) installperl --destdir=\$(DESTDIR) $flags \$(INSTALLFLAGS) \$(STRIPFLAGS)
+       \$(HOST_PERL) installman --destdir=\$(DESTDIR) $flags
 EOT
     else
         $spitshell >>$Makefile <<EOT
 
 install_$name install-$name: \$(INSTALL_DEPENDENCE) installperl all installman
-       \$(RUN_PERL) installperl --destdir=\$(DESTDIR) ${flags%--all} \$(INSTALLFLAGS) \$(STRIPFLAGS)
-       \$(RUN_PERL) installman --destdir=\$(DESTDIR) ${flags%--all}
+       \$(RUN_PERL) installperl --destdir=\$(DESTDIR) $flags \$(INSTALLFLAGS) \$(STRIPFLAGS)
+       \$(RUN_PERL) installman --destdir=\$(DESTDIR) $flags
 EOT
     fi
 
@@ -1251,7 +1254,6 @@ _mopup:
 _tidy:
        -cd pod; $(LDLIBPTH) $(MAKE) clean
        -cd utils; $(LDLIBPTH) $(MAKE) clean
-       -cd x2p; $(LDLIBPTH) $(MAKE) clean
        -rm -f lib/Config_git.pl git_version.h
        -@for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) $(nonxs_ext) ; do \
        $(MINIPERL) make_ext.pl --target=clean $$x MAKE=$(MAKE) ; \
@@ -1261,7 +1263,6 @@ _cleaner1:
        -cd os2; rm -f Makefile
        -cd pod; $(LDLIBPTH) $(MAKE) $(CLEAN)
        -cd utils; $(LDLIBPTH) $(MAKE) $(CLEAN)
-       -cd x2p; $(LDLIBPTH) $(MAKE) $(CLEAN)
        -@if test -f $(MINIPERL_EXE) ; then \
        for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) $(nonxs_ext) ; do \
        $(MINIPERL) make_ext.pl --target=$(CLEAN) $$x MAKE=$(MAKE) ; \
@@ -1294,8 +1295,8 @@ _cleaner2:
        rm -rf pod/perlfunc pod/perlipc
        -rmdir ext/B/lib
        rm -f so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR)
-       -rmdir lib/version lib/threads lib/inc/latest lib/inc lib/encoding
-       -rmdir lib/autodie/exception lib/autodie lib/XS lib/Win32API lib/VMS
+       -rmdir lib/version lib/threads lib/encoding lib/autodie/exception
+       -rmdir lib/autodie/Scope lib/autodie lib/XS lib/Win32API lib/VMS
        -rmdir lib/Unicode/Collate/Locale lib/Unicode/Collate/CJK
        -rmdir lib/Unicode/Collate lib/Tie/Hash lib/Thread lib/Text
        -rmdir lib/Test/Builder/Tester lib/Test/Builder lib/Test lib/Term
@@ -1306,8 +1307,7 @@ _cleaner2:
        -rmdir lib/TAP/Formatter lib/TAP lib/Sys/Syslog lib/Sys lib/Search
        -rmdir lib/Scalar lib/Pod/Text lib/Pod/Simple lib/Pod/Perldoc
        -rmdir lib/PerlIO/via lib/PerlIO lib/Perl lib/Parse/CPAN lib/Parse
-       -rmdir lib/Params lib/Package lib/Net/FTP lib/Module/Load
-       -rmdir lib/Module/CoreList lib/Module/Build/Platform lib/Module/Build
+       -rmdir lib/Params lib/Net/FTP lib/Module/Load lib/Module/CoreList
        -rmdir lib/Module lib/Memoize lib/Math/BigInt lib/Math/BigFloat
        -rmdir lib/Math lib/MIME lib/Locale/Maketext lib/Locale/Codes
        -rmdir lib/Locale lib/List/Util lib/List lib/JSON/PP lib/JSON lib/IPC
@@ -1326,7 +1326,7 @@ _cleaner2:
        -rmdir lib/Encode lib/Digest lib/Devel lib/Data lib/Config/Perl
        -rmdir lib/Compress/Raw lib/Compress lib/Carp lib/CPAN/Meta
        -rmdir lib/CPAN/LWP lib/CPAN/Kwalify lib/CPAN/HTTP lib/CPAN/FTP
-       -rmdir lib/CPAN/Exception lib/CPAN/API lib/CPAN lib/CGI lib/Attribute
+       -rmdir lib/CPAN/Exception lib/CPAN/API lib/CPAN lib/Attribute
        -rmdir lib/Archive/Tar lib/Archive lib/App/Prove/State/Result
        -rmdir lib/App/Prove/State lib/App/Prove lib/App
 
@@ -1392,15 +1392,14 @@ test_prep_pre: preplibrary utilities $(nonxs_ext)
 case "$targethost" in
 '') $spitshell >>$Makefile <<'!NO!SUBS!'
 test_prep test-prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) \
-       $(dynamic_ext) $(TEST_PERL_DLL) runtests x2p/s2p x2p/find2perl \
-       $(generated_pods)
+       $(dynamic_ext) $(TEST_PERL_DLL) runtests $(generated_pods)
        cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
 
 !NO!SUBS!
 ;;
 *) $spitshell >>$Makefile <<!GROK!THIS!
 test_prep test-prep: test_prep_pre \$(MINIPERL_EXE) \$(unidatafiles) \$(PERL_EXE) \
-       \$(dynamic_ext) \$(TEST_PERL_DLL) runtests x2p/s2p x2p/find2perl \
+       \$(dynamic_ext) \$(TEST_PERL_DLL) runtests \
        \$(generated_pods)
        $to libperl.*
        $to t/*
@@ -1434,11 +1433,9 @@ test_prep test-prep: test_prep_pre \$(MINIPERL_EXE) \$(unidatafiles) \$(PERL_EXE
        $to config_h.SH
        $to perl.h
        $to cflags
-# --- For Module::Build
-       $to cpan/Module-Build/lib/*
        $to *.h
-# --- For t/x2p/s2p.t
-       $to x2p
+# --- For t/TEST
+       $to config.sh
 # --- For lib/diagnostics.t with -Duseshrplib
        $to \$(PERL_EXE)
        cd t && (rm -f \$(PERL_EXE); \$(LNS) ../\$(PERL_EXE) \$(PERL_EXE)) && cd ..
@@ -1465,7 +1462,7 @@ test check: test_prep
 *) $spitshell >>$Makefile <<!GROK!THIS!
 
 test check: test_prep
-       $run -cwd $targetdir/t -env LD_LIBRARY_PATH=$targetdir:$targetdir/lib:$targetdir/lib/auto ./TEST
+       $run -cwd $targetdir/t -env "$targetenv LD_LIBRARY_PATH=$targetdir:$targetdir/lib:$targetdir/lib/auto:\$\$LD_LIBRARY_PATH" ./TEST
 
 !GROK!THIS!
 ;;
@@ -1491,7 +1488,7 @@ test.valgrind check.valgrind:     test_prep
        @grep "^usemymalloc='n'" config.sh >/dev/null || exit 1
        @echo "And of course you have to have valgrind..."
        $(VALGRIND) $(VG_TEST) || exit 1
-       PERL_VALGRIND=1 VALGRIND='$(VALGRIND)' $(RUN_TESTS) choose
+       PERL_VALGRIND=1 VALGRIND='$(VALGRIND)' TESTFILE=harness $(RUN_TESTS) choose
 !NO!SUBS!
        ;;
 esac
@@ -1589,44 +1586,6 @@ define)
     echo "This is an EBCDIC system, checking if any parser files need regenerating." >&2
 case "$osname" in
 os390|posix-bc)
-    if cd x2p
-    then
-        rm -f y.tab.c y.tab.h
-        case "$osname" in
-        posix-bc)
-           # we are using two different yaccs in BS2000 Posix!
-           byacc a2p.y >/dev/null 2>&1
-           ;;
-        *) # e.g. os390
-           yacc  a2p.y >/dev/null 2>&1
-           ;;
-        esac
-        if cmp -s y.tab.c a2p.c
-        then
-            rm -f y.tab.c
-        else
-            echo "a2p.y -> a2p.c" >&2
-            mv -f y.tab.c a2p.c
-            chmod u+w a2p.c
-            sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
-               -e 's|^static void __YY_YACC_MAIN.*BS2000.*|/*static main deleted*/|' \
-                -e 's/y\.tab/a2p/g' a2p.c >a2p.tmp && mv a2p.tmp a2p.c
-            xxx="$xxx a2p.c"
-        fi
-        # In case somebody yacc -d:ed the a2p.y.
-        if test -f y.tab.h
-        then
-            if cmp -s y.tab.h a2p.h
-            then
-                rm -f y.tab.h
-            else
-                echo "a2p.h -> a2p.h" >&2
-                mv -f y.tab.h a2p.h
-                xxx="$xxx a2p.h"
-            fi
-        fi
-        cd ..
-    fi
     ;;
 *)
     echo "'$osname' is an EBCDIC system I don't know that well." >&4