Show
Ignore:
Timestamp:
02/09/04 14:10:55 (6 years ago)
Author:
zacheiss
Message:

Import perl 5.8.3.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/vendor/third/perl/Makefile.SH

    r18449 r20074  
    9797            ;; 
    9898        esac 
     99 
     100        case "$ldlibpth" in 
     101        # Protect any spaces 
     102        *" "*) ldlibpth=`echo $ldlibpth|sed 's/ /\\\\ /g'` ;; 
     103        esac 
     104 
     105        case "$osname" in 
     106        linux) 
     107            # If there is a pre-existing $libperl from a previous 
     108            # installation, Linux needs to use LD_PRELOAD to 
     109            # override the LD_LIBRARY_PATH setting.  See the 
     110            # INSTALL file, under "Building a shared perl library". 
     111            # If there is no pre-existing $libperl, we don't need 
     112            # to do anything further. 
     113            if test -f $archlib/CORE/$libperl; then 
     114                rm -f preload 
     115                cat <<'EOT' > preload 
     116#! /bin/sh 
     117lib=$1 
     118shift 
     119test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD" 
     120exec "$@" 
     121EOT 
     122                chmod 755 preload 
     123                ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl" 
     124            fi 
     125            ;; 
     126        os390)  test -f /bin/env && ldlibpth="/bin/env $ldlibpth" 
     127                ;; 
     128        esac 
     129 
    99130        ;; 
     131 
    100132*)      pldlflags='' 
    101133        static_target='static' 
    102         ;; 
    103 esac 
    104  
    105 case "$ldlibpth" in 
    106 # Protect any spaces 
    107 *" "*) ldlibpth=`echo $ldlibpth|sed 's/ /\\\\ /g'` ;; 
    108 esac 
    109  
    110 case "$osname" in 
    111 os390)  test -f /bin/env && ldlibpth="/bin/env $ldlibpth" 
    112134        ;; 
    113135esac 
     
    289311 
    290312pl = pod/pod2html.PL pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL \ 
    291         pod/pod2usage.PL pod/podchecker.PL pod/podselect.PL \ 
    292         pod/buildtoc.PL 
     313        pod/pod2usage.PL pod/podchecker.PL pod/podselect.PL 
    293314 
    294315# lib/lib.pm is not listed here because it has a rule of its own. 
    295316plextract = pod/pod2html pod/pod2latex pod/pod2man pod/pod2text \ 
    296         pod/pod2usage pod/podchecker pod/podselect \ 
    297         pod/buildtoc 
     317        pod/pod2usage pod/podchecker pod/podselect 
    298318 
    299319addedbyconf = UU $(shextract) $(plextract) lib/lib.pm pstruct 
    300320 
    301321h1 = EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h dosish.h 
    302 h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h 
    303 h3 = opcode.h patchlevel.h perl.h perlapi.h perly.h pp.h proto.h regcomp.h 
     322h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h opcode.h 
     323h3 = pad.h patchlevel.h perl.h perlapi.h perly.h pp.h proto.h regcomp.h 
    304324h4 = regexp.h scope.h sv.h unixish.h util.h iperlsys.h thread.h 
    305325h5 = utf8.h warnings.h 
     
    308328c1 = $(mallocsrc) av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c reentr.c 
    309329c2 = perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c 
    310 c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c xsutils.c 
     330c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c xsutils.c pad.c 
    311331c4 = globals.c perlio.c perlapi.c numeric.c locale.c pp_pack.c pp_sort.c 
    312332 
    313333c = $(c1) $(c2) $(c3) $(c4) miniperlmain.c perlmain.c 
    314334 
    315 obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) 
     335obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) 
    316336obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT) 
    317337obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) xsutils$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT) 
     
    451471        $spitshell >>Makefile <<'!NO!SUBS!' 
    452472perl.exp: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) 
    453         ./$(MINIPERLEXP) makedef.pl PLATFORM=aix | sort -u | sort -f > perl.exp.tmp 
     473        ./$(MINIPERLEXP) makedef.pl PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" | sort -u | sort -f > perl.exp.tmp 
    454474        sh mv-if-diff perl.exp.tmp perl.exp 
    455475 
     
    461481 
    462482perl5.def: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) miniperl.map 
    463         ./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) > perl.exp.tmp 
     483        ./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) CC_FLAGS="$(OPTIMIZE)" > perl.exp.tmp 
    464484        sh mv-if-diff perl.exp.tmp perl5.def 
    465485 
     
    481501        true) 
    482502                $spitshell >>Makefile <<'!NO!SUBS!' 
    483         $(LD) -o $@ $(SHRPLDFLAGS) perl$(OBJ_EXT) $(obj) 
     503        $(LD) -o $@ $(SHRPLDFLAGS) perl$(OBJ_EXT) $(obj) $(libs) 
    484504!NO!SUBS! 
    485505                case "$osname" in 
     
    533553!NO!SUBS! 
    534554                ;; 
     555        darwin*) 
     556                case "$osvers" in 
     557                [1-6].*) ;; 
     558                *) case "$ldflags" in 
     559                    *"-flat_namespace"*) ;; 
     560                    *) # to allow opmini.o to override stuff in libperl.dylib 
     561                $spitshell >>Makefile <<!NO!SUBS! 
     562NAMESPACEFLAGS = -force_flat_namespace 
     563!NO!SUBS! 
     564                       ;; 
     565                    esac 
     566                    ;; 
     567                esac 
     568                $spitshell >>Makefile <<'!NO!SUBS!' 
     569miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT) 
     570        -@rm -f miniperl.xok 
     571        $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o miniperl \ 
     572            miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs) 
     573        $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest 
     574!NO!SUBS! 
     575                ;; 
    535576        *) 
    536577                $spitshell >>Makefile <<'!NO!SUBS!' 
     
    560601quantperl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT) 
    561602        $(SHRPENV) $(LDLIBPTH) quantify $(CC) -o quantperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) 
     603 
     604# Valgrind perl (currently Linux only) 
     605 
     606perl.valgrind.config: config.sh 
     607        @echo "To build perl.valgrind you must Configure -Doptimize=-g -Uusemymalloc, checking..." 
     608        @$(MAKE) perl.config.dashg 
     609        @echo "Checking usemymalloc='n' in config.sh..." 
     610        @grep "^usemymalloc="    config.sh 
     611        @grep "^usemymalloc='n'" config.sh >/dev/null || exit 1 
     612        @echo "And of course you have to have valgrind..." 
     613        valgrind ./perl -e 1 2>/dev/null || exit 1 
    562614 
    563615# Third Degree Perl (Tru64 only) 
     
    710762        -@rm -f pod/perlvms.pod 
    711763        -@test -f vms/perlvms.pod && cd pod && $(LNS) ../vms/perlvms.pod perlvms.pod && cd .. && echo "pod/perlvms.pod" >> extra.pods 
     764        -@rm -f pod/perldelta.pod 
     765        -@test -f pod/perl583delta.pod && cd pod && $(LNS) perl583delta.pod perldelta.pod && cd .. && echo "pod/perldelta.pod" >> extra.pods 
    712766 
    713767extras.make: perl$(EXE_EXT) 
    714         -@test -s extras.lst && $(LDLIBPTH) PATH=`pwd`:${PATH} PERL5LIB=`pwd`/lib ./perl -Ilib -MCPAN -e '@ARGV&&make(@ARGV)' `cat extras.lst` 
     768        -@test -s extras.lst && PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&make(@ARGV)' `cat extras.lst` 
    715769 
    716770extras.test: perl$(EXE_EXT) 
    717         -@test -s extras.lst && $(LDLIBPTH) PATH=`pwd`:${PATH} PERL5LIB=`pwd`/lib ./perl -Ilib -MCPAN -e '@ARGV&&test(@ARGV)' `cat extras.lst` 
     771        -@test -s extras.lst && PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&test(@ARGV)' `cat extras.lst` 
    718772 
    719773extras.install: perl$(EXE_EXT) 
    720         -@test -s extras.lst && $(LDLIBPTH) PATH=`pwd`:${PATH} PERL5LIB=`pwd`/lib ./perl -Ilib -MCPAN -e '@ARGV&&install(@ARGV)' `cat extras.lst` 
     774        -@test -s extras.lst && PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&install(@ARGV)' `cat extras.lst` 
    721775 
    722776.PHONY: install install-strip install-all install-verbose install-silent \ 
    723777        no-install install.perl install.man install.html 
    724778 
     779META.yml:       Porting/makemeta Porting/Maintainers.pl Porting/Maintainers.pm 
     780        $(LDLIBPTH) ./miniperl -Ilib Porting/makemeta 
     781 
    725782install-strip: 
    726         $(MAKE) STRIPFLAGS=-s install 
     783        $(MAKE) STRIPFLAGS=-s install DESTDIR="$(DESTDIR)" 
    727784 
    728785install install-all: 
    729         $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) 
     786        $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) DESTDIR="$(DESTDIR)" 
    730787 
    731788install-verbose: 
    732         $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-V 
     789        $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-V DESTDIR="$(DESTDIR)" 
    733790 
    734791install-silent: 
    735         $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-S 
     792        $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-S DESTDIR="$(DESTDIR)" 
    736793 
    737794no-install: 
    738         $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n 
    739  
    740 install.perl:   all installperl 
     795        $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n DESTDIR="$(DESTDIR)" 
     796 
     797# Set this to an empty string to avoid an attempt of rebuild before install 
     798INSTALL_DEPENDENCE = all 
     799 
     800install.perl:   $(INSTALL_DEPENDENCE) installperl 
    741801        if [ -n "$(COMPILE)" ]; \ 
    742802        then \ 
     
    746806        else :; \ 
    747807        fi 
    748         $(LDLIBPTH) ./perl installperl $(INSTALLFLAGS) $(STRIPFLAGS) 
     808        $(LDLIBPTH) ./perl installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS) 
    749809        $(MAKE) extras.install 
    750810 
    751811install.man:    all installman 
    752         $(LDLIBPTH) ./perl installman $(INSTALLFLAGS) 
     812        $(LDLIBPTH) ./perl installman --destdir=$(DESTDIR) $(INSTALLFLAGS) 
    753813 
    754814# XXX Experimental. Hardwired values, but useful for testing. 
     
    813873 
    814874# The following files are generated automatically 
     875#       autodoc.pl:     pod/perlapi.pod pod/perlintern.pod 
     876#       bytecode.pl:    ext/ByteLoader/byterun.h ext/ByteLoader/byterun.c 
     877#                       ext/B/B/Asmdata.pm 
     878#       embed.pl:       proto.h embed.h embedvar.h global.sym 
     879#                       perlapi.h perlapi.c  
     880# [* embed.pl needs pp.sym generated by opcode.pl! *] 
    815881#       keywords.pl:    keywords.h 
    816882#       opcode.pl:      opcode.h opnames.h pp_proto.h pp.sym 
    817 # [* embed.pl needs pp.sym generated by opcode.pl! *] 
    818 #       embed.pl:       proto.h embed.h embedvar.h global.sym 
    819 #                       perlapi.h perlapi.c pod/perlintern.pod 
    820 #                       pod/perlapi.pod 
    821 #       bytecode.pl:    ext/ByteLoader/byterun.h ext/ByteLoader/byterun.c 
    822 #                       ext/B/B/Asmdata.pm 
    823883#       regcomp.pl:     regnodes.h 
    824884#       warnings.pl:    warnings.h lib/warnings.pm 
    825885# The correct versions should be already supplied with the perl kit, 
    826886# in case you don't have perl available. 
    827 # To force them to be regenerated, type 
    828 #       make regen_headers 
     887# To force them to be regenerated, run 
     888#       perl regen.pl 
     889# with your existing copy of perl 
     890# (make regen_headers is kept for backwards compatibility) 
    829891 
    830892AUTOGEN_FILES = keywords.h opcode.h opnames.h pp_proto.h pp.sym proto.h \ 
     
    837899.PHONY: regen_headers regen_pods regen_all 
    838900 
    839 regen_headers:  FORCE 
    840         -$(CHMOD_W) $(AUTOGEN_FILES) 
    841         -perl keywords.pl 
    842         -perl opcode.pl 
    843         -perl embed.pl 
    844         -perl bytecode.pl 
    845         -perl regcomp.pl 
    846         -perl warnings.pl 
    847         -perl autodoc.pl 
     901regen regen_headers:    FORCE 
     902        -perl regen.pl 
    848903 
    849904regen_pods:     FORCE 
    850905        -cd pod; $(LDLIBPTH) $(MAKE) regen_pods 
    851906 
    852 regen_all: $(PERLYVMS) regen_headers regen_pods 
     907regen_all: $(PERLYVMS) regen regen_pods 
     908 
     909.PHONY: manisort manicheck 
     910 
     911manisort:       FORCE 
     912        LC_ALL=C sort -fdc MANIFEST || (echo "WARNING: re-sorting MANIFEST"; \ 
     913                LC_ALL=C sort -fdo MANIFEST MANIFEST) 
     914 
     915manicheck:      FORCE 
     916        perl Porting/manicheck 
    853917 
    854918# Extensions: 
     
    9371001        rm -f so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR) 
    9381002        rm -rf $(addedbyconf) 
    939         rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old 
    940         rm -f $(private) 
     1003        rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old makefile.old 
     1004        rm -f $(private) lib/Config.pod 
    9411005        rm -rf lib/auto 
    9421006        rm -f lib/.exists lib/*/.exists lib/*/*/.exists 
    9431007        rm -f h2ph.man pstruct 
    9441008        rm -rf .config 
     1009        rm -f preload 
    9451010        rm -f testcompile compilelog 
    9461011        -rmdir lib/B lib/Data lib/Digest 
    9471012        rm -rf lib/Encode 
    948         -rmdir lib/IO/Socket lib/IO/t lib/IO 
    949         -rmdir lib/Filter/Util lib/List lib/MIME lib/PerlIO lib/Scalar lib/Sys 
    950         -rmdir lib/Thread lib/XS lib/threads/shared lib/threads t/lib/B 
     1013        -rmdir lib/Filter/Util lib/IO/Socket lib/IO 
     1014        -rmdir lib/List lib/MIME lib/Scalar lib/Sys  
     1015        -rmdir lib/threads lib/XS 
    9511016 
    9521017_realcleaner: 
     
    9951060        utest ucheck test.utf8 check.utf8 test.torture torturetest \ 
    9961061        test.third check.third utest.third ucheck.third test_notty.third \ 
    997         test.deparse test_notty.deparse \ 
    998         minitest coretest 
     1062        test.deparse test_notty.deparse test_harness test_harness_notty \ 
     1063        test.bytecompile minitest coretest test.taintwarn 
    9991064 
    10001065# Cannot delegate rebuilding of t/perl to make 
     
    10141079 
    10151080_test_tty: 
    1016         cd t && $(LDLIBPTH) $(PERL_DEBUG) $(PERL) $(TESTFILE) $(TEST_ARGS) </dev/tty 
     1081        cd t && $(PERL_DEBUG) $(LDLIBPTH) $(PERL) $(TESTFILE) $(TEST_ARGS) </dev/tty 
    10171082 
    10181083_test_notty: 
    1019         cd t && $(LDLIBPTH) $(PERL_DEBUG) PERL_SKIP_TTY_TEST=1 $(PERL) $(TESTFILE) $(TEST_ARGS) 
     1084        cd t && $(PERL_DEBUG) PERL_SKIP_TTY_TEST=1 $(LDLIBPTH) $(PERL) $(TESTFILE) $(TEST_ARGS) 
    10201085 
    10211086# The second branch is for testing without a tty or controlling terminal, 
     
    10551120        PERL=./perl TEST_ARGS=-torture $(MAKE) _test 
    10561121 
     1122# Targets for valgrind testing: 
     1123 
     1124test_prep.valgrind: test_prep perl.valgrind 
     1125        PERL=./perl $(MAKE) _test_prep 
     1126 
     1127test.valgrind check.valgrind:   test_prep perl.valgrind.config 
     1128        PERL=./perl PERL_DEBUG=PERL_VALGRIND=1 $(MAKE) _test 
     1129 
     1130utest.valgrind ucheck.valgrind: test_prep.valgrind perl.valgrind 
     1131        PERL=./perl PERL_DEBUG=PERL_VALGRIND=1 TEST_ARGS=-utf8 $(MAKE) _test 
     1132 
     1133test_notty.valgrind: test_prep.valgrind perl.valgrind 
     1134        PERL=./perl $(MAKE) PERL_DEBUG=PERL_VALGRIND=1 _test_notty 
     1135 
    10571136# Targets for Third Degree testing. 
    10581137 
     
    10691148        PERL=./perl.third $(MAKE) PERL_DEBUG=PERL_3LOG=1 _test_notty 
    10701149 
     1150# Targets for Bytecode/ByteLoader testing. 
     1151 
     1152test.bytecompile:       test_prep 
     1153        PERL=./perl TEST_ARGS=-bytecompile $(MAKE) _test 
     1154 
    10711155# Targets for Deparse testing. 
    10721156 
     
    10761160test_notty.deparse:     test_prep 
    10771161        PERL=./perl TEST_ARGS=-deparse $(MAKE) _test_notty 
     1162 
     1163# Targets to run the test suite with -t 
     1164 
     1165test.taintwarn: test_prep 
     1166        PERL=./perl TEST_ARGS=-taintwarn $(MAKE) _test 
    10781167 
    10791168# Can't depend on lib/Config.pm because that might be where miniperl 
     
    10941183        PERL=./perl $(MAKE) TESTFILE=harness _test 
    10951184 
     1185test_harness_notty: test_prep 
     1186        PERL=./perl HARNESS_NOTTY=1 $(MAKE) TESTFILE=harness _test 
     1187 
    10961188# Handy way to run perlbug -ok without having to install and run the 
    10971189# installed perlbug. We don't re-run the tests here - we trust the user. 
     
    11831275 
    11841276case "$ebcdic" in 
    1185 $define) 
     1277define) 
    11861278    xxx='' 
    1187     echo "This is an EBCDIC system, checking if any parser files need regenerating." >&4 
     1279    echo "This is an EBCDIC system, checking if any parser files need regenerating." >&2 
    11881280case "$osname" in 
    11891281os390|posix-bc) 
     
    12141306        xxx="$xxx perly.c" 
    12151307    fi 
     1308    case "$osname:$usethreads" in 
     1309    os390:define) 
     1310        sed -e 's@^extern int yychar, yyerrflag;@/* extern int yychar, yyerrflag; */@' perly.c > perly.tmp && mv perly.tmp perly.c 
     1311        ;; 
     1312    esac 
    12161313    if cmp -s y.tab.h perly.h; then 
    12171314        rm -f y.tab.h