X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/0dfdcd8a63a82bd61087d84a6f130e03a4b20ed9..ca46b8ee06bde4bff70dee92de161b97200c8d19:/Makefile.SH diff --git a/Makefile.SH b/Makefile.SH index e8fbf3e..70c3d6c 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -20,6 +20,10 @@ esac # #22227 $baserev # #22302 $yacc $byacc +# H.Merijn Brand [30 Oct 2004] +# Mentioned for the same reason for future reference +# #23434 $d_strlcat $d_strlcpy + : This forces SH files to create target in same directory as SH file. : This is so that make depend always knows where to find SH derivatives. case "$0" in @@ -72,6 +76,10 @@ true) netbsd*|freebsd[234]*|openbsd*) linklibperl="-L. -lperl" ;; + interix*) + linklibperl="-L. -lperl" + shrpldflags="$shrpldflags -Wl,--image-base,0x57000000" + ;; aix*) shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp" case "$osvers" in @@ -295,7 +303,8 @@ CCCMD = `sh $(shellflags) cflags "optimize='$(OPTIMIZE)'" $@` CCCMDSRC = `sh $(shellflags) cflags "optimize='$(OPTIMIZE)'" $<` -private = preplibrary lib/Config.pm lib/ExtUtils/Miniperl.pm +CONFIGPM = lib/Config.pm lib/Config_heavy.pl +private = preplibrary $(CONFIGPM) lib/ExtUtils/Miniperl.pm # Files to be built with variable substitution before miniperl # is available. @@ -337,7 +346,7 @@ c2 = perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c xsutils.c pad.c c4 = globals.c perlio.c perlapi.c numeric.c locale.c pp_pack.c pp_sort.c -c = $(c1) $(c2) $(c3) $(c4) miniperlmain.c perlmain.c +c = $(c1) $(c2) $(c3) $(c4) miniperlmain.c perlmain.c opmini.c obj1 = $(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) obj2 = 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) @@ -368,10 +377,10 @@ compile: all cd x2p; $(MAKE) compile; cd pod; $(MAKE) compile; -translators: miniperl$(EXE_EXT) lib/Config.pm FORCE +translators: miniperl$(EXE_EXT) $(CONFIGPM) FORCE @echo " "; echo " Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all -utilities: miniperl$(EXE_EXT) lib/Config.pm $(plextract) lib/lib.pm FORCE +utilities: miniperl$(EXE_EXT) $(CONFIGPM) $(plextract) lib/lib.pm FORCE @echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all @@ -390,11 +399,12 @@ $spitshell >>Makefile <>Makefile <<'!NO!SUBS!' @@ -542,7 +552,7 @@ $(LIBPERL): $& perl$(OBJ_EXT) $(obj) $(LIBPERLEXPORT) !NO!SUBS! case "${osname}${osvers}" in - aix*) + aix*|beos*) $spitshell >>Makefile <<'!NO!SUBS!' miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT) $(CC) -o miniperl $(CLDFLAGS) \ @@ -551,7 +561,7 @@ miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT) $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '' || $(MAKE) minitest !NO!SUBS! ;; - beos*|next4*) + next4*) $spitshell >>Makefile <<'!NO!SUBS!' miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT) $(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \ @@ -723,7 +733,7 @@ sperl$(OBJ_EXT): perl.c $(h) # We need to autosplit in two steps because VOS can't handle so many args # .PHONY: preplibrary -preplibrary: miniperl$(EXE_EXT) lib/Config.pm lib/lib.pm $(PREPLIBRARY_LIBPERL) +preplibrary: miniperl$(EXE_EXT) $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL) @sh ./makedir lib/auto @echo " AutoSplitting perl library" $(LDLIBPTH) ./miniperl -Ilib -e 'use AutoSplit; \ @@ -735,11 +745,11 @@ preplibrary: miniperl$(EXE_EXT) lib/Config.pm lib/lib.pm $(PREPLIBRARY_LIBPERL) # Take care to avoid modifying lib/Config.pm without reason # (If trying to create a new port and having problems with the configpm script, # try 'make minitest' and/or commenting out the tests at the end of configpm.) -lib/Config.pm: config.sh miniperl$(EXE_EXT) configpm Porting/Glossary - $(LDLIBPTH) ./miniperl -Ilib configpm configpm.tmp - sh mv-if-diff configpm.tmp $@ +$(CONFIGPM): config.sh miniperl$(EXE_EXT) configpm Porting/Glossary + $(LDLIBPTH) ./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl configpm.tmp + sh mv-if-diff configpm.tmp lib/Config.pm -lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl$(EXE_EXT) minimod.pl lib/Config.pm +lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl$(EXE_EXT) minimod.pl $(CONFIGPM) $(LDLIBPTH) ./miniperl minimod.pl > minimod.tmp sh mv-if-diff minimod.tmp $@ -touch lib/ExtUtils/Miniperl.pm @@ -747,19 +757,22 @@ lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl$(EXE_EXT) minimod.pl lib/Confi lib/re.pm: ext/re/re.pm cp ext/re/re.pm ext/re/re.tmp && sh mv-if-diff ext/re/re.tmp lib/re.pm -$(plextract): miniperl$(EXE_EXT) lib/Config.pm x2p/s2p +$(plextract): miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p @-rm -f $@ - $(LDLIBPTH) ./miniperl -Ilib $@.PL + $(LDLIBPTH) ./miniperl -I`pwd`/lib $@.PL -x2p/s2p: miniperl$(EXE_EXT) lib/Config.pm x2p/s2p.PL +x2p/s2p: miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p.PL cd x2p; $(LDLIBPTH) $(MAKE) s2p -lib/lib.pm: miniperl$(EXE_EXT) lib/Config.pm +lib/lib.pm: miniperl$(EXE_EXT) $(CONFIGPM) @-rm -f $@ $(LDLIBPTH) ./miniperl -Ilib lib/lib_pm.PL -$(unidatafiles): miniperl$(EXE_EXT) lib/Config.pm lib/unicore/mktables +unidatafiles $(unidatafiles): uni.data + +uni.data: miniperl$(EXE_EXT) $(CONFIGPM) lib/unicore/mktables cd lib/unicore && $(LDLIBPTH) ../../miniperl -I../../lib mktables -w + touch uni.data extra.pods: miniperl$(EXE_EXT) -@test -f extra.pods && rm -f `cat extra.pods` @@ -772,7 +785,7 @@ extra.pods: miniperl$(EXE_EXT) -@rm -f pod/perlvms.pod -@test -f vms/perlvms.pod && cd pod && $(LNS) ../vms/perlvms.pod perlvms.pod && cd .. && echo "pod/perlvms.pod" >> extra.pods -@rm -f pod/perldelta.pod - -@test -f pod/perl592delta.pod && cd pod && $(LNS) perl592delta.pod perldelta.pod && cd .. && echo "pod/perldelta.pod" >> extra.pods # See buildtoc + -@test -f pod/perl593delta.pod && cd pod && $(LNS) perl593delta.pod perldelta.pod && cd .. && echo "pod/perldelta.pod" >> extra.pods # See buildtoc extras.make: perl$(EXE_EXT) -@test -s extras.lst && PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&make(@ARGV)' `cat extras.lst` @@ -954,11 +967,11 @@ veryclean: _verycleaner _mopup _clobber # Do not 'make _mopup' directly. _mopup: - rm -f *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c + rm -f *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c opmini.c -rmdir .depending -@test -f extra.pods && rm -f `cat extra.pods` -@test -f vms/README_vms.pod && rm -f vms/README_vms.pod - -rm -f perl.exp ext.libs extra.pods opmini.o + -rm -f perl.exp ext.libs extra.pods uni.data opmini.o -rm -f perl.export perl.dll perl.libexp perl.map perl.def -rm -f perl.loadmap miniperl.loadmap perl.prelmap miniperl.prelmap -rm -f perl.third lib*.so.perl.third perl.3log t/perl.third t/perl.3log @@ -1003,8 +1016,8 @@ _cleaner2: rm -rf .config rm -f preload rm -f testcompile compilelog - -rmdir lib/B lib/Data lib/Digest rm -rf lib/Encode + -rmdir lib/B lib/Data -rmdir lib/Filter/Util lib/IO/Socket lib/IO -rmdir lib/List lib/MIME lib/Scalar lib/Sys -rmdir lib/threads lib/XS @@ -1053,6 +1066,7 @@ makedepend: makedepend.SH config.sh .PHONY: test check test_prep test_prep_nodll test_prep_pre _test_prep \ test_tty test-tty _test_tty test_notty test-notty _test_notty \ utest ucheck test.utf8 check.utf8 test.torture torturetest \ + test.utf16 check.utf16 utest.utf16 ucheck.utf16 \ test.third check.third utest.third ucheck.third test_notty.third \ test.deparse test_notty.deparse test_harness test_harness_notty \ test.bytecompile minitest coretest test.taintwarn @@ -1114,6 +1128,18 @@ test-notty: test_notty test.torture torturetest: test_prep PERL=./perl TEST_ARGS=-torture $(MAKE) _test +# Targets for UTF16 testing: + +minitest.utf16: minitest.prep + - cd t && (rm -f perl$(EXE_EXT); $(LNS) ../miniperl$(EXE_EXT) perl$(EXE_EXT)) \ + && $(LDLIBPTH) ./perl TEST -minitest -utf16 base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t