Remove all traces that suggest that a non-Bison yacc might be supported, and
authorPeter Eisentraut <[email protected]>
Fri, 29 Aug 2008 13:02:33 +0000 (13:02 +0000)
committerPeter Eisentraut <[email protected]>
Fri, 29 Aug 2008 13:02:33 +0000 (13:02 +0000)
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.

28 files changed:
config/programs.m4
configure
configure.in
contrib/cube/.cvsignore
contrib/cube/Makefile
contrib/seg/.cvsignore
contrib/seg/Makefile
doc/src/sgml/installation.sgml
src/Makefile.global.in
src/backend/Makefile
src/backend/bootstrap/.cvsignore
src/backend/bootstrap/Makefile
src/backend/bootstrap/bootscanner.l
src/backend/parser/.cvsignore
src/backend/parser/Makefile
src/backend/parser/keywords.c
src/backend/parser/parser.c
src/backend/parser/scan.l
src/include/Makefile
src/interfaces/ecpg/preproc/Makefile
src/pl/plpgsql/src/.cvsignore
src/pl/plpgsql/src/Makefile
src/pl/plpgsql/src/pl_comp.c
src/pl/plpgsql/src/pl_exec.c
src/pl/plpgsql/src/pl_funcs.c
src/pl/plpgsql/src/pl_handler.c
src/tools/msvc/clean.bat
src/tools/msvc/pgbison.bat

index 6eb6b4948d85dee344a0a40c0753a073002bca97..f792aa8a92e89aadb68f6e52fae356d54c6cd4a7 100644 (file)
@@ -1,43 +1,41 @@
 # $PostgreSQL$
 
 
-# PGAC_PATH_YACC
-# --------------
-# Look for Bison, set the output variable YACC to its path if found.
+# PGAC_PATH_BISON
+# ---------------
+# Look for Bison, set the output variable BISON to its path if found.
 # Reject versions before 1.875 (they have bugs or capacity limits).
 # 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
-if test -z "$YACC"; then
-  AC_CHECK_PROGS(YACC, ['bison -y'])
+if test -z "$BISON"; then
+  AC_CHECK_PROGS(BISON, bison)
 fi
 
-if test "$YACC"; then
-  pgac_yacc_version=`$YACC --version 2>/dev/null | sed q`
-  AC_MSG_NOTICE([using $pgac_yacc_version])
-  if echo "$pgac_yacc_version" | $AWK '{ if ([$]4 < 1.875) exit 0; else exit 1;}'
+if test "$BISON"; then
+  pgac_bison_version=`$BISON --version 2>/dev/null | sed q`
+  AC_MSG_NOTICE([using $pgac_bison_version])
+  if echo "$pgac_bison_version" | $AWK '{ if ([$]4 < 1.875) exit 0; else exit 1;}'
   then
     AC_MSG_WARN([
 *** The installed version of Bison is too old to use with PostgreSQL.
 *** Bison version 1.875 or later is required.])
-    YACC=""
+    BISON=""
   fi
 fi
 
-if test -z "$YACC"; then
+if test -z "$BISON"; then
   AC_MSG_WARN([
 *** 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
 *** 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
-*** output is pre-generated.)  To use a different yacc program (possible,
-*** but not recommended), set the environment variable YACC before running
-*** 'configure'.])
+*** output is pre-generated.)])
 fi
-# We don't need AC_SUBST(YACC) because AC_PATH_PROG did it
-AC_SUBST(YFLAGS)
-])# PGAC_PATH_YACC
+# We don't need AC_SUBST(BISON) because AC_PATH_PROG did it
+AC_SUBST(BISONFLAGS)
+])# PGAC_PATH_BISON
 
 
 
index 042ea1598a32791b095a189b0d97b339b64dc7d2..b8a7287efa8d294be77401f001bf406ff451b35e 100755 (executable)
--- a/configure
+++ b/configure
@@ -718,8 +718,8 @@ STRIP_SHARED_LIB
 TAR
 LN_S
 AWK
-YACC
-YFLAGS
+BISON
+BISONFLAGS
 FLEX
 FLEXFLAGS
 PERL
@@ -5952,18 +5952,18 @@ done
 
 
 # Let the user override the search
-if test -z "$YACC"; then
-  for ac_prog in 'bison -y'
+if test -z "$BISON"; then
+  for ac_prog in bison
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 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
 else
