Simplify passing of configure arguments to pg_config
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 10 Feb 2020 16:12:46 +0000 (17:12 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Mon, 10 Feb 2020 18:23:41 +0000 (19:23 +0100)
The previous system had configure put the value into the makefiles and
then have the makefiles pass them to the build of pg_config.  That was
put in place when pg_config was a shell script.  We can simplify that
by having configure put the value into pg_config.h directly.  This
also makes the standard build system match how the MSVC build system
already does it.

Discussion: https://www.postgresql.org/message-id/flat/6e457870-cef5-5f1d-b57c-fc89cfb8a788%402ndquadrant.com

configure
configure.in
src/Makefile.global.in
src/common/Makefile
src/common/config_info.c
src/include/pg_config.h.in
src/tools/msvc/Solution.pm

index 59e181a88555a35577444043b17e93b7fab9da69..37aa82dcd4e23357090f17d6df143efb1afd1991 100755 (executable)
--- a/configure
+++ b/configure
@@ -777,7 +777,6 @@ build_vendor
 build_cpu
 build
 PG_MAJORVERSION
-configure_args
 target_alias
 host_alias
 build_alias
@@ -2798,7 +2797,10 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
 
-configure_args=$ac_configure_args
+
+cat >>confdefs.h <<_ACEOF
+#define CONFIGURE_ARGS "$ac_configure_args"
+_ACEOF
 
 
 PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`
index 57346bc89bd2badb670fea59d02a01474fa69058..8adb409558f47f21d8742bb12b41a98954a331e2 100644 (file)
@@ -27,7 +27,7 @@ AC_COPYRIGHT([Copyright (c) 1996-2020, PostgreSQL Global Development Group])
 AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
 AC_CONFIG_AUX_DIR(config)
 AC_PREFIX_DEFAULT(/usr/local/pgsql)
-AC_SUBST(configure_args, [$ac_configure_args])
+AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["$ac_configure_args"], [Saved arguments from configure])
 
 [PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`]
 AC_SUBST(PG_MAJORVERSION)
index 9b28b8af431e4d353fd22277e0d0d4b89a8801f0..e4db3e80af3b1c6442a1d182a55540bc125c6878 100644 (file)
@@ -74,9 +74,6 @@ endif # not PGXS
 
 vpathsearch = `for f in $(addsuffix /$(1),$(subst :, ,. $(VPATH))); do test -r $$f && echo $$f && break; done`
 
-# Saved arguments from configure
-configure_args = @configure_args@
-
 
 ##########################################################################
 #
index e757fb73996da1332dd2d54ffbf73a28c1cc3780..ab98f4faafb0bf8aa77a449e60ab984b82b25bed 100644 (file)
@@ -31,7 +31,6 @@ include $(top_builddir)/src/Makefile.global
 # don't include subdirectory-path-dependent -I and -L switches
 STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
 STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
-override CPPFLAGS += -DVAL_CONFIGURE="\"$(configure_args)\""
 override CPPFLAGS += -DVAL_CC="\"$(CC)\""
 override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
 override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
index c75a642fb2ce60c343cfaa04927b73679de93ac1..8a5dc64ec361a6d1180932a8b722e9e0cbe6f087 100644 (file)
@@ -124,11 +124,7 @@ get_configdata(const char *my_exec_path, size_t *configdata_len)
        i++;
 
        configdata[i].name = pstrdup("CONFIGURE");
-#ifdef VAL_CONFIGURE
-       configdata[i].setting = pstrdup(VAL_CONFIGURE);
-#else
-       configdata[i].setting = pstrdup(_("not recorded"));
-#endif
+       configdata[i].setting = pstrdup(CONFIGURE_ARGS);
        i++;
 
        configdata[i].name = pstrdup("CC");
index be39cfde4bb45b0484300c8de562c21e36df6ece..60dcf42974f62473ae91202b11fa353640768827 100644 (file)
@@ -42,6 +42,9 @@
    Changing BLCKSZ requires an initdb. */
 #undef BLCKSZ
 
+/* Saved arguments from configure */
+#undef CONFIGURE_ARGS
+
 /* Define to the default TCP port number on which the server listens and to
    which clients will try to connect. This can be overridden at run-time, but
    it's convenient if your clients have the right default compiled in.
index 90352c1a7fe822c5987f487fc2c7ad5ae58b7cf1..8412ef298ea03d5d2c66b44be4aa2df49a4f8981 100644 (file)
@@ -195,6 +195,7 @@ sub GenerateFiles
                ALIGNOF_SHORT              => 2,
                AC_APPLE_UNIVERSAL_BUILD   => undef,
                BLCKSZ                     => 1024 * $self->{options}->{blocksize},
+               CONFIGURE_ARGS             => '"' . $self->GetFakeConfigure() . '"',
                DEF_PGPORT                 => $port,
                DEF_PGPORT_STR             => qq{"$port"},
                ENABLE_GSS                 => $self->{options}->{gss} ? 1 : undef,
@@ -538,12 +539,6 @@ sub GenerateFiles
        $self->GenerateConfigHeader('src/include/pg_config_ext.h', \%define, 0);
        $self->GenerateConfigHeader('src/interfaces/ecpg/include/ecpg_config.h', \%define, 0);
 
-       open(my $f, '>>', 'src/include/pg_config.h')
-         || confess "Could not write to src/include/pg_config.h\n";
-       print $f "\n";
-       print $f "#define VAL_CONFIGURE \"" . $self->GetFakeConfigure() . "\"\n";
-       close($f);
-
        $self->GenerateDefFile(
                "src/interfaces/libpq/libpqdll.def",
                "src/interfaces/libpq/exports.txt",