1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

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.
This commit is contained in:
Peter Eisentraut
2008-08-29 13:02:33 +00:00
parent a2794623d2
commit 7c31742a07
28 changed files with 144 additions and 185 deletions

View File

@ -1,5 +1,5 @@
# -*-makefile-*-
# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.241 2008/02/17 16:36:43 petere Exp $
# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.242 2008/08/29 13:02:32 petere Exp $
#------------------------------------------------------------------------------
# All PostgreSQL makefiles include this file and use the variables it sets,
@ -216,8 +216,8 @@ CFLAGS = @CFLAGS@
# Kind-of compilers
YACC = @YACC@
YFLAGS = @YFLAGS@
BISON = @BISON@
BISONFLAGS = @BISONFLAGS@ $(YFLAGS)
FLEX = @FLEX@
FLEXFLAGS = @FLEXFLAGS@ $(LFLAGS)
DTRACE = @DTRACE@

View File

@ -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

View File

@ -1,3 +1,2 @@
bootparse.c
bootstrap_tokens.h
bootscanner.c

View File

@ -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.

View File

@ -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) */

View File

@ -1,3 +1,3 @@
parse.h
gram.h
gram.c
scan.c

View File

@ -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

View File

@ -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 <ctype.h>
/*
* 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

View File

@ -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"

View File

@ -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"

View File

@ -4,7 +4,7 @@
#
# 'make install' installs whole contents of src/include.
#
# $PostgreSQL: pgsql/src/include/Makefile,v 1.25 2008/05/14 19:10:29 tgl Exp $
# $PostgreSQL: pgsql/src/include/Makefile,v 1.26 2008/08/29 13:02:32 petere Exp $
#
#-------------------------------------------------------------------------
@ -61,7 +61,7 @@ uninstall:
clean:
rm -f utils/fmgroids.h parser/parse.h utils/probes.h
rm -f utils/fmgroids.h parser/gram.h utils/probes.h
distclean maintainer-clean: clean
rm -f pg_config.h dynloader.h pg_config_os.h stamp-h

View File

@ -4,7 +4,7 @@
#
# Copyright (c) 1998-2008, PostgreSQL Global Development Group
#
# $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/Makefile,v 1.135 2008/05/21 19:51:01 meskes Exp $
# $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/Makefile,v 1.136 2008/08/29 13:02:32 petere Exp $
#
#-------------------------------------------------------------------------
@ -36,13 +36,11 @@ ecpg: $(OBJS)
# pgc is compiled as part of preproc
preproc.o: $(srcdir)/pgc.c
$(srcdir)/preproc.c: $(srcdir)/preproc.h ;
$(srcdir)/preproc.h: $(srcdir)/preproc.c ;
$(srcdir)/preproc.h: preproc.y
ifdef YACC
$(YACC) -d $(YFLAGS) $<
mv -f y.tab.c $(srcdir)/preproc.c
mv -f y.tab.h $(srcdir)/preproc.h
$(srcdir)/preproc.c: preproc.y
ifdef BISON
$(BISON) -d $(BISONFLAGS) -o $@ $<
else
@$(missing) bison $< $@
endif
@ -74,10 +72,8 @@ uninstall:
clean distclean:
rm -f keywords.c *.o ecpg$(X)
# garbage from partial builds
@rm -f y.tab.c y.tab.h
# garbage from development
@rm -f core a.out *.output *.tab.c
@rm -f core a.out
# `make clean' does not remove preproc.c, preproc.h, or pgc.c since we
# want to ship those files in the distribution for people with

View File

@ -1,3 +1,3 @@
pl_gram.c
pl.tab.h
pl_gram.h
pl_scan.c

View File

@ -2,7 +2,7 @@
#
# Makefile for the plpgsql shared object
#
# $PostgreSQL: pgsql/src/pl/plpgsql/src/Makefile,v 1.32 2008/04/07 14:15:58 petere Exp $
# $PostgreSQL: pgsql/src/pl/plpgsql/src/Makefile,v 1.33 2008/08/29 13:02:33 petere Exp $
#
#-------------------------------------------------------------------------
@ -33,20 +33,18 @@ uninstall: uninstall-lib
# Force these dependencies to be known even without dependency info built:
pl_gram.o pl_handler.o pl_comp.o pl_exec.o pl_funcs.o: plpgsql.h $(srcdir)/pl.tab.h
pl_gram.o pl_handler.o pl_comp.o pl_exec.o pl_funcs.o: plpgsql.h $(srcdir)/pl_gram.h
# pl_scan is compiled as part of pl_gram
pl_gram.o: $(srcdir)/pl_scan.c
# See notes in src/backend/parser/Makefile about the following two rules
$(srcdir)/pl_gram.c: $(srcdir)/pl.tab.h ;
$(srcdir)/pl_gram.h: $(srcdir)/pl_gram.c ;
$(srcdir)/pl.tab.h: gram.y
ifdef YACC
$(YACC) -d $(YFLAGS) $<
mv -f y.tab.c $(srcdir)/pl_gram.c
mv -f y.tab.h $(srcdir)/pl.tab.h
$(srcdir)/pl_gram.c: gram.y
ifdef BISON
$(BISON) -d $(BISONFLAGS) -o $@ $<
else
@$(missing) bison $< $@
endif
@ -62,14 +60,12 @@ else
@$(missing) flex $< $@
endif
distprep: $(srcdir)/pl_scan.c $(srcdir)/pl.tab.h $(srcdir)/pl_gram.c
distprep: $(srcdir)/pl_scan.c $(srcdir)/pl_gram.h $(srcdir)/pl_gram.c
# pl_gram.c, pl.tab.h, and pl_scan.c are in the distribution tarball,
# pl_gram.c, pl_gram.h, and pl_scan.c are in the distribution tarball,
# so they are not cleaned here.
clean distclean: clean-lib
rm -f $(OBJS)
# 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
maintainer-clean: clean
rm -f $(srcdir)/pl_gram.c $(srcdir)/pl.tab.h $(srcdir)/pl_scan.c
rm -f $(srcdir)/pl_gram.c $(srcdir)/pl_gram.h $(srcdir)/pl_scan.c

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.128 2008/07/18 03:32:53 tgl Exp $
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.129 2008/08/29 13:02:33 petere Exp $
*
*-------------------------------------------------------------------------
*/
@ -17,7 +17,7 @@
#include <ctype.h>
#include "pl.tab.h"
#include "pl_gram.h"
#include "catalog/namespace.h"
#include "catalog/pg_attrdef.h"

