From 4dd9f3f81d8c81c96ff1ea0890ea55685f28b7e9 Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Tue, 1 Jul 2014 15:51:53 +0800 Subject: [PATCH 28/49] perl, perl-native, perl-ptest: upgrade from 5.14.3 to 5.20.0 Upstream-Status:Inappropriate [embedded specific] Signed-off-by: Hongxu Jia --- Makefile.SH | 147 ++++++++++++++++++++++++++++-------------------------------- 1 file changed, 68 insertions(+), 79 deletions(-) Index: perl-5.24.1/Makefile.SH =================================================================== --- perl-5.24.1.orig/Makefile.SH +++ perl-5.24.1/Makefile.SH @@ -48,10 +48,10 @@ case "$useshrplib" in true) # Prefix all runs of 'miniperl' and 'perl' with # $ldlibpth so that ./perl finds *this* shared libperl. - case "$LD_LIBRARY_PATH" in - '') ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `" ;; - *) ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `:` quote "$LD_LIBRARY_PATH" `" ;; - esac + #case "$LD_LIBRARY_PATH" in + #'') ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `" ;; + #*) ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `:` quote "$LD_LIBRARY_PATH" `" ;; + #esac pldlflags="$cccdlflags" static_ldflags='' @@ -131,10 +131,11 @@ true) *) eval "ldlibpthval=\"\$$ldlibpthname\"" - case "$ldlibpthval" in - '') ldlibpth="$ldlibpthname=` quote "$pwd" `" ;; - *) ldlibpth="$ldlibpthname=` quote "$pwd" `:` quote "$ldlibpthval" `" ;; - esac +# We compile in the library path in OE from cross-compile, so lets not do this +# case "$ldlibpthval" in +# '') ldlibpth="$ldlibpthname=` quote "$pwd" `" ;; +# *) ldlibpth="$ldlibpthname=` quote "$pwd" `:` quote "$ldlibpthval" `" ;; +# esac ;; esac @@ -150,18 +151,7 @@ true) # INSTALL file, under "Building a shared perl library". # If there is no pre-existing $libperl, we don't need # to do anything further. - if test -f $archlib/CORE/$libperl; then - 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" - fi + echo linux libraries overwritten by cross-compile patches ;; os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth" ;; @@ -596,13 +586,23 @@ splintfiles = $(c1) @echo `$(CCCMDSRC)` -S $*.c @`$(CCCMDSRC)` -S $*.c -all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make $(MANIFEST_SRT) - @echo " "; - @echo " Everything is up to date. Type '$(MAKE) test' to run test suite." - -$(MANIFEST_SRT): MANIFEST $(PERL_EXE) - @$(RUN_PERL) Porting/manisort -q || (echo "WARNING: re-sorting MANIFEST"; \ - $(RUN_PERL) Porting/manisort -q -o MANIFEST; sh -c true) +#all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make $(MANIFEST_SRT) +# @echo " "; +# @echo " Everything is up to date. Type '$(MAKE) test' to run test suite." + +all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) miniperl $(unidatafiles) + +more: $(generated_pods) $(private) $(public) + +more2: $(dynamic_ext) + +more3: $(nonxs_ext) + +more4: extras.make $(MANIFEST_SRT) + +$(MANIFEST_SRT): MANIFEST + @$(MINIPERL) Porting/manisort -q || (echo "WARNING: re-sorting MANIFEST"; \ + $(MINIPERL) Porting/manisort -q -o MANIFEST; sh -c true) @touch $(MANIFEST_SRT) .PHONY: all utilities @@ -611,7 +611,7 @@ $(MANIFEST_SRT): MANIFEST $(PERL_EXE) # by make_patchnum.pl. git_version.h: lib/Config_git.pl -lib/Config_git.pl: $(MINIPERL_EXE) make_patchnum.pl +lib/Config_git.pl: make_patchnum.pl $(MINIPERL) make_patchnum.pl # make sure that we recompile perl.c if the git version changes @@ -624,7 +624,7 @@ perl$(OBJ_EXT): git_version.h # loading, we need to build perl first. case "$usedl$static_cwd" in defineundef) - util_deps='$(MINIPERL_EXE) $(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE' + util_deps='$(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE' ;; definedefine) util_deps='$(PERL_EXE) $(CONFIGPM) FORCE' @@ -634,7 +634,7 @@ definedefine) esac $spitshell >>$Makefile <>$Makefile <<'!NO!SUBS!' -perlmain.c: $(MINIPERL_EXE) ext/ExtUtils-Miniperl/pm_to_blib +perlmain.c: ext/ExtUtils-Miniperl/lib/ExtUtils/Miniperl.pm $(MINIPERL) -Ilib -MExtUtils::Miniperl -e 'writemain(\"perlmain.c", @ARGV)' DynaLoader $(static_ext) # The file ext.libs is a list of libraries that must be linked in @@ -806,7 +806,7 @@ PERLEXPORT = perl.exp ;; esac $spitshell >>$Makefile <<'!NO!SUBS!' -perl.exp: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH) +perl.exp: makedef.pl $(CONFIGPM) $(SYM) $(SYMH) ./$(MINIPERLEXP) makedef.pl --sort-fold PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" > perl.exp !NO!SUBS! @@ -815,7 +815,7 @@ os2) $spitshell >>$Makefile <<'!NO!SUBS!' MINIPERLEXP = miniperl -perl5.def: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH) miniperl.map +perl5.def: makedef.pl $(CONFIGPM) $(SYM) $(SYMH) miniperl.map ./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) CC_FLAGS="$(OPTIMIZE)" > perl5.def !NO!SUBS! @@ -878,7 +878,7 @@ $(LIBPERL): $& $(perllib_objs) $(DYNALOA true) $spitshell >>$Makefile <<'!NO!SUBS!' rm -f $@ - $(LD) -o $@ $(SHRPLDFLAGS) $(perllib_objs) $(DYNALOADER) $(libs) + $(LD) -o $@ $(SHRPLDFLAGS) $(perllib_objs) $(DYNALOADER) $(libs) -Wl,-soname,libperl.so.5 !NO!SUBS! case "$osname" in aix) @@ -936,15 +936,19 @@ lib/buildcustomize.pl: $& $(miniperl_obj $spitshell >>$Makefile <<'!NO!SUBS!' lib/buildcustomize.pl: $& $(miniperl_objs) $(CC) -o $(MINIPERL_EXE) $(CLDFLAGS) $(miniperl_objs) $(libs) - $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' + mv -f miniperl miniperl-target + ln -s hostperl miniperl + #$(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' $(MINIPERL) -f write_buildcustomize.pl !NO!SUBS! ;; next4*) $spitshell >>$Makefile <<'!NO!SUBS!' lib/buildcustomize.pl: $& $(miniperl_objs) write ldcustomize.pl - $(CC) -o $(MINIPERL_EXE) $(miniperl_objs libs) - $(LDLIBPTH) ./miniperl$(HOST _EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' + $(CC) -o $(MINIPERL_EXE) $(miniperl_objs libs) + mv -f miniperl miniperl-target + ln -s hostperl miniperl + #$(LDLIBPTH) ./miniperl$(HOST _EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' $(MINIPERL) -f write_buildcustomize.pl !NO!SUBS! ;; @@ -966,7 +970,9 @@ lib/buildcustomize.pl: $& $(miniperl_obj -@rm -f miniperl.xok $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \ $(miniperl_objs) $(libs) - $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' + mv -f miniperl miniperl-target + ln -s hostperl miniperl + #$(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' $(MINIPERL) -f write_buildcustomize.pl !NO!SUBS! ;; @@ -977,7 +983,9 @@ lib/buildcustomize.pl: \$& \$(miniperl_o -@rm -f miniperl.xok -@rm \$(MINIPERL_EXE) \$(LNS) \$(HOST_PERL) \$(MINIPERL_EXE) - \$(LDLIBPTH) ./miniperl\$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' + mv -f miniperl miniperl-target + ln -s hostperl miniperl + #\$(LDLIBPTH) ./miniperl\$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' \$(MINIPERL) -f write_buildcustomize.pl 'osname' "$osname" !GROK!THIS! else @@ -986,7 +994,9 @@ lib/buildcustomize.pl: $& $(miniperl_obj -@rm -f miniperl.xok $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \ $(miniperl_objs) $(libs) - $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' + mv -f miniperl miniperl-target + ln -s hostperl miniperl + #$(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' $(MINIPERL) -f write_buildcustomize.pl !NO!SUBS! fi @@ -1036,7 +1046,7 @@ case "${osname}" in catamount) $spitshell >>$Makefile <>$Makefile <<'!NO!SUBS!' .PHONY: makeppport -makeppport: $(MINIPERL_EXE) $(CONFIGPM) $(nonxs_ext) +makeppport: $(CONFIGPM) $(nonxs_ext) $(MINIPERL) mkppport !NO!SUBS! @@ -1056,16 +1066,16 @@ esac $spitshell >>$Makefile <<'!NO!SUBS!' .PHONY: preplibrary -preplibrary: $(MINIPERL_EXE) $(CONFIGPM) $(PREPLIBRARY_LIBPERL) +preplibrary: $(CONFIGPM) $(PREPLIBRARY_LIBPERL) $(CONFIGPM_FROM_CONFIG_SH): $(CONFIGPOD) -$(CONFIGPOD): config.sh $(MINIPERL_EXE) configpm Porting/Glossary lib/Config_git.pl +$(CONFIGPOD): config.sh configpm Porting/Glossary lib/Config_git.pl $(MINIPERL) configpm unidatafiles $(unidatafiles) pod/perluniprops.pod: uni.data -uni.data: $(MINIPERL_EXE) $(CONFIGPM) lib/unicore/mktables $(nonxs_ext) +uni.data: $(CONFIGPM) lib/unicore/mktables $(nonxs_ext) $(MINIPERL) lib/unicore/mktables -C lib/unicore -P pod -maketest -makelist -p # Commented out so always runs, mktables looks at far more files than we # can in this makefile to decide if needs to run or not @@ -1074,12 +1084,12 @@ uni.data: $(MINIPERL_EXE) $(CONFIGPM) li # $(PERL_EXE) and ext because pod_lib.pl needs Digest::MD5 # But also this ensures that all extensions are built before we try to scan # them, which picks up Devel::PPPort's documentation. -pod/perltoc.pod: $(perltoc_pod_prereqs) $(PERL_EXE) $(ext) pod/buildtoc - $(RUN_PERL) -f pod/buildtoc -q +pod/perltoc.pod: $(perltoc_pod_prereqs) $(ext) pod/buildtoc + $(MINIPERL) -f pod/buildtoc -q pod/perlapi.pod: pod/perlintern.pod -pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc +pod/perlintern.pod: autodoc.pl embed.fnc $(MINIPERL) autodoc.pl pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST @@ -1089,7 +1099,7 @@ pod/perl5241delta.pod: pod/perldelta.pod $(RMS) pod/perl5241delta.pod $(LNS) perldelta.pod pod/perl5241delta.pod -extra.pods: $(MINIPERL_EXE) +extra.pods: -@test ! -f extra.pods || rm -f `cat extra.pods` -@rm -f extra.pods -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \ @@ -1133,8 +1143,7 @@ EOT $spitshell >>$Makefile <>$Makefile <<'!NO!SUBS!' install.perl: $(INSTALL_DEPENDENCE) installperl - $(HOST_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS) - -@test ! -s extras.lst || $(MAKE) extras.install - -install.man: all installman - $(HOST_PERL) installman --destdir=$(DESTDIR) $(INSTALLFLAGS) + ./hostperl -Ifake_config_library -Ilib -MConfig installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS) # XXX Experimental. Hardwired values, but useful for testing. # Eventually Configure could ask for some of these values. @@ -1166,24 +1171,8 @@ install.html: all installhtml else $spitshell >>$Makefile <<'!NO!SUBS!' install.perl: $(INSTALL_DEPENDENCE) installperl - $(RUN_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS) - -@test ! -s extras.lst || PATH="`pwd`:\${PATH}" PERL5LIB="`pwd`/lib" \$(RUN_PERL) -Ilib -MCPAN -e '@ARGV&&install(@ARGV)' `cat extras.lst` - -install.man: all installman - $(RUN_PERL) installman --destdir=$(DESTDIR) $(INSTALLFLAGS) + ./hostperl -Ifake_config_library -Ilib -MConfig installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS) -# XXX Experimental. Hardwired values, but useful for testing. -# Eventually Configure could ask for some of these values. -install.html: all installhtml - -@test -f README.vms && cd vms && $(LNS) ../README.vms README_vms.pod && cd .. - $(RUN_PERL) installhtml \ - --podroot=. --podpath=. --recurse \ - --htmldir=$(privlib)/html \ - --htmlroot=$(privlib)/html \ - --splithead=pod/perlipc \ - --splititem=pod/perlfunc \ - --ignore=Porting/Maintainers.pm,Porting/pumpkin.pod,Porting/repository.pod \ - --verbose !NO!SUBS! fi @@ -1275,13 +1264,13 @@ manicheck: FORCE # # DynaLoader may be needed for extensions that use Makefile.PL. -$(DYNALOADER): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary FORCE $(nonxs_ext) +$(DYNALOADER): lib/buildcustomize.pl preplibrary FORCE $(nonxs_ext) $(MINIPERL) make_ext.pl $@ $(MAKE_EXT_ARGS) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS) -d_dummy $(dynamic_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT) $(LIBPERL) +d_dummy $(dynamic_ext): lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT) $(LIBPERL) $(MINIPERL) make_ext.pl $@ $(MAKE_EXT_ARGS) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic -s_dummy $(static_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE +s_dummy $(static_ext): lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(MINIPERL) make_ext.pl $@ $(MAKE_EXT_ARGS) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS) n_dummy $(nonxs_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary FORCE @@ -1479,14 +1468,14 @@ test_prep_pre: preplibrary utilities $(n case "$targethost" in '') $spitshell >>$Makefile <<'!NO!SUBS!' -test_prep test-prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) \ +test_prep test-prep: test_prep_pre $(unidatafiles) $(PERL_EXE) \ $(dynamic_ext) $(TEST_PERL_DLL) runtests $(generated_pods) cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE)) !NO!SUBS! ;; *) $spitshell >>$Makefile <>$Makefile <<'!NO!SUBS!' -test_prep_reonly: $(MINIPERL_EXE) $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL) +test_prep_reonly: $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL) $(MINIPERL) make_ext.pl $(dynamic_ext_re) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE)) !NO!SUBS! @@ -1600,7 +1589,7 @@ minitest_prep: MINITEST_TESTS = base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t -minitest: $(MINIPERL_EXE) minitest_prep +minitest: minitest_prep - cd t && $(RUN_PERL) TEST $(MINITEST_TESTS) <$(devtty) minitest-notty minitest_notty: $(MINIPERL_EXE) minitest_prep