X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/fe572743bdc94988ae47d8a129c5f974e72052a1..2c0b28dd04ba275e235e067ac76a0a841338c8a2:/Makefile.SH diff --git a/Makefile.SH b/Makefile.SH index 24016d9..f5426f3 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -62,7 +62,7 @@ true) aixinstdir=`pwd | sed 's/\/UU$//'` linklibperl="-L $archlibexp/CORE -L $aixinstdir -lperl" ;; - hpux10*) + hpux10*|hpux11*) linklibperl="-L `pwd | sed 's/\/UU$//'` -Wl,+b$archlibexp/CORE -lperl" ;; esac @@ -451,14 +451,17 @@ perly.h: perly.y # No compat3.sym here since and including the 5.004_50. # No interp.sym since 5.005_03. -SYM = global.sym perlio.sym thread.sym +SYM = global.sym globvar.sym perlio.sym pp.sym -SYMH = perlvars.h thrdvar.h +SYMH = perlvars.h intrpvar.h thrdvar.h # The following files are generated automatically # keywords.h: keywords.pl # opcode.h: opcode.pl -# embed.h: embed.pl global.sym interp.sym +# pp_proto.h: opcode.pl +# pp.sym: opcode.pl +# embed.h: embed.pl [* needs pp.sym generated by opcode.pl! *] +# embedvar.h: embed.pl [* needs pp.sym generated by opcode.pl! *] # byterun.h: bytecode.pl # byterun.c: bytecode.pl # lib/B/Asmdata.pm: bytecode.pl @@ -659,8 +662,9 @@ $define) xxx='' echo "This is an EBCDIC system, checking if any parser files need regenerating." >&4 case "$osname" in -os390) +os390|posix-bc) rm -f y.tab.c y.tab.h + # yacc must be a reentrant ("pure") Bison in BS2000 Posix! yacc -d perly.y >/dev/null 2>&1 if cmp -s y.tab.c perly.c; then rm -f y.tab.c @@ -692,33 +696,50 @@ os390) mv -f y.tab.h perly.h xxx="$xxx perly.h" fi - cd x2p - rm -f y.tab.c - yacc a2p.y >/dev/null 2>&1 - if cmp -s y.tab.c a2p.c + if cd x2p 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/y\.tab/a2p/g' a2p.c >a2p.tmp && mv a2p.tmp a2p.c - xxx="$xxx a2p.c" + 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/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 - 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 - cd .. ;; vmesa) # Do nothing in VM/ESA. ;; +*) + echo "'$osname' is an EBCDIC system I don't know that well." >&4 + ;; esac case "$xxx" in '') echo "No parser files were regenerated. That's okay." >&2 ;;