Remove separate version numbering for ecpg preprocessor.
authorTom Lane
Tue, 16 Aug 2016 16:49:30 +0000 (12:49 -0400)
committerTom Lane
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[email protected]>

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);