diff options
author | Dave Mitchell <davem@fdisolutions.com> | 2004-02-14 02:06:53 +0000 |
---|---|---|
committer | Dave Mitchell <davem@fdisolutions.com> | 2004-02-14 02:06:53 +0000 |
commit | 0de566d74fdaf0a49123989fe8d4ad06603c6608 (patch) | |
tree | a7e6f359c44eb372067a0f7567f1e4ef9953ae22 /Makefile.SH | |
parent | 21d1ba01f501963c6f61499860ffc70a78ab21c0 (diff) | |
download | perl-0de566d74fdaf0a49123989fe8d4ad06603c6608.tar.gz |
Switch from byacc to bison and simplify the perly.* regeneration
process
p4raw-id: //depot/perl@22302
Diffstat (limited to 'Makefile.SH')
-rw-r--r-- | Makefile.SH | 93 |
1 files changed, 14 insertions, 79 deletions
diff --git a/Makefile.SH b/Makefile.SH index c39effacbd..b759821486 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -154,15 +154,6 @@ for f in $nonxs_ext; do nonxs_list="$nonxs_list ext/$f/pm_to_blib" done -# Handle the usage of different yaccs in posix-bc (During Configure we -# us yacc for perly.y and byacc for a2p.y. The makefiles must use the -# same configuration for run_byacc!): -case "$osname" in - posix-bc) - byacc=$yacc - ;; -esac - echo "Extracting Makefile (with variable substitutions)" $spitshell >Makefile <<!GROK!THIS! # Makefile.SH @@ -170,10 +161,7 @@ $spitshell >Makefile <<!GROK!THIS! # be lost the next time you run Configure. # Makefile is used to generate $firstmakefile. The only difference # is that $firstmakefile has the dependencies filled in at the end. -# -# -# I now supply perly.c with the kits, so don't remake perly.c without byacc -BYACC = $byacc + CC = $cc LD = $ld @@ -826,28 +814,18 @@ install.html: all installhtml # I now supply perly.c with the kits, so the following section is -# used only if you force byacc to run by saying -# make run_byacc -# Since we patch up the byacc output, the perly.fixer script needs -# to run with precisely the same version of byacc as I use. You -# normally shouldn't remake perly.[ch]. - -.PHONY: check_byacc run_byacc - -check_byacc: - @$(BYACC) -V 2>&1 | grep 'version 1\.8\.2' - -run_byacc: FORCE check_byacc - $(BYACC) -d perly.y - -chmod 664 perly.c perly.h - sh $(shellflags) ./perly.fixer y.tab.c perly.c - sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \ - -e 's/y\.tab/perly/g' perly.c >perly.tmp && mv perly.tmp perly.c - sed -e '/^extern YYSTYPE yy/D' y.tab.h >yh.tmp && mv yh.tmp y.tab.h - cmp -s y.tab.h perly.h && rm -f y.tab.h || mv y.tab.h perly.h - perl -i.old perlyline.pl perly.c - chmod 664 vms/perly_c.vms vms/perly_h.vms - perl vms/vms_yfix.pl perly.c perly.h vms/perly_c.vms vms/perly_h.vms +# used only if you force bison to run by saying +# make regen_perly +# You normally shouldn't remake perly.[ch]. + +.PHONY: regen_perly + +run_byacc: + @echo "run_byacc is obsolete; try 'make regen_perly' instead" + +# this outputs perly.act and perly.tab +regen_perly: + perl regen_perly.pl # We don't want to regenerate perly.c and perly.h, but they might # appear out-of-date after a patch is applied or a new distribution is @@ -858,11 +836,6 @@ perly.c: perly.y perly.h: perly.y -@sh -c true -PERLYVMS = vms/perly_c.vms vms/perly_h.vms - -$(PERLYVMS): perly.c perly.h vms/vms_yfix.pl - perl vms/vms_yfix.pl perly.c perly.h vms/perly_c.vms vms/perly_h.vms - # No compat3.sym here since and including the 5.004_50. # No interp.sym since 5.005_03. SYM = global.sym globvar.sym perlio.sym pp.sym @@ -904,7 +877,7 @@ regen regen_headers: FORCE regen_pods: FORCE -cd pod; $(LDLIBPTH) $(MAKE) regen_pods -regen_all: $(PERLYVMS) regen regen_pods +regen_all: regen regen_pods .PHONY: manisort manicheck @@ -1279,44 +1252,6 @@ define) echo "This is an EBCDIC system, checking if any parser files need regenerating." >&2 case "$osname" in 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 - else - echo "perly.y -> perly.c" >&2 - mv -f y.tab.c perly.c - chmod u+w perly.c - sed -e '/^#include "perl\.h"/a\ -\ -#define yydebug PL_yydebug\ -#define yynerrs PL_yynerrs\ -#define yyerrflag PL_yyerrflag\ -#define yychar PL_yychar\ -#define yyval PL_yyval\ -#define yylval PL_yylval' \ - -e '/YYSTYPE *yyval;/D' \ - -e '/YYSTYPE *yylval;/D' \ - -e '/int yychar,/,/yynerrs;/D' \ - -e 's/int yydebug = 0;/yydebug = 0;/' \ - -e 's/[^_]realloc(/PerlMem_realloc(/g' \ - -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \ - -e 's/y\.tab/perly/g' perly.c >perly.tmp && mv perly.tmp perly.c - xxx="$xxx perly.c" - fi - case "$osname:$usethreads" in - os390:define) - sed -e 's@^extern int yychar, yyerrflag;@/* extern int yychar, yyerrflag; */@' perly.c > perly.tmp && mv perly.tmp perly.c - ;; - esac - if cmp -s y.tab.h perly.h; then - rm -f y.tab.h - else - echo "perly.y -> perly.h" >&2 - mv -f y.tab.h perly.h - xxx="$xxx perly.h" - fi if cd x2p then rm -f y.tab.c y.tab.h |