Commit 7c31742a authored by Peter Eisentraut's avatar Peter Eisentraut

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.
parent a2794623
# $PostgreSQL: pgsql/config/programs.m4,v 1.23 2008/05/27 22:18:04 tgl Exp $ # $PostgreSQL: pgsql/config/programs.m4,v 1.24 2008/08/29 13:02:32 petere Exp $
# PGAC_PATH_YACC # PGAC_PATH_BISON
# -------------- # ---------------
# Look for Bison, set the output variable YACC to its path if found. # Look for Bison, set the output variable BISON to its path if found.
# Reject versions before 1.875 (they have bugs or capacity limits). # Reject versions before 1.875 (they have bugs or capacity limits).
# Note we do not accept other implementations of yacc. # Note we do not accept other implementations of yacc.
AC_DEFUN([PGAC_PATH_YACC], AC_DEFUN([PGAC_PATH_BISON],
[# Let the user override the search [# Let the user override the search
if test -z "$YACC"; then if test -z "$BISON"; then
AC_CHECK_PROGS(YACC, ['bison -y']) AC_CHECK_PROGS(BISON, bison)
fi fi
if test "$YACC"; then if test "$BISON"; then
pgac_yacc_version=`$YACC --version 2>/dev/null | sed q` pgac_bison_version=`$BISON --version 2>/dev/null | sed q`
AC_MSG_NOTICE([using $pgac_yacc_version]) AC_MSG_NOTICE([using $pgac_bison_version])
if echo "$pgac_yacc_version" | $AWK '{ if ([$]4 < 1.875) exit 0; else exit 1;}' if echo "$pgac_bison_version" | $AWK '{ if ([$]4 < 1.875) exit 0; else exit 1;}'
then then
AC_MSG_WARN([ AC_MSG_WARN([
*** The installed version of Bison is too old to use with PostgreSQL. *** The installed version of Bison is too old to use with PostgreSQL.
*** Bison version 1.875 or later is required.]) *** Bison version 1.875 or later is required.])
YACC="" BISON=""
fi fi
fi fi
if test -z "$YACC"; then if test -z "$BISON"; then
AC_MSG_WARN([ AC_MSG_WARN([
*** Without Bison you will not be able to build PostgreSQL from CVS nor *** Without Bison you will not be able to build PostgreSQL from CVS nor
*** change any of the parser definition files. You can obtain Bison from *** change any of the parser definition files. You can obtain Bison from
*** a GNU mirror site. (If you are using the official distribution of *** a GNU mirror site. (If you are using the official distribution of
*** PostgreSQL then you do not need to worry about this, because the Bison *** PostgreSQL then you do not need to worry about this, because the Bison
*** output is pre-generated.) To use a different yacc program (possible, *** output is pre-generated.)])
*** but not recommended), set the environment variable YACC before running
*** 'configure'.])
fi fi
# We don't need AC_SUBST(YACC) because AC_PATH_PROG did it # We don't need AC_SUBST(BISON) because AC_PATH_PROG did it
AC_SUBST(YFLAGS) AC_SUBST(BISONFLAGS)
])# PGAC_PATH_YACC ])# PGAC_PATH_BISON
......
...@@ -718,8 +718,8 @@ STRIP_SHARED_LIB ...@@ -718,8 +718,8 @@ STRIP_SHARED_LIB
TAR TAR
LN_S LN_S
AWK AWK
YACC BISON
YFLAGS BISONFLAGS
FLEX FLEX
FLEXFLAGS FLEXFLAGS
PERL PERL
...@@ -5952,18 +5952,18 @@ done ...@@ -5952,18 +5952,18 @@ done
# Let the user override the search # Let the user override the search
if test -z "$YACC"; then if test -z "$BISON"; then
for ac_prog in 'bison -y' for ac_prog in bison
do do
# Extract the first word of "$ac_prog", so it can be a program name with args. # Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2 set dummy $ac_prog; ac_word=$2
{ echo "$as_me:$LINENO: checking for $ac_word" >&5 { echo "$as_me:$LINENO: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
if test "${ac_cv_prog_YACC+set}" = set; then if test "${ac_cv_prog_BISON+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6 echo $ECHO_N "(cached) $ECHO_C" >&6
else else
if test -n "$YACC"; then if test -n "$BISON"; then
ac_cv_prog_YACC="$YACC" # Let the user override the test. ac_cv_prog_BISON="$BISON" # Let the user override the test.
else else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH for as_dir in $PATH
...@@ -5972,7 +5972,7 @@ do ...@@ -5972,7 +5972,7 @@ do
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_YACC="$ac_prog" ac_cv_prog_BISON="$ac_prog"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
fi fi
...@@ -5982,26 +5982,26 @@ IFS=$as_save_IFS ...@@ -5982,26 +5982,26 @@ IFS=$as_save_IFS
fi fi
fi fi
YACC=$ac_cv_prog_YACC BISON=$ac_cv_prog_BISON
if test -n "$YACC"; then if test -n "$BISON"; then
{ echo "$as_me:$LINENO: result: $YACC" >&5 { echo "$as_me:$LINENO: result: $BISON" >&5
echo "${ECHO_T}$YACC" >&6; } echo "${ECHO_T}$BISON" >&6; }
else else
{ echo "$as_me:$LINENO: result: no" >&5 { echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; } echo "${ECHO_T}no" >&6; }
fi fi
test -n "$YACC" && break test -n "$BISON" && break
done done
fi fi
if test "$YACC"; then if test "$BISON"; then
pgac_yacc_version=`$YACC --version 2>/dev/null | sed q` pgac_bison_version=`$BISON --version 2>/dev/null | sed q`
{ echo "$as_me:$LINENO: using $pgac_yacc_version" >&5 { echo "$as_me:$LINENO: using $pgac_bison_version" >&5
echo "$as_me: using $pgac_yacc_version" >&6;} echo "$as_me: using $pgac_bison_version" >&6;}
if echo "$pgac_yacc_version" | $AWK '{ if ($4 < 1.875) exit 0; else exit 1;}' if echo "$pgac_bison_version" | $AWK '{ if ($4 < 1.875) exit 0; else exit 1;}'
then then
{ echo "$as_me:$LINENO: WARNING: { echo "$as_me:$LINENO: WARNING:
*** The installed version of Bison is too old to use with PostgreSQL. *** The installed version of Bison is too old to use with PostgreSQL.
...@@ -6009,29 +6009,25 @@ echo "$as_me: using $pgac_yacc_version" >&6;} ...@@ -6009,29 +6009,25 @@ echo "$as_me: using $pgac_yacc_version" >&6;}
echo "$as_me: WARNING: echo "$as_me: WARNING:
*** The installed version of Bison is too old to use with PostgreSQL. *** The installed version of Bison is too old to use with PostgreSQL.
*** Bison version 1.875 or later is required." >&2;} *** Bison version 1.875 or later is required." >&2;}
YACC="" BISON=""
fi fi
fi fi
if test -z "$YACC"; then if test -z "$BISON"; then
{ echo "$as_me:$LINENO: WARNING: { echo "$as_me:$LINENO: WARNING:
*** Without Bison you will not be able to build PostgreSQL from CVS nor *** Without Bison you will not be able to build PostgreSQL from CVS nor
*** change any of the parser definition files. You can obtain Bison from *** change any of the parser definition files. You can obtain Bison from
*** a GNU mirror site. (If you are using the official distribution of *** a GNU mirror site. (If you are using the official distribution of
*** PostgreSQL then you do not need to worry about this, because the Bison *** PostgreSQL then you do not need to worry about this, because the Bison
*** output is pre-generated.) To use a different yacc program (possible, *** output is pre-generated.)" >&5
*** but not recommended), set the environment variable YACC before running
*** 'configure'." >&5
echo "$as_me: WARNING: echo "$as_me: WARNING:
*** Without Bison you will not be able to build PostgreSQL from CVS nor *** Without Bison you will not be able to build PostgreSQL from CVS nor
*** change any of the parser definition files. You can obtain Bison from *** change any of the parser definition files. You can obtain Bison from
*** a GNU mirror site. (If you are using the official distribution of *** a GNU mirror site. (If you are using the official distribution of
*** PostgreSQL then you do not need to worry about this, because the Bison *** PostgreSQL then you do not need to worry about this, because the Bison
*** output is pre-generated.) To use a different yacc program (possible, *** output is pre-generated.)" >&2;}
*** but not recommended), set the environment variable YACC before running
*** 'configure'." >&2;}
fi fi
# We don't need AC_SUBST(YACC) because AC_PATH_PROG did it # We don't need AC_SUBST(BISON) because AC_PATH_PROG did it
{ echo "$as_me:$LINENO: checking for flex" >&5 { echo "$as_me:$LINENO: checking for flex" >&5
...@@ -26600,8 +26596,8 @@ for ac_last_try in false false false false false :; do ...@@ -26600,8 +26596,8 @@ for ac_last_try in false false false false false :; do
TAR!$TAR$ac_delim TAR!$TAR$ac_delim
LN_S!$LN_S$ac_delim LN_S!$LN_S$ac_delim
AWK!$AWK$ac_delim AWK!$AWK$ac_delim
YACC!$YACC$ac_delim BISON!$BISON$ac_delim
YFLAGS!$YFLAGS$ac_delim BISONFLAGS!$BISONFLAGS$ac_delim
FLEX!$FLEX$ac_delim FLEX!$FLEX$ac_delim
FLEXFLAGS!$FLEXFLAGS$ac_delim FLEXFLAGS!$FLEXFLAGS$ac_delim
PERL!$PERL$ac_delim PERL!$PERL$ac_delim
......
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
dnl $PostgreSQL: pgsql/configure.in,v 1.564 2008/08/19 19:17:40 tgl Exp $ dnl $PostgreSQL: pgsql/configure.in,v 1.565 2008/08/29 13:02:32 petere Exp $
dnl dnl
dnl Developers, please strive to achieve this order: dnl Developers, please strive to achieve this order:
dnl dnl
...@@ -783,7 +783,7 @@ AC_PATH_PROG(TAR, tar) ...@@ -783,7 +783,7 @@ AC_PATH_PROG(TAR, tar)
AC_PROG_LN_S AC_PROG_LN_S
AC_PROG_AWK AC_PROG_AWK
PGAC_PATH_YACC PGAC_PATH_BISON
PGAC_PATH_FLEX PGAC_PATH_FLEX
PGAC_PATH_PERL PGAC_PATH_PERL
......
cubeparse.c cubeparse.c
cubeparse.h
cubescan.c cubescan.c
# $PostgreSQL: pgsql/contrib/cube/Makefile,v 1.21 2007/11/10 23:59:50 momjian Exp $ # $PostgreSQL: pgsql/contrib/cube/Makefile,v 1.22 2008/08/29 13:02:32 petere Exp $
MODULE_big = cube MODULE_big = cube
OBJS= cube.o cubeparse.o OBJS= cube.o cubeparse.o
...@@ -26,15 +26,9 @@ endif ...@@ -26,15 +26,9 @@ endif
# cubescan is compiled as part of cubeparse # cubescan is compiled as part of cubeparse
cubeparse.o: $(srcdir)/cubescan.c cubeparse.o: $(srcdir)/cubescan.c
# See notes in src/backend/parser/Makefile about the following two rules $(srcdir)/cubeparse.c: cubeparse.y
ifdef BISON
$(srcdir)/cubeparse.c: $(srcdir)/cubeparse.h ; $(BISON) $(BISONFLAGS) -o $@ $<
$(srcdir)/cubeparse.h: cubeparse.y
ifdef YACC
$(YACC) -d $(YFLAGS) $<
mv -f y.tab.c $(srcdir)/cubeparse.c
mv -f y.tab.h $(srcdir)/cubeparse.h
else else
@$(missing) bison $< $@ @$(missing) bison $< $@
endif endif
...@@ -46,7 +40,7 @@ else ...@@ -46,7 +40,7 @@ else
@$(missing) flex $< $@ @$(missing) flex $< $@
endif endif
distprep: $(srcdir)/cubeparse.c $(srcdir)/cubeparse.h $(srcdir)/cubescan.c distprep: $(srcdir)/cubeparse.c $(srcdir)/cubescan.c
maintainer-clean: maintainer-clean:
rm -f $(srcdir)/cubeparse.c $(srcdir)/cubeparse.h $(srcdir)/cubescan.c rm -f $(srcdir)/cubeparse.c $(srcdir)/cubescan.c
segparse.c segparse.c
segparse.h
segscan.c segscan.c
# $PostgreSQL: pgsql/contrib/seg/Makefile,v 1.20 2007/11/10 23:59:51 momjian Exp $ # $PostgreSQL: pgsql/contrib/seg/Makefile,v 1.21 2008/08/29 13:02:32 petere Exp $
MODULE_big = seg MODULE_big = seg
OBJS = seg.o segparse.o OBJS = seg.o segparse.o
...@@ -23,15 +23,9 @@ endif ...@@ -23,15 +23,9 @@ endif
# segscan is compiled as part of segparse # segscan is compiled as part of segparse
segparse.o: $(srcdir)/segscan.c segparse.o: $(srcdir)/segscan.c
# See notes in src/backend/parser/Makefile about the following two rules $(srcdir)/segparse.c: segparse.y
ifdef BISON
$(srcdir)/segparse.c: $(srcdir)/segparse.h ; $(BISON) $(BISONFLAGS) -o $@ $<
$(srcdir)/segparse.h: segparse.y
ifdef YACC
$(YACC) -d $(YFLAGS) $<
mv -f y.tab.c $(srcdir)/segparse.c
mv -f y.tab.h $(srcdir)/segparse.h
else else
@$(missing) bison $< $@ @$(missing) bison $< $@
endif endif
...@@ -43,7 +37,7 @@ else ...@@ -43,7 +37,7 @@ else
@$(missing) flex $< $@ @$(missing) flex $< $@
endif endif
distprep: $(srcdir)/segparse.c $(srcdir)/segparse.h $(srcdir)/segscan.c distprep: $(srcdir)/segparse.c $(srcdir)/segscan.c
maintainer-clean: maintainer-clean:
rm -f $(srcdir)/segparse.c $(srcdir)/segparse.h $(srcdir)/segscan.c rm -f $(srcdir)/segparse.c $(srcdir)/segscan.c
<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.311 2008/07/23 17:07:50 petere Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.312 2008/08/29 13:02:32 petere Exp $ -->
<chapter id="installation"> <chapter id="installation">
<title><![%standalone-include[<productname>PostgreSQL</>]]> <title><![%standalone-include[<productname>PostgreSQL</>]]>
...@@ -276,6 +276,9 @@ su - postgres ...@@ -276,6 +276,9 @@ su - postgres
<indexterm> <indexterm>
<primary>flex</primary> <primary>flex</primary>
</indexterm> </indexterm>
<indexterm>
<primary>lex</primary>
</indexterm>
<indexterm> <indexterm>
<primary>bison</primary> <primary>bison</primary>
</indexterm> </indexterm>
...@@ -287,10 +290,8 @@ su - postgres ...@@ -287,10 +290,8 @@ su - postgres
are needed to build a CVS checkout or if you changed the actual are needed to build a CVS checkout or if you changed the actual
scanner and parser definition files. If you need them, be sure scanner and parser definition files. If you need them, be sure
to get <application>Flex</> 2.5.4 or later and to get <application>Flex</> 2.5.4 or later and
<application>Bison</> 1.875 or later. Other <application>yacc</> <application>Bison</> 1.875 or later. Other <application>lex</>
programs can sometimes be used, but doing so requires extra and <application>yacc</> programs cannot be used.
effort and is not recommended. Other <application>lex</>
programs will definitely not work.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
...@@ -1341,6 +1342,15 @@ su - postgres ...@@ -1341,6 +1342,15 @@ su - postgres
this manner: this manner:
<variablelist> <variablelist>
<varlistentry>
<term><envar>BISON</envar></term>
<listitem>
<para>
Bison program
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><envar>CC</envar></term> <term><envar>CC</envar></term>
<listitem> <listitem>
...@@ -1395,6 +1405,15 @@ su - postgres ...@@ -1395,6 +1405,15 @@ su - postgres
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><envar>FLEX</envar></term>
<listitem>
<para>
Flex program
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><envar>LDFLAGS</envar></term> <term><envar>LDFLAGS</envar></term>
<listitem> <listitem>
...@@ -1462,15 +1481,6 @@ su - postgres ...@@ -1462,15 +1481,6 @@ su - postgres
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><envar>YACC</envar></term>
<listitem>
<para>
Yacc program (<literal>bison -y</literal> if using Bison)
</para>
</listitem>
</varlistentry>
</variablelist> </variablelist>
</para> </para>
</step> </step>
......
# -*-makefile-*- # -*-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, # All PostgreSQL makefiles include this file and use the variables it sets,
...@@ -216,8 +216,8 @@ CFLAGS = @CFLAGS@ ...@@ -216,8 +216,8 @@ CFLAGS = @CFLAGS@
# Kind-of compilers # Kind-of compilers
YACC = @YACC@ BISON = @BISON@
YFLAGS = @YFLAGS@ BISONFLAGS = @BISONFLAGS@ $(YFLAGS)
FLEX = @FLEX@ FLEX = @FLEX@
FLEXFLAGS = @FLEXFLAGS@ $(LFLAGS) FLEXFLAGS = @FLEXFLAGS@ $(LFLAGS)
DTRACE = @DTRACE@ DTRACE = @DTRACE@
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
# Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group # Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California # 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 ...@@ -105,7 +105,7 @@ endif
endif # aix endif # aix
# Update the commonly used headers before building the subdirectories # 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 # The postgres.o target is needed by the rule in Makefile.global that
...@@ -118,8 +118,8 @@ postgres.o: $(OBJS) ...@@ -118,8 +118,8 @@ postgres.o: $(OBJS)
# the make files in our subdirectories. Note that it's important we # the make files in our subdirectories. Note that it's important we
# match the dependencies shown in the subdirectory makefiles! # match the dependencies shown in the subdirectory makefiles!
$(srcdir)/parser/parse.h: parser/gram.y $(srcdir)/parser/gram.h: parser/gram.y
$(MAKE) -C parser parse.h $(MAKE) -C parser gram.h
utils/fmgroids.h: utils/Gen_fmgrtab.sh $(top_srcdir)/src/include/catalog/pg_proc.h utils/fmgroids.h: utils/Gen_fmgrtab.sh $(top_srcdir)/src/include/catalog/pg_proc.h
$(MAKE) -C utils fmgroids.h $(MAKE) -C utils fmgroids.h
...@@ -131,7 +131,7 @@ utils/probes.h: utils/probes.d ...@@ -131,7 +131,7 @@ utils/probes.h: utils/probes.d
# we can cut down on the -I options. Also, a symlink is automatically # we can cut down on the -I options. Also, a symlink is automatically
# up to date when we update the base file. # 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` && \ prereqdir=`cd $(dir $<) >/dev/null && pwd` && \
cd $(dir $@) && rm -f $(notdir $@) && \ cd $(dir $@) && rm -f $(notdir $@) && \
$(LN_S) "$$prereqdir/$(notdir $<)" . $(LN_S) "$$prereqdir/$(notdir $<)" .
...@@ -154,8 +154,8 @@ endif ...@@ -154,8 +154,8 @@ endif
########################################################################## ##########################################################################
distprep: distprep:
$(MAKE) -C parser gram.c parse.h scan.c $(MAKE) -C parser gram.c gram.h scan.c
$(MAKE) -C bootstrap bootparse.c bootstrap_tokens.h bootscanner.c $(MAKE) -C bootstrap bootparse.c bootscanner.c
$(MAKE) -C utils/misc guc-file.c $(MAKE) -C utils/misc guc-file.c
...@@ -239,7 +239,7 @@ endif ...@@ -239,7 +239,7 @@ endif
clean: clean:
rm -f $(LOCALOBJS) postgres$(X) $(POSTGRES_IMP) \ 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 $(top_builddir)/src/include/utils/fmgroids.h
ifeq ($(PORTNAME), cygwin) ifeq ($(PORTNAME), cygwin)
rm -f postgres.dll postgres.def libpostgres.a rm -f postgres.dll postgres.def libpostgres.a
...@@ -254,10 +254,9 @@ distclean: clean ...@@ -254,10 +254,9 @@ distclean: clean
maintainer-clean: distclean maintainer-clean: distclean
rm -f $(srcdir)/bootstrap/bootparse.c \ rm -f $(srcdir)/bootstrap/bootparse.c \
$(srcdir)/bootstrap/bootscanner.c \ $(srcdir)/bootstrap/bootscanner.c \
$(srcdir)/bootstrap/bootstrap_tokens.h \
$(srcdir)/parser/gram.c \ $(srcdir)/parser/gram.c \
$(srcdir)/parser/scan.c \ $(srcdir)/parser/scan.c \
$(srcdir)/parser/parse.h \ $(srcdir)/parser/gram.h \
$(srcdir)/utils/misc/guc-file.c $(srcdir)/utils/misc/guc-file.c
......
bootparse.c bootparse.c
bootstrap_tokens.h
bootscanner.c bootscanner.c
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Makefile for the bootstrap module # 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 ...@@ -20,15 +20,9 @@ include $(top_srcdir)/src/backend/common.mk
# bootscanner is compiled as part of bootparse # bootscanner is compiled as part of bootparse
bootparse.o: $(srcdir)/bootscanner.c bootparse.o: $(srcdir)/bootscanner.c
# See notes in src/backend/parser/Makefile about the following two rules $(srcdir)/bootparse.c: bootparse.y
ifdef BISON
$(srcdir)/bootparse.c: $(srcdir)/bootstrap_tokens.h ; $(BISON) $(BISONFLAGS) -o $@ $<
$(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
else else
@$(missing) bison $< $@ @$(missing) bison $< $@
endif endif
...@@ -40,12 +34,6 @@ else ...@@ -40,12 +34,6 @@ else
@$(missing) flex $< $@ @$(missing) flex $< $@
endif 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 # bootparse.c and bootscanner.c are in the distribution tarball, so
# tarball, so they are not cleaned here. # 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
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* *
* *
* IDENTIFICATION * 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 @@ ...@@ -37,7 +37,7 @@
#include "utils/rel.h" #include "utils/rel.h"
/* Not needed now that this file is compiled as part of bootparse. */ /* 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) */ /* Avoid exit() on fatal scanner errors (a bit ugly -- see yy_fatal_error) */
......
parse.h gram.h
gram.c gram.c
scan.c scan.c
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Makefile for parser # 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 ...@@ -32,13 +32,11 @@ gram.o: $(srcdir)/scan.c
# important, otherwise make will choose the built-in rule for # important, otherwise make will choose the built-in rule for
# gram.y=>gram.c. # gram.y=>gram.c.
$(srcdir)/gram.c: $(srcdir)/parse.h ; $(srcdir)/gram.h: $(srcdir)/gram.c ;
$(srcdir)/parse.h: gram.y $(srcdir)/gram.c: gram.y
ifdef YACC ifdef BISON
$(YACC) -d $(YFLAGS) $< $(BISON) -d $(BISONFLAGS) -o $@ $<
mv -f y.tab.c $(srcdir)/gram.c
mv -f y.tab.h $(srcdir)/parse.h
else else
@$(missing) bison $< $@ @$(missing) bison $< $@
endif endif
...@@ -53,11 +51,8 @@ endif ...@@ -53,11 +51,8 @@ endif
# Force these dependencies to be known even without dependency info built: # 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. # 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
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
* *
* *
* IDENTIFICATION * 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 @@ ...@@ -22,7 +22,7 @@
#include <ctype.h> #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 * We don't need that struct in this file, and including the real definition
* would require sucking in some backend-only include files. * would require sucking in some backend-only include files.
*/ */
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#include "parser/keywords.h" #include "parser/keywords.h"
#ifndef ECPG_COMPILE #ifndef ECPG_COMPILE
#include "parser/parse.h" #include "parser/gram.h"
#else #else
#include "preproc.h" #include "preproc.h"
#endif #endif
......
...@@ -14,15 +14,15 @@ ...@@ -14,15 +14,15 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * 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 "postgres.h"
#include "parser/gramparse.h" /* required before parser/parse.h! */ #include "parser/gramparse.h" /* required before parser/gram.h! */
#include "parser/parse.h" #include "parser/gram.h"
#include "parser/parser.h" #include "parser/parser.h"
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * 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 @@ ...@@ -36,7 +36,7 @@
#include "parser/gramparse.h" #include "parser/gramparse.h"
#include "parser/keywords.h" #include "parser/keywords.h"
/* Not needed now that this file is compiled as part of gram.y */ /* 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 "parser/scansup.h"
#include "mb/pg_wchar.h" #include "mb/pg_wchar.h"
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# #
# 'make install' installs whole contents of src/include. # '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: ...@@ -61,7 +61,7 @@ uninstall:
clean: 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 distclean maintainer-clean: clean
rm -f pg_config.h dynloader.h pg_config_os.h stamp-h rm -f pg_config.h dynloader.h pg_config_os.h stamp-h
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# #
# Copyright (c) 1998-2008, PostgreSQL Global Development Group # 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) ...@@ -36,13 +36,11 @@ ecpg: $(OBJS)
# pgc is compiled as part of preproc # pgc is compiled as part of preproc
preproc.o: $(srcdir)/pgc.c preproc.o: $(srcdir)/pgc.c
$(srcdir)/preproc.c: $(srcdir)/preproc.h ; $(srcdir)/preproc.h: $(srcdir)/preproc.c ;
$(srcdir)/preproc.h: preproc.y $(srcdir)/preproc.c: preproc.y
ifdef YACC ifdef BISON
$(YACC) -d $(YFLAGS) $< $(BISON) -d $(BISONFLAGS) -o $@ $<
mv -f y.tab.c $(srcdir)/preproc.c
mv -f y.tab.h $(srcdir)/preproc.h
else else
@$(missing) bison $< $@ @$(missing) bison $< $@
endif endif
...@@ -74,10 +72,8 @@ uninstall: ...@@ -74,10 +72,8 @@ uninstall:
clean distclean: clean distclean:
rm -f keywords.c *.o ecpg$(X) rm -f keywords.c *.o ecpg$(X)
# garbage from partial builds
@rm -f y.tab.c y.tab.h
# garbage from development # 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 # `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 # want to ship those files in the distribution for people with
......
pl_gram.c pl_gram.c
pl.tab.h pl_gram.h
pl_scan.c pl_scan.c
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Makefile for the plpgsql shared object # 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 ...@@ -33,20 +33,18 @@ uninstall: uninstall-lib
# Force these dependencies to be known even without dependency info built: # 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_scan is compiled as part of pl_gram
pl_gram.o: $(srcdir)/pl_scan.c pl_gram.o: $(srcdir)/pl_scan.c
# See notes in src/backend/parser/Makefile about the following two rules # 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 $(srcdir)/pl_gram.c: gram.y
ifdef YACC ifdef BISON
$(YACC) -d $(YFLAGS) $< $(BISON) -d $(BISONFLAGS) -o $@ $<
mv -f y.tab.c $(srcdir)/pl_gram.c
mv -f y.tab.h $(srcdir)/pl.tab.h
else else
@$(missing) bison $< $@ @$(missing) bison $< $@
endif endif
...@@ -62,14 +60,12 @@ else ...@@ -62,14 +60,12 @@ else
@$(missing) flex $< $@ @$(missing) flex $< $@
endif 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. # so they are not cleaned here.
clean distclean: clean-lib clean distclean: clean-lib
rm -f $(OBJS) 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 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
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * 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 @@ ...@@ -17,7 +17,7 @@
#include <ctype.h> #include <ctype.h>
#include "pl.tab.h" #include "pl_gram.h"
#include "catalog/namespace.h" #include "catalog/namespace.h"
#include "catalog/pg_attrdef.h" #include "catalog/pg_attrdef.h"
......
...@@ -8,13 +8,12 @@ ...@@ -8,13 +8,12 @@
* *
* *
* IDENTIFICATION * 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 "plpgsql.h"
#include "pl.tab.h"
#include <ctype.h> #include <ctype.h>
......
...@@ -8,13 +8,12 @@ ...@@ -8,13 +8,12 @@
* *
* *
* IDENTIFICATION * 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 "plpgsql.h"
#include "pl.tab.h"
#include <ctype.h> #include <ctype.h>
......
...@@ -8,13 +8,12 @@ ...@@ -8,13 +8,12 @@
* *
* *
* IDENTIFICATION * 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 "plpgsql.h"
#include "pl.tab.h"
#include "catalog/pg_proc.h" #include "catalog/pg_proc.h"
#include "catalog/pg_type.h" #include "catalog/pg_type.h"
......
@echo off @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 set DIST=0
if "%1"=="dist" set DIST=1 if "%1"=="dist" set DIST=1
...@@ -18,7 +18,7 @@ if exist src\backend\win32ver.rc del /q src\backend\win32ver.rc ...@@ -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 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.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 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\fmgroids.h del /q src\include\utils\fmgroids.h
if exist src\include\utils\probes.h del /q src\include\utils\probes.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 ...@@ -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\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\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\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 if %DIST%==1 if exist src\backend\utils\misc\guc-file.c del /q src\backend\utils\misc\guc-file.c
......
@echo off @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 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 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 ...@@ -15,8 +15,8 @@ if %BV% GEQ 2.2 goto bisonok
goto nobison goto nobison
:bisonok :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\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 src\backend\bootstrap\bootstrap_tokens.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\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" == "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 if "%1" == "contrib\cube\cubeparse.y" call :generate %1 contrib\cube\cubeparse.c contrib\cube\cubeparse.h
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment