Remove separate version numbering for ecpg preprocessor.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Aug 2016 16:49:30 +0000 (12:49 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Aug 2016 16:49:30 +0000 (12:49 -0400)
Once upon a time, it made sense for the ecpg preprocessor to have its
own version number, because it used a manually-maintained grammar that
wasn't always in sync with the core grammar.  But those days are
thankfully long gone, leaving only a maintenance nuisance behind.
Let's use the PG v10 version numbering changeover as an excuse to get
rid of the ecpg version number and just have ecpg identify itself by
PG_VERSION.  From the user's standpoint, ecpg will go from "4.12" in
the 9.6 branch to "10" in the 10 branch, so there's no failure of
monotonicity.

Discussion: <1471332659.4410.67.camel@postgresql.org>

src/interfaces/ecpg/preproc/Makefile
src/interfaces/ecpg/preproc/ecpg.c
src/tools/RELEASE_CHANGES
src/tools/msvc/Mkvcbuild.pm

index 7dd4b2ffdbbba89e12e12972094babf44c3dddc7..b5dbdd61505f342f372a869e92b61db58a8fa02d 100644 (file)
@@ -15,16 +15,11 @@ subdir = src/interfaces/ecpg/preproc
 top_builddir = ../../../..
 include $(top_builddir)/src/Makefile.global
 
-MAJOR_VERSION= 4
-MINOR_VERSION= 13
-PATCHLEVEL=0
-
 override CPPFLAGS := -I../include -I$(top_srcdir)/src/interfaces/ecpg/include \
-       -I. -I$(srcdir) -DMAJOR_VERSION=$(MAJOR_VERSION) \
-       -DMINOR_VERSION=$(MINOR_VERSION) -DPATCHLEVEL=$(PATCHLEVEL) \
+       -I. -I$(srcdir) -DECPG_COMPILE \
         $(CPPFLAGS)
 
-override CFLAGS += $(PTHREAD_CFLAGS) -DECPG_COMPILE
+override CFLAGS += $(PTHREAD_CFLAGS)
 
 OBJS=  preproc.o pgc.o type.o ecpg.o output.o parser.o \
        keywords.o c_keywords.o ecpg_keywords.o ../ecpglib/typename.o descriptor.o variable.o \
index c7fd034bc184262ad091a9b8736195a18aed5e0d..3ce9d04bcc641753f5c648627fc8eb790fc380f9 100644 (file)
@@ -150,8 +150,7 @@ main(int argc, char *const argv[])
                switch (c)
                {
                        case ECPG_GETOPT_LONG_VERSION:
-                               printf("ecpg (PostgreSQL %s) %d.%d.%d\n", PG_VERSION,
-                                          MAJOR_VERSION, MINOR_VERSION, PATCHLEVEL);
+                               printf("ecpg %s\n", PG_VERSION);
                                exit(0);
                        case ECPG_GETOPT_LONG_HELP:
                                help(progname);
@@ -264,8 +263,9 @@ main(int argc, char *const argv[])
 
        if (verbose)
        {
-               fprintf(stderr, _("%s, the PostgreSQL embedded C preprocessor, version %d.%d.%d\n"),
-                               progname, MAJOR_VERSION, MINOR_VERSION, PATCHLEVEL);
+               fprintf(stderr,
+                               _("%s, the PostgreSQL embedded C preprocessor, version %s\n"),
+                               progname, PG_VERSION);
                fprintf(stderr, _("EXEC SQL INCLUDE ... search starts here:\n"));
                for (ip = include_paths; ip != NULL; ip = ip->next)
                        fprintf(stderr, " %s\n", ip->path);
@@ -440,7 +440,7 @@ main(int argc, char *const argv[])
                                if (regression_mode)
                                        fprintf(yyout, "/* Processed by ecpg (regression mode) */\n");
                                else
-                                       fprintf(yyout, "/* Processed by ecpg (%d.%d.%d) */\n", MAJOR_VERSION, MINOR_VERSION, PATCHLEVEL);
+                                       fprintf(yyout, "/* Processed by ecpg (%s) */\n", PG_VERSION);
 
                                if (header_mode == false)
                                {
index ad492205926cd350d02673997d840091e645f9a5..e6e294b07e698025d7ecc8282d5166b1ed8dabd1 100644 (file)
@@ -80,13 +80,11 @@ Starting a New Development Cycle
 * Add version tag to src/tools/git_changelog
 
 * Bump minor library versions, major if appropriate (see below)
-  o Look for SO_MINOR_VERSION and MINOR_VERSION macros in
+  o Look for SO_MINOR_VERSION macros in
        src/interfaces/ecpg/compatlib/Makefile
        src/interfaces/ecpg/ecpglib/Makefile
        src/interfaces/ecpg/pgtypeslib/Makefile
-       src/interfaces/ecpg/preproc/Makefile
        src/interfaces/libpq/Makefile
-       src/tools/msvc/Mkvcbuild.pm
 
 
 Creating Back-Branch Release Notes
index 16180f68edf3198232266e29b6fe25f796d8aa77..da4d9847fc594333f6358a51013c0cb1781fcf3c 100644 (file)
@@ -269,9 +269,6 @@ sub mkvcbuild
        $ecpg->AddIncludeDir('src/interfaces/libpq');
        $ecpg->AddPrefixInclude('src/interfaces/ecpg/preproc');
        $ecpg->AddFiles('src/interfaces/ecpg/preproc', 'pgc.l', 'preproc.y');
-       $ecpg->AddDefine('MAJOR_VERSION=4');
-       $ecpg->AddDefine('MINOR_VERSION=13');
-       $ecpg->AddDefine('PATCHLEVEL=0');
        $ecpg->AddDefine('ECPG_COMPILE');
        $ecpg->AddReference($libpgcommon, $libpgport);