summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2020-02-10 16:12:46 +0000
committerPeter Eisentraut2020-02-10 18:23:41 +0000
commitb691c189c671ca9b88743ed6546b60641e5199e4 (patch)
tree9ccc6bcf457b207ccc447ec9ce77dd9ee200606e
parent11de6c903da99a4b2220acfa776fc26c7f384ccc (diff)
Simplify passing of configure arguments to pg_config
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
-rwxr-xr-xconfigure6
-rw-r--r--configure.in2
-rw-r--r--src/Makefile.global.in3
-rw-r--r--src/common/Makefile1
-rw-r--r--src/common/config_info.c6
-rw-r--r--src/include/pg_config.h.in3
-rw-r--r--src/tools/msvc/Solution.pm7
7 files changed, 10 insertions, 18 deletions
diff --git a/configure b/configure
index 59e181a8855..37aa82dcd4e 100755
--- 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]*\)'`
diff --git a/configure.in b/configure.in
index 57346bc89bd..8adb409558f 100644
--- a/configure.in
+++ b/configure.in
@@ -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)
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 9b28b8af431..e4db3e80af3 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -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@
-
##########################################################################
#
diff --git a/src/common/Makefile b/src/common/Makefile
index e757fb73996..ab98f4faafb 100644
--- a/src/common/Makefile
+++ b/src/common/Makefile
@@ -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)\""
diff --git a/src/common/config_info.c b/src/common/config_info.c
index c75a642fb2c..8a5dc64ec36 100644
--- a/src/common/config_info.c
+++ b/src/common/config_info.c
@@ -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");
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index be39cfde4bb..60dcf42974f 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -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.
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index 90352c1a7fe..8412ef298ea 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -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",