summaryrefslogtreecommitdiffstats
path: root/config/tcl.m4
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-16 19:46:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-16 19:46:48 +0000
commit311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 (patch)
tree0ec307299b1dada3701e42f4ca6eda57d708261e /config/tcl.m4
parentInitial commit. (diff)
downloadpostgresql-15-311bcfc6b3acdd6fd152798c7f287ddf74fa2a98.tar.xz
postgresql-15-311bcfc6b3acdd6fd152798c7f287ddf74fa2a98.zip
Adding upstream version 15.4.upstream/15.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--config/tcl.m4105
1 files changed, 105 insertions, 0 deletions
diff --git a/config/tcl.m4 b/config/tcl.m4
new file mode 100644
index 0000000..9de31a5
--- /dev/null
+++ b/config/tcl.m4
@@ -0,0 +1,105 @@
+# 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)])])