-  if test -n "$YACC"; then
-  ac_cv_prog_YACC="$YACC" # Let the user override the test.
+  if test -n "$BISON"; then
+  ac_cv_prog_BISON="$BISON" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -5972,7 +5972,7 @@ do
   test -z "$as_dir" && as_dir=.
   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
-    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
     break 2
   fi
@@ -5982,26 +5982,26 @@ IFS=$as_save_IFS
 
 fi
 fi
-YACC=$ac_cv_prog_YACC
-if test -n "$YACC"; then
-  { echo "$as_me:$LINENO: result: $YACC" >&5
-echo "${ECHO_T}$YACC" >&6; }
+BISON=$ac_cv_prog_BISON
+if test -n "$BISON"; then
+  { echo "$as_me:$LINENO: result: $BISON" >&5
+echo "${ECHO_T}$BISON" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
 
-  test -n "$YACC" && break
+  test -n "$BISON" && break
 done
 
 fi
 
-if test "$YACC"; then
-  pgac_yacc_version=`$YACC --version 2>/dev/null | sed q`
-  { echo "$as_me:$LINENO: using $pgac_yacc_version" >&5
-echo "$as_me: using $pgac_yacc_version" >&6;}
-  if echo "$pgac_yacc_version" | $AWK '{ if ($4 < 1.875) exit 0; else exit 1;}'
+if test "$BISON"; then
+  pgac_bison_version=`$BISON --version 2>/dev/null | sed q`
+  { echo "$as_me:$LINENO: using $pgac_bison_version" >&5
+echo "$as_me: using $pgac_bison_version" >&6;}
+  if echo "$pgac_bison_version" | $AWK '{ if ($4 < 1.875) exit 0; else exit 1;}'
   then
     { echo "$as_me:$LINENO: WARNING:
 *** The installed version of Bison is too old to use with PostgreSQL.
@@ -6009,29 +6009,25 @@ echo "$as_me: using $pgac_yacc_version" >&6;}
 echo "$as_me: WARNING:
 *** The installed version of Bison is too old to use with PostgreSQL.
 *** Bison version 1.875 or later is required." >&2;}
-    YACC=""
+    BISON=""
   fi
 fi
 
-if test -z "$YACC"; then
+if test -z "$BISON"; then
   { echo "$as_me:$LINENO: WARNING:
 *** 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
 *** 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
-*** output is pre-generated.)  To use a different yacc program (possible,
-*** but not recommended), set the environment variable YACC before running
-*** 'configure'." >&5
+*** output is pre-generated.)" >&5
 echo "$as_me: WARNING:
 *** 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
 *** 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
-*** output is pre-generated.)  To use a different yacc program (possible,
-*** but not recommended), set the environment variable YACC before running
-*** 'configure'." >&2;}
+*** output is pre-generated.)" >&2;}
 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
@@ -26600,8 +26596,8 @@ for ac_last_try in false false false false false :; do
 TAR!$TAR$ac_delim
 LN_S!$LN_S$ac_delim
 AWK!$AWK$ac_delim
-YACC!$YACC$ac_delim
-YFLAGS!$YFLAGS$ac_delim
+BISON!$BISON$ac_delim
+BISONFLAGS!$BISONFLAGS$ac_delim
 FLEX!$FLEX$ac_delim
 FLEXFLAGS!$FLEXFLAGS$ac_delim
 PERL!$PERL$ac_delim
index b358e49c9d0366221287c16e2b0894c35cb8ec61..9976c27384e38efc4a3eb88e180ff635d66f70f8 100644 (file)
@@ -783,7 +783,7 @@ AC_PATH_PROG(TAR, tar)
 AC_PROG_LN_S
 AC_PROG_AWK
 
-PGAC_PATH_YACC
+PGAC_PATH_BISON
 PGAC_PATH_FLEX
 
 PGAC_PATH_PERL
index fe92b5e14fdfd75a47a02e2a0faac57a2553b8b6..19ecc85b586bf6ecd330367429850552bb410946 100644 (file)
@@ -1,3 +1,2 @@
 cubeparse.c
-cubeparse.h
 cubescan.c
index 6240e48931e62dc14803ab015db8e57fd23f929a..066ebd64dc96499e70d8fe207433cc022f054cde 100644 (file)
@@ -26,15 +26,9 @@ endif
 # cubescan is compiled as part of cubeparse
 cubeparse.o: $(srcdir)/cubescan.c
 
