From 7c31742a07c7fa311b0c78c598066944db1ca900 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 29 Aug 2008 13:02:33 +0000 Subject: Remove all traces that suggest that a non-Bison yacc might be supported, and change build system to use only Bison. Simplify build rules, make file names uniform. Don't build the token table header file where it is not needed. --- src/backend/Makefile | 19 +++++++++---------- src/backend/bootstrap/.cvsignore | 1 - src/backend/bootstrap/Makefile | 24 ++++++------------------ src/backend/bootstrap/bootscanner.l | 4 ++-- src/backend/parser/.cvsignore | 2 +- src/backend/parser/Makefile | 19 +++++++------------ src/backend/parser/keywords.c | 6 +++--- src/backend/parser/parser.c | 6 +++--- src/backend/parser/scan.l | 4 ++-- 9 files changed, 33 insertions(+), 52 deletions(-) (limited to 'src/backend') diff --git a/src/backend/Makefile b/src/backend/Makefile index 0025a0c2a11..7fd613f6c9f 100644 --- a/src/backend/Makefile +++ b/src/backend/Makefile @@ -5,7 +5,7 @@ # Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/backend/Makefile,v 1.129 2008/08/01 13:16:08 alvherre Exp $ +# $PostgreSQL: pgsql/src/backend/Makefile,v 1.130 2008/08/29 13:02:32 petere Exp $ # #------------------------------------------------------------------------- @@ -105,7 +105,7 @@ endif endif # aix # Update the commonly used headers before building the subdirectories -$(SUBDIRS:%=%-recursive): $(top_builddir)/src/include/parser/parse.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/probes.h +$(SUBDIRS:%=%-recursive): $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/probes.h # The postgres.o target is needed by the rule in Makefile.global that @@ -118,8 +118,8 @@ postgres.o: $(OBJS) # the make files in our subdirectories. Note that it's important we # match the dependencies shown in the subdirectory makefiles! -$(srcdir)/parser/parse.h: parser/gram.y - $(MAKE) -C parser parse.h +$(srcdir)/parser/gram.h: parser/gram.y + $(MAKE) -C parser gram.h utils/fmgroids.h: utils/Gen_fmgrtab.sh $(top_srcdir)/src/include/catalog/pg_proc.h $(MAKE) -C utils fmgroids.h @@ -131,7 +131,7 @@ utils/probes.h: utils/probes.d # we can cut down on the -I options. Also, a symlink is automatically # up to date when we update the base file. -$(top_builddir)/src/include/parser/parse.h: $(srcdir)/parser/parse.h +$(top_builddir)/src/include/parser/gram.h: $(srcdir)/parser/gram.h prereqdir=`cd $(dir $<) >/dev/null && pwd` && \ cd $(dir $@) && rm -f $(notdir $@) && \ $(LN_S) "$$prereqdir/$(notdir $<)" . @@ -154,8 +154,8 @@ endif ########################################################################## distprep: - $(MAKE) -C parser gram.c parse.h scan.c - $(MAKE) -C bootstrap bootparse.c bootstrap_tokens.h bootscanner.c + $(MAKE) -C parser gram.c gram.h scan.c + $(MAKE) -C bootstrap bootparse.c bootscanner.c $(MAKE) -C utils/misc guc-file.c @@ -239,7 +239,7 @@ endif clean: rm -f $(LOCALOBJS) postgres$(X) $(POSTGRES_IMP) \ - $(top_srcdir)/src/include/parser/parse.h \ + $(top_srcdir)/src/include/parser/gram.h \ $(top_builddir)/src/include/utils/fmgroids.h ifeq ($(PORTNAME), cygwin) rm -f postgres.dll postgres.def libpostgres.a @@ -254,10 +254,9 @@ distclean: clean maintainer-clean: distclean rm -f $(srcdir)/bootstrap/bootparse.c \ $(srcdir)/bootstrap/bootscanner.c \ - $(srcdir)/bootstrap/bootstrap_tokens.h \ $(srcdir)/parser/gram.c \ $(srcdir)/parser/scan.c \ - $(srcdir)/parser/parse.h \ + $(srcdir)/parser/gram.h \ $(srcdir)/utils/misc/guc-file.c diff --git a/src/backend/bootstrap/.cvsignore b/src/backend/bootstrap/.cvsignore index 511777ca30c..5201be98868 100644 --- a/src/backend/bootstrap/.cvsignore +++ b/src/backend/bootstrap/.cvsignore @@ -1,3 +1,2 @@ bootparse.c -bootstrap_tokens.h bootscanner.c diff --git a/src/backend/bootstrap/Makefile b/src/backend/bootstrap/Makefile index ac83245395d..3a68367aaee 100644 --- a/src/backend/bootstrap/Makefile +++ b/src/backend/bootstrap/Makefile @@ -2,7 +2,7 @@ # # Makefile for the bootstrap module # -# $PostgreSQL: pgsql/src/backend/bootstrap/Makefile,v 1.36 2008/02/19 10:30:07 petere Exp $ +# $PostgreSQL: pgsql/src/backend/bootstrap/Makefile,v 1.37 2008/08/29 13:02:32 petere Exp $ # #------------------------------------------------------------------------- @@ -20,15 +20,9 @@ include $(top_srcdir)/src/backend/common.mk # bootscanner is compiled as part of bootparse bootparse.o: $(srcdir)/bootscanner.c -# See notes in src/backend/parser/Makefile about the following two rules - -$(srcdir)/bootparse.c: $(srcdir)/bootstrap_tokens.h ; - -$(srcdir)/bootstrap_tokens.h: bootparse.y -ifdef YACC - $(YACC) -d $(YFLAGS) $< - mv -f y.tab.c $(srcdir)/bootparse.c - mv -f y.tab.h $(srcdir)/bootstrap_tokens.h +$(srcdir)/bootparse.c: bootparse.y +ifdef BISON + $(BISON) $(BISONFLAGS) -o $@ $< else @$(missing) bison $< $@ endif @@ -40,12 +34,6 @@ else @$(missing) flex $< $@ endif -# Force these dependencies to be known even without dependency info built: -bootstrap.o bootparse.o: $(srcdir)/bootstrap_tokens.h - -# bootparse.c, bootstrap_tokens.h, and bootscanner.c are in the distribution -# tarball, so they are not cleaned here. -clean: -# And the garbage that might have been left behind by partial build: - @rm -f y.tab.h y.tab.c y.output lex.yy.c +# bootparse.c and bootscanner.c are in the distribution tarball, so +# they are not cleaned here. diff --git a/src/backend/bootstrap/bootscanner.l b/src/backend/bootstrap/bootscanner.l index ebcd9e99d57..49bef984203 100644 --- a/src/backend/bootstrap/bootscanner.l +++ b/src/backend/bootstrap/bootscanner.l @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/bootstrap/bootscanner.l,v 1.46 2008/05/09 15:36:31 petere Exp $ + * $PostgreSQL: pgsql/src/backend/bootstrap/bootscanner.l,v 1.47 2008/08/29 13:02:32 petere Exp $ * *------------------------------------------------------------------------- */ @@ -37,7 +37,7 @@ #include "utils/rel.h" /* Not needed now that this file is compiled as part of bootparse. */ -/* #include "bootstrap_tokens.h" */ +/* #include "bootparse.h" */ /* Avoid exit() on fatal scanner errors (a bit ugly -- see yy_fatal_error) */ diff --git a/src/backend/parser/.cvsignore b/src/backend/parser/.cvsignore index 84c828f3bf4..6545728c5c5 100644 --- a/src/backend/parser/.cvsignore +++ b/src/backend/parser/.cvsignore @@ -1,3 +1,3 @@ -parse.h +gram.h gram.c scan.c diff --git a/src/backend/parser/Makefile b/src/backend/parser/Makefile index 9a2d58419dc..04b9ed61f44 100644 --- a/src/backend/parser/Makefile +++ b/src/backend/parser/Makefile @@ -2,7 +2,7 @@ # # Makefile for parser # -# $PostgreSQL: pgsql/src/backend/parser/Makefile,v 1.46 2008/02/19 10:30:07 petere Exp $ +# $PostgreSQL: pgsql/src/backend/parser/Makefile,v 1.47 2008/08/29 13:02:32 petere Exp $ # #------------------------------------------------------------------------- @@ -32,13 +32,11 @@ gram.o: $(srcdir)/scan.c # important, otherwise make will choose the built-in rule for # gram.y=>gram.c. -$(srcdir)/gram.c: $(srcdir)/parse.h ; +$(srcdir)/gram.h: $(srcdir)/gram.c ; -$(srcdir)/parse.h: gram.y -ifdef YACC - $(YACC) -d $(YFLAGS) $< - mv -f y.tab.c $(srcdir)/gram.c - mv -f y.tab.h $(srcdir)/parse.h +$(srcdir)/gram.c: gram.y +ifdef BISON + $(BISON) -d $(BISONFLAGS) -o $@ $< else @$(missing) bison $< $@ endif @@ -53,11 +51,8 @@ endif # Force these dependencies to be known even without dependency info built: -gram.o keywords.o parser.o: $(srcdir)/parse.h +gram.o keywords.o parser.o: $(srcdir)/gram.h -# gram.c, parse.h, and scan.c are in the distribution tarball, so they +# gram.c, gram.h, and scan.c are in the distribution tarball, so they # are not cleaned here. -clean: -# And the garbage that might have been left behind by partial build: - @rm -f y.tab.h y.tab.c y.output lex.yy.c diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c index 97fba9c9562..2b7a56bccd2 100644 --- a/src/backend/parser/keywords.c +++ b/src/backend/parser/keywords.c @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.199 2008/07/16 01:30:22 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.200 2008/08/29 13:02:32 petere Exp $ * *------------------------------------------------------------------------- */ @@ -22,7 +22,7 @@ #include /* - * This macro definition overrides the YYSTYPE union definition in parse.h. + * This macro definition overrides the YYSTYPE union definition in gram.h. * We don't need that struct in this file, and including the real definition * would require sucking in some backend-only include files. */ @@ -30,7 +30,7 @@ #include "parser/keywords.h" #ifndef ECPG_COMPILE -#include "parser/parse.h" +#include "parser/gram.h" #else #include "preproc.h" #endif diff --git a/src/backend/parser/parser.c b/src/backend/parser/parser.c index 000f19f4a31..1535318735c 100644 --- a/src/backend/parser/parser.c +++ b/src/backend/parser/parser.c @@ -14,15 +14,15 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/parser.c,v 1.73 2008/01/01 19:45:51 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/parser/parser.c,v 1.74 2008/08/29 13:02:32 petere Exp $ * *------------------------------------------------------------------------- */ #include "postgres.h" -#include "parser/gramparse.h" /* required before parser/parse.h! */ -#include "parser/parse.h" +#include "parser/gramparse.h" /* required before parser/gram.h! */ +#include "parser/gram.h" #include "parser/parser.h" diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index 1608abb4d95..804bfe71272 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -24,7 +24,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/scan.l,v 1.144 2008/05/09 15:36:31 petere Exp $ + * $PostgreSQL: pgsql/src/backend/parser/scan.l,v 1.145 2008/08/29 13:02:32 petere Exp $ * *------------------------------------------------------------------------- */ @@ -36,7 +36,7 @@ #include "parser/gramparse.h" #include "parser/keywords.h" /* Not needed now that this file is compiled as part of gram.y */ -/* #include "parser/parse.h" */ +/* #include "parser/gram.h" */ #include "parser/scansup.h" #include "mb/pg_wchar.h" -- cgit v1.2.3