From 29b3ac75462625b78eec0a92a49a22c5e2c7a01f Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 18 Jan 2019 08:29:42 +0100 Subject: [PATCH] configure: More use of AC_ARG_VAR AC_ARG_VAR is necessary if an environment variable influences a configure result that is then used by other tests that are cached. With AC_ARG_VAR, a change in the variable is detected on subsequent configure runs and the user is then advised to remove the cache. This adds AC_ARG_VAR calls for: MSGFMT, PERL, PYTHON, TCLSH, XML2_CONFIG Reviewed-by: Tom Lane Discussion: https://www.postgresql.org/message-id/30672.1546816567@sss.pgh.pa.us --- config/perl.m4 | 1 + config/programs.m4 | 1 + config/python.m4 | 1 + config/tcl.m4 | 1 + configure | 16 +++++++++++++--- configure.in | 1 + 6 files changed, 18 insertions(+), 3 deletions(-) diff --git a/config/perl.m4 b/config/perl.m4 index caefb0705e..059e31c476 100644 --- a/config/perl.m4 +++ b/config/perl.m4 @@ -5,6 +5,7 @@ # -------------- AC_DEFUN([PGAC_PATH_PERL], [PGAC_PATH_PROGS(PERL, perl) +AC_ARG_VAR(PERL, [Perl program])dnl if test "$PERL"; then pgac_perl_version=`$PERL -v 2>/dev/null | sed -n ['s/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p']` diff --git a/config/programs.m4 b/config/programs.m4 index aa84bfdb9e..21888cb68f 100644 --- a/config/programs.m4 +++ b/config/programs.m4 @@ -245,6 +245,7 @@ AC_DEFUN([PGAC_CHECK_GETTEXT], AC_CHECK_HEADER([libintl.h], [], [AC_MSG_ERROR([header file is required for NLS])]) PGAC_PATH_PROGS(MSGFMT, msgfmt) + AC_ARG_VAR(MSGFMT, [msgfmt program for NLS])dnl if test -z "$MSGFMT"; then AC_MSG_ERROR([msgfmt is required for NLS]) fi diff --git a/config/python.m4 b/config/python.m4 index 9a4d12112e..c51aa4e332 100644 --- a/config/python.m4 +++ b/config/python.m4 @@ -17,6 +17,7 @@ # newer version. AC_DEFUN([PGAC_PATH_PYTHON], [PGAC_PATH_PROGS(PYTHON, [python python3 python2]) +AC_ARG_VAR(PYTHON, [Python program])dnl if test x"$PYTHON" = x""; then AC_MSG_ERROR([Python not found]) fi diff --git a/config/tcl.m4 b/config/tcl.m4 index 581471f338..9de31a5715 100644 --- a/config/tcl.m4 +++ b/config/tcl.m4 @@ -5,6 +5,7 @@ AC_DEFUN([PGAC_PATH_TCLSH], [PGAC_PATH_PROGS(TCLSH, [tclsh tcl tclsh8.6 tclsh86 tclsh8.5 tclsh85 tclsh8.4 tclsh84]) +AC_ARG_VAR(TCLSH, [Tcl interpreter program (tclsh)])dnl if test x"$TCLSH" = x""; then AC_MSG_ERROR([Tcl shell not found]) fi diff --git a/configure b/configure index 06fc3c6835..5e4204ae93 100755 --- a/configure +++ b/configure @@ -887,8 +887,13 @@ PKG_CONFIG_PATH PKG_CONFIG_LIBDIR ICU_CFLAGS ICU_LIBS +XML2_CONFIG LDFLAGS_EX -LDFLAGS_SL' +LDFLAGS_SL +PERL +PYTHON +MSGFMT +TCLSH' # Initialize some variables set by options. @@ -1586,8 +1591,13 @@ Some influential environment variables: path overriding pkg-config's built-in search path ICU_CFLAGS C compiler flags for ICU, overriding pkg-config ICU_LIBS linker flags for ICU, overriding pkg-config + XML2_CONFIG path to xml2-config utility LDFLAGS_EX extra linker flags for linking executables only LDFLAGS_SL extra linker flags for linking shared libraries only + PERL Perl program + PYTHON Python program + MSGFMT msgfmt program for NLS + TCLSH Tcl interpreter program (tclsh) Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -8185,7 +8195,7 @@ $as_echo_n "checking for XML2_CONFIG... " >&6; } $as_echo "$XML2_CONFIG" >&6; } fi - if test -n "$XML2_CONFIG"; then + if test -n "$XML2_CONFIG"; then for pgac_option in `$XML2_CONFIG --cflags`; do case $pgac_option in -I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";; @@ -18097,7 +18107,7 @@ $as_echo_n "checking for MSGFMT... " >&6; } $as_echo "$MSGFMT" >&6; } fi - if test -z "$MSGFMT"; then + if test -z "$MSGFMT"; then as_fn_error $? "msgfmt is required for NLS" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msgfmt flags" >&5 diff --git a/configure.in b/configure.in index 4efb912c4d..774ebe391f 100644 --- a/configure.in +++ b/configure.in @@ -917,6 +917,7 @@ PGAC_ARG_BOOL(with, libxml, no, [build with XML support], if test "$with_libxml" = yes ; then PGAC_PATH_PROGS(XML2_CONFIG, xml2-config) + AC_ARG_VAR(XML2_CONFIG, [path to xml2-config utility])dnl if test -n "$XML2_CONFIG"; then for pgac_option in `$XML2_CONFIG --cflags`; do case $pgac_option in -- 2.40.0