View File

@ -8,13 +8,12 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.217 2008/08/25 22:42:34 tgl Exp $
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.218 2008/08/29 13:02:33 petere Exp $
*
*-------------------------------------------------------------------------
*/
#include "plpgsql.h"
#include "pl.tab.h"
#include <ctype.h>

View File

@ -8,13 +8,12 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_funcs.c,v 1.72 2008/05/15 22:39:49 tgl Exp $
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_funcs.c,v 1.73 2008/08/29 13:02:33 petere Exp $
*
*-------------------------------------------------------------------------
*/
#include "plpgsql.h"
#include "pl.tab.h"
#include <ctype.h>

View File

@ -8,13 +8,12 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_handler.c,v 1.39 2008/05/12 00:00:54 alvherre Exp $
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_handler.c,v 1.40 2008/08/29 13:02:33 petere Exp $
*
*-------------------------------------------------------------------------
*/
#include "plpgsql.h"
#include "pl.tab.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"

View File

@ -1,5 +1,5 @@
@echo off
REM $PostgreSQL: pgsql/src/tools/msvc/clean.bat,v 1.13 2008/08/18 13:42:49 mha Exp $
REM $PostgreSQL: pgsql/src/tools/msvc/clean.bat,v 1.14 2008/08/29 13:02:33 petere Exp $
set DIST=0
if "%1"=="dist" set DIST=1
@ -18,7 +18,7 @@ if exist src\backend\win32ver.rc del /q src\backend\win32ver.rc
REM Delete files created with GenerateFiles() in Solution.pm
if exist src\include\pg_config.h del /q src\include\pg_config.h
if exist src\include\pg_config_os.h del /q src\include\pg_config_os.h
if %DIST%==1 if exist src\backend\parser\parse.h del /q src\backend\parser\parse.h
if %DIST%==1 if exist src\backend\parser\gram.h del /q src\backend\parser\gram.h
if exist src\include\utils\fmgroids.h del /q src\include\utils\fmgroids.h
if exist src\include\utils\probes.h del /q src\include\utils\probes.h
@ -31,7 +31,6 @@ if %DIST%==1 if exist src\backend\parser\scan.c del /q src\backend\parser\scan.c
if %DIST%==1 if exist src\backend\parser\gram.c del /q src\backend\parser\gram.c
if %DIST%==1 if exist src\backend\bootstrap\bootscanner.c del /q src\backend\bootstrap\bootscanner.c
if %DIST%==1 if exist src\backend\bootstrap\bootparse.c del /q src\backend\bootstrap\bootparse.c
if %DIST%==1 if exist src\backend\bootstrap\bootstrap_tokens.h del /q src\backend\bootstrap\bootstrap_tokens.h
if %DIST%==1 if exist src\backend\utils\misc\guc-file.c del /q src\backend\utils\misc\guc-file.c

View File

@ -1,5 +1,5 @@
@echo off
REM $PostgreSQL: pgsql/src/tools/msvc/pgbison.bat,v 1.8 2007/12/19 12:29:36 mha Exp $
REM $PostgreSQL: pgsql/src/tools/msvc/pgbison.bat,v 1.9 2008/08/29 13:02:33 petere Exp $
IF NOT EXIST src\tools\msvc\buildenv.pl goto nobuildenv
perl -e "require 'src/tools/msvc/buildenv.pl'; while(($k,$v) = each %ENV) { print qq[\@SET $k=$v\n]; }" > bldenv.bat
@ -15,8 +15,8 @@ if %BV% GEQ 2.2 goto bisonok
goto nobison
:bisonok
if "%1" == "src\backend\parser\gram.y" call :generate %1 src\backend\parser\gram.c src\backend\parser\parse.h
if "%1" == "src\backend\bootstrap\bootparse.y" call :generate %1 src\backend\bootstrap\bootparse.c src\backend\bootstrap\bootstrap_tokens.h
if "%1" == "src\backend\parser\gram.y" call :generate %1 src\backend\parser\gram.c src\backend\parser\gram.h
if "%1" == "src\backend\bootstrap\bootparse.y" call :generate %1 src\backend\bootstrap\bootparse.c
if "%1" == "src\pl\plpgsql\src\gram.y" call :generate %1 src\pl\plpgsql\src\pl_gram.c src\pl\plpgsql\src\pl.tab.h
if "%1" == "src\interfaces\ecpg\preproc\preproc.y" call :generate %1 src\interfaces\ecpg\preproc\preproc.c src\interfaces\ecpg\preproc\preproc.h
if "%1" == "contrib\cube\cubeparse.y" call :generate %1 contrib\cube\cubeparse.c contrib\cube\cubeparse.h