-# See notes in src/backend/parser/Makefile about the following two rules
-
-$(srcdir)/cubeparse.c: $(srcdir)/cubeparse.h ;
-
-$(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
+$(srcdir)/cubeparse.c: cubeparse.y
+ifdef BISON
+       $(BISON) $(BISONFLAGS) -o $@ $<
 else
        @$(missing) bison $< $@
 endif
@@ -46,7 +40,7 @@ else
        @$(missing) flex $< $@
 endif
 
-distprep: $(srcdir)/cubeparse.c $(srcdir)/cubeparse.h $(srcdir)/cubescan.c
+distprep: $(srcdir)/cubeparse.c $(srcdir)/cubescan.c
 
 maintainer-clean:
-       rm -f $(srcdir)/cubeparse.c $(srcdir)/cubeparse.h $(srcdir)/cubescan.c
+       rm -f $(srcdir)/cubeparse.c $(srcdir)/cubescan.c
index e69a249aecb185979ce67a558dfcc482e569b74b..aa740d3474e6a785c54e631c30499f202f2c9ffe 100644 (file)
@@ -1,3 +1,2 @@
 segparse.c
-segparse.h
 segscan.c
index 124dbf17f1a8dfaed1a8c4ec1abc6fa9447fa18c..83950a0ba61da3b09912a5747e392f66b6282fba 100644 (file)
@@ -23,15 +23,9 @@ endif
 # segscan is compiled as part of segparse
 segparse.o: $(srcdir)/segscan.c
 
-# See notes in src/backend/parser/Makefile about the following two rules
-
-$(srcdir)/segparse.c: $(srcdir)/segparse.h ;
-
-$(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
+$(srcdir)/segparse.c: segparse.y
+ifdef BISON
+       $(BISON) $(BISONFLAGS) -o $@ $<
 else
        @$(missing) bison $< $@
 endif
@@ -43,7 +37,7 @@ else
        @$(missing) flex $< $@
 endif
 
-distprep: $(srcdir)/segparse.c $(srcdir)/segparse.h $(srcdir)/segscan.c
+distprep: $(srcdir)/segparse.c $(srcdir)/segscan.c
 
 maintainer-clean:
-       rm -f $(srcdir)/segparse.c $(srcdir)/segparse.h $(srcdir)/segscan.c
+       rm -f $(srcdir)/segparse.c $(srcdir)/segscan.c
index 1438269b34ff5510770fd4a27f35076299641c18..00870721aaa7ac0b450ac70997c06b318bee0cbc 100644 (file)
@@ -276,6 +276,9 @@ su - postgres
       <indexterm>
        <primary>flex</primary>
       </indexterm>
+      <indexterm>
+       <primary>lex</primary>
+      </indexterm>
       <indexterm>
        <primary>bison</primary>
       </indexterm>
@@ -287,10 +290,8 @@ su - postgres
       are needed to build a CVS checkout or if you changed the actual
       scanner and parser definition files. If you need them, be sure
       to get <application>Flex</> 2.5.4 or later and
-      <application>Bison</> 1.875 or later. Other <application>yacc</>
-      programs can sometimes be used, but doing so requires extra
-      effort and is not recommended. Other <application>lex</>
-      programs will definitely not work.
+      <application>Bison</> 1.875 or later. Other <application>lex</>
+      and <application>yacc</> programs cannot be used.
      </para>
     </listitem>
    </itemizedlist>
@@ -1341,6 +1342,15 @@ su - postgres
      this manner:
  
      <variablelist>
+      <varlistentry>
+       <term><envar>BISON</envar></term>
+       <listitem>
+        <para>
+         Bison program
+        </para>
+       </listitem>
+      </varlistentry>
+
       <varlistentry>
        <term><envar>CC</envar></term>
        <listitem>
@@ -1395,6 +1405,15 @@ su - postgres
        </listitem>
       </varlistentry>
 
+      <varlistentry>
+       <term><envar>FLEX</envar></term>
+       <listitem>
+        <para>
+         Flex program
+        </para>
+       </listitem>
+      </varlistentry>
+
       <varlistentry>
        <term><envar>LDFLAGS</envar></term>
        <listitem>
@@ -1462,15 +1481,6 @@ su - postgres
         </para>
        </listitem>
       </varlistentry>
-
-      <varlistentry>
-       <term><envar>YACC</envar></term>
-       <listitem>
-        <para>
-         Yacc program (<literal>bison -y</literal> if using Bison)
-        </para>
-       </listitem>
-      </varlistentry>
      </variablelist>
     </para>
    </step>
index f6a8de7d44575944c211d10f22d0358eaa70da01..7e6ae3333dc763a88da6358d5f656e50c6f47cff 100644 (file)
@@ -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@
index badc0f14b1a9fcd38e47d9e519c072a7e3bb74bd..b8ac4d1292a04ab9db8e46cb5d6a9e1b905ebb0e 100644 (file)
@@ -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
 
 
index 511777ca30c9aa4abd75d734682762e248e17be0..5201be98868a5a283132e6738ab1c790b063a348 100644 (file)
@@ -1,3 +1,2 @@
 bootparse.c
-bootstrap_tokens.h
 bootscanner.c
index b9e18b6fd1a059a0f5d539a76c2a9028b51fd5b4..8b3810132b951c016b63dd2865ca5db0d8fd6d4e 100644 (file)
@@ -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.
index f82e0e9f91550cea9f268190a6dd8a9e1d7e127d..43a400f722cf24237e57f7cc2b2e5f5b5574a622 100644 (file)
@@ -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) */
index 84c828f3bf4d30b68981b68f4427be90372bb2c6..6545728c5c55ce8ea688e3ba552df7a15375afc9 100644 (file)
@@ -1,3 +1,3 @@
-parse.h
+gram.h
 gram.c
 scan.c
index 70c5045cdbfc94381e0c539666056a28b2e2f0e8..2d6eccf4c6b31add994cd29a9f08a39dc877092d 100644 (file)
@@ -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
index 4216a46fa0b5f33fe9e4db806e992c955c21bc4c..b30a478046e8c87d6a6ec7bd7f61273969fa0acc 100644 (file)
@@ -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
index d0894f3145d59e00b9357af38613d93d6d7b1c4f..bd2689a8fede37045356748c0ccac2efcfc32189 100644 (file)
@@ -21,8 +21,8 @@
 
 #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"
 
 
index 012b120a9e1032a26aa9ae7b027366740cb207a0..0480965c383afb2246ecffa6464bf4569e221d4c 100644 (file)
@@ -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"
 
index cbaf4512167da6a8dedbab29df2a011c3fe50144..62edd3a5965fb6eb75a8c55c19714f8386f938f9 100644 (file)
@@ -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
index e83860d9207fc7a6315955c66479e8cfadb2ee09..29155324be83db32123ecafe8ef0b22aef5f7ec3 100644 (file)
@@ -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
index 8625a9b63444a2c4cc839e845ec430fd3559efdf..e3b861c6fef73505149ee084fa379e5ece6738f3 100644 (file)
@@ -1,3 +1,3 @@
 pl_gram.c
-pl.tab.h
+pl_gram.h
 pl_scan.c
index 1a046d24c52dea2bae88dab2593496e040a8580d..48ea5233881ea5b2ae8d17630ed18dce8c1d7e13 100644 (file)
@@ -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
index ae1297e1aaa2a58b4cdfc5c2e471c8a1ce9e7f3b..857c9c14de4555cf4e044623a385f6d216e423fe 100644 (file)
@@ -17,7 +17,7 @@
 
 #include <ctype.h>
 
-#include "pl.tab.h"
+#include "pl_gram.h"
 
 #include "catalog/namespace.h"
 #include "catalog/pg_attrdef.h"
index 1165ace62f0eb67c29b95f7fa48d7a8afdb4e468..08f2f16cb757576bd6eb76d8dabec46304dd7fbe 100644 (file)
@@ -14,7 +14,6 @@
  */
 
 #include "plpgsql.h"
-#include "pl.tab.h"
 
 #include <ctype.h>
 
index fa99631d1db5cc62d66addfce1e0895b6398cc44..74d9c56cba5fbd660b250d18944153f6313a33b9 100644 (file)
@@ -14,7 +14,6 @@
  */
 
 #include "plpgsql.h"
-#include "pl.tab.h"
 
 #include <ctype.h>
 
index 6d209ad9404ef51ac8b3288166947f95a2714862..51c1214c325040c11948d6bc88a2c538f4c08fd0 100644 (file)
@@ -14,7 +14,6 @@
  */
 
 #include "plpgsql.h"
-#include "pl.tab.h"
 
 #include "catalog/pg_proc.h"
 #include "catalog/pg_type.h"
index 23098feceba46f0832f2739135929a9db8e1f828..c024b900031e7ecb66f6f5c3ac1b27f90f2b946b 100755 (executable)
@@ -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
 
 
index b7ba958a026ece0163adacda95e148792a715d2b..5f3a67c5709806e9184a615942b4579127e137d1 100755 (executable)
@@ -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