mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
29b3ac7546
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 <tgl@sss.pgh.pa.us> Discussion: https://www.postgresql.org/message-id/30672.1546816567@sss.pgh.pa.us
106 lines
3.1 KiB
Plaintext
106 lines
3.1 KiB
Plaintext
# config/tcl.m4
|
|
|
|
# Autoconf macros to check for Tcl related things
|
|
|
|
|
|
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
|
|
])
|
|
|
|
|
|
# PGAC_PATH_TCLCONFIGSH([SEARCH-PATH])
|
|
# ------------------------------------
|
|
# If the user doesn't specify $TCL_CONFIG_SH directly, search for it in
|
|
# the list of directories passed as parameter (from --with-tclconfig).
|
|
# If no list is given, try the Tcl shell's $auto_path.
|
|
|
|
AC_DEFUN([PGAC_PATH_TCLCONFIGSH],
|
|
[AC_REQUIRE([PGAC_PATH_TCLSH])[]dnl
|
|
AC_BEFORE([$0], [PGAC_PATH_TKCONFIGSH])[]dnl
|
|
AC_MSG_CHECKING([for tclConfig.sh])
|
|
# Let user override test
|
|
if test -z "$TCL_CONFIG_SH"; then
|
|
pgac_test_dirs="$1"
|
|
|
|
set X $pgac_test_dirs; shift
|
|
if test $[#] -eq 0; then
|
|
test -z "$TCLSH" && AC_MSG_ERROR([unable to locate tclConfig.sh because no Tcl shell was found])
|
|
pgac_test_dirs=`echo 'puts $auto_path' | $TCLSH`
|
|
# On newer macOS, $auto_path frequently doesn't include the place
|
|
# where tclConfig.sh actually lives. Append that to the end, so as not
|
|
# to break cases where a non-default Tcl installation is being used.
|
|
if test -d "$PG_SYSROOT/System/Library/Frameworks/Tcl.framework" ; then
|
|
pgac_test_dirs="$pgac_test_dirs $PG_SYSROOT/System/Library/Frameworks/Tcl.framework"
|
|
fi
|
|
set X $pgac_test_dirs; shift
|
|
fi
|
|
|
|
for pgac_dir do
|
|
if test -r "$pgac_dir/tclConfig.sh"; then
|
|
TCL_CONFIG_SH=$pgac_dir/tclConfig.sh
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if test -z "$TCL_CONFIG_SH"; then
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_ERROR([file 'tclConfig.sh' is required for Tcl])
|
|
else
|
|
AC_MSG_RESULT([$TCL_CONFIG_SH])
|
|
fi
|
|
|
|
AC_SUBST([TCL_CONFIG_SH])
|
|
])# PGAC_PATH_TCLCONFIGSH
|
|
|
|
|
|
# PGAC_PATH_TKCONFIGSH([SEARCH-PATH])
|
|
# ------------------------------------
|
|
AC_DEFUN([PGAC_PATH_TKCONFIGSH],
|
|
[AC_REQUIRE([PGAC_PATH_TCLSH])[]dnl
|
|
AC_MSG_CHECKING([for tkConfig.sh])
|
|
# Let user override test
|
|
if test -z "$TK_CONFIG_SH"; then
|
|
pgac_test_dirs="$1"
|
|
|
|
set X $pgac_test_dirs; shift
|
|
if test $[#] -eq 0; then
|
|
test -z "$TCLSH" && AC_MSG_ERROR([unable to locate tkConfig.sh because no Tcl shell was found])
|
|
set X `echo 'puts $auto_path' | $TCLSH`; shift
|
|
fi
|
|
|
|
for pgac_dir do
|
|
if test -r "$pgac_dir/tkConfig.sh"; then
|
|
TK_CONFIG_SH=$pgac_dir/tkConfig.sh
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if test -z "$TK_CONFIG_SH"; then
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_ERROR([file 'tkConfig.sh' is required for Tk])
|
|
else
|
|
AC_MSG_RESULT([$TK_CONFIG_SH])
|
|
fi
|
|
|
|
AC_SUBST([TK_CONFIG_SH])
|
|
])# PGAC_PATH_TKCONFIGSH
|
|
|
|
|
|
# PGAC_EVAL_TCLCONFIGSH(FILE, WANTED-VARS)
|
|
# ----------------------------------------
|
|
# Assigns variables listed in WANTED-VARS by reading FILE and
|
|
# evaluating it according to the quoting scheme of tclConfig.sh and
|
|
# tkConfig.sh. Calls AC_SUBST for each variable.
|
|
|
|
AC_DEFUN([PGAC_EVAL_TCLCONFIGSH],
|
|
[. "$1"
|
|
m4_foreach([pgac_item], [$2],
|
|
[eval pgac_item=\"[$]pgac_item\"
|
|
AC_SUBST(pgac_item)])])
|