summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian1998-10-15 15:58:16 +0000
committerBruce Momjian1998-10-15 15:58:16 +0000
commit01cdd04731f180ee0dc685386f2a4490fdcfd80d (patch)
tree173ae175e4fdac27ad72183e6b3b1fd69c74800c
parent3c4e2bc9be076805dfc2561628aa575f1c8db0cf (diff)
TCL/TK fixes from Billy G. Allie.
-rw-r--r--src/Makefile.global.in6
-rw-r--r--src/bin/pgtclsh/Makefile32
-rw-r--r--src/bin/pgtclsh/mkMakefile.tcltkdefs.sh.in26
-rw-r--r--src/configure.in157
4 files changed, 102 insertions, 119 deletions
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 9df55d2433f..2492c9394a9 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -7,7 +7,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.50 1998/10/14 16:02:10 thomas Exp $
+# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.51 1998/10/15 15:58:12 momjian Exp $
#
# NOTES
# Essentially all Postgres make files include this file and use the
@@ -136,7 +136,11 @@ KRBLIBS+= -lkrb5 -lcrypto -lcom_err -lisode
endif
endif
+#
+# Please do not edit USE_TCL and USE_TK by hand.
+#
USE_TCL= @USE_TCL@
+USE_TK= @USE_TK@
USE_PERL= @USE_PERL@
diff --git a/src/bin/pgtclsh/Makefile b/src/bin/pgtclsh/Makefile
index c9a2427857e..c9731376481 100644
--- a/src/bin/pgtclsh/Makefile
+++ b/src/bin/pgtclsh/Makefile
@@ -7,7 +7,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/pgtclsh/Attic/Makefile,v 1.21 1998/10/13 16:30:48 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/pgtclsh/Attic/Makefile,v 1.22 1998/10/15 15:58:15 momjian Exp $
#
#-------------------------------------------------------------------------
@@ -17,7 +17,10 @@ include ../../Makefile.global
#
# Include definitions from the tclConfig.sh file
#
-include Makefile.tcltkdefs
+include Makefile.tcldefs
+ifeq ($(USE_TK), true)
+ include Makefile.tkdefs
+endif
CFLAGS+= $(X_CFLAGS) -I$(SRCDIR)/interfaces/libpgtcl
@@ -30,10 +33,23 @@ endif
LIBPGTCL= -L$(SRCDIR)/interfaces/libpgtcl -lpgtcl
LIBPQ= -L$(LIBPQDIR) -lpq
-all: pgtclsh pgtksh
+# If we are here then TCL is available
+PGMS = pgtclsh
+INSTPGMS = install_tcl
+
+# Add TK targets if TK is available
+ifeq ($(USE_TK), true)
+ PGMS += pgtksh
+ INSTPGMS += install_tk
+endif
+
+all: $(PGMS)
-Makefile.tcltkdefs:
- /bin/sh mkMakefile.tcltkdefs.sh
+Makefile.tcldefs:
+ /bin/sh mkMakefile.tcldefs.sh
+
+Makefile.tkdefs:
+ /bin/sh mkMakefile.tkdefs.sh
pgtclsh: pgtclAppInit.o
$(CC) $(CFLAGS) $(TCL_DEFS) -o $@ pgtclAppInit.o \
@@ -44,8 +60,12 @@ pgtksh: pgtkAppInit.o
$(LIBPGTCL) $(LIBPQ) $(X_LIBS) $(TK_LIB_SPEC) $(TK_LIBS) \
$(TCL_LIB_SPEC) $(X11_LIBS) $(LDFLAGS)
-install: pgtclsh pgtksh
+install: $(INSTPGMS)
+
+install_tcl: pgtclsh
$(INSTALL) $(INSTL_EXE_OPTS) pgtclsh $(BINDIR)/pgtclsh
+
+install_tk: pgtksh
$(INSTALL) $(INSTL_EXE_OPTS) pgtksh $(BINDIR)/pgtksh
clean:
diff --git a/src/bin/pgtclsh/mkMakefile.tcltkdefs.sh.in b/src/bin/pgtclsh/mkMakefile.tcltkdefs.sh.in
deleted file mode 100644
index a7d7a6fc25f..00000000000
--- a/src/bin/pgtclsh/mkMakefile.tcltkdefs.sh.in
+++ /dev/null
@@ -1,26 +0,0 @@
-
-if [ ! -f @TCL_CONFIG_SH@ ]; then
- echo "@TCL_CONFIG_SH@ not found"
- echo "I need this file! Please make a symbolic link to this file"
- echo "and start make again."
- exit 1
-fi
-
-if [ ! -f @TK_CONFIG_SH@ ]; then
- echo "@TK_CONFIG_SH@ not found"
- echo "I need this file! Please make a symbolic link to this file"
- echo "and start make again."
- exit 1
-fi
-
-. @TCL_CONFIG_SH@
-. @TK_CONFIG_SH@
-
-cat @TCL_CONFIG_SH@ @TK_CONFIG_SH@ |
- egrep '^TCL_|^TK_' |
- while read inp
- do
- eval eval echo $inp
- done >Makefile.tcltkdefs
-
-exit 0
diff --git a/src/configure.in b/src/configure.in
index c1729c310ba..3c380fbda9a 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -222,35 +222,15 @@ AC_ARG_WITH(
[ --with-tcl use tcl ],
[
case "$withval" in
- y | ye | yes) USE_TCL=true; AC_MSG_RESULT(enabled) ;;
- *) USE_TCL=false; AC_MSG_RESULT(disabled) ;;
+ y | ye | yes) USE_TCL=true; USE_TK=true; AC_MSG_RESULT(enabled) ;;
+ *) USE_TCL=; USE_TK=; AC_MSG_RESULT(disabled) ;;
esac
],
- [ USE_TCL=false; AC_MSG_RESULT(disabled) ]
+ [ USE_TCL=; USE_TK=; AC_MSG_RESULT(disabled) ]
)
-dnl Add tcl/tk candidate directories to CPPFLAGS
-if test "$USE_TCL"; then
- header_dirs="/usr/include $INCLUDE_DIRS"
- tcl_dirs="tcl8.0 tcl80 tcl7.6 tcl76"
- tk_dirs="tk8.0 tk4.2"
- for dir in $header_dirs; do
- for tcl_dir in $tcl_dirs; do
- if test -d "$dir/$tcl_dir"; then
- PGSQL_CPPFLAGS="$PGSQL_CPPFLAGS -I$dir/$tcl_dir"
- fi
- done
- done
- for dir in $header_dirs; do
- for tk_dir in $tk_dirs; do
- if test -d "$dir/$tk_dir"; then
- PGSQL_CPPFLAGS="$PGSQL_CPPFLAGS -I$dir/$tk_dir"
- fi
- done
- done
-fi
export USE_TCL
-USE_X=$USE_TCL
+export USE_TK
dnl We exclude perl support unless we override it with --with-perl
AC_MSG_CHECKING(setting USE_PERL)
@@ -266,9 +246,9 @@ AC_ARG_WITH(
[ USE_PERL=false; AC_MSG_RESULT(disabled) ]
)
-#dnl Verify that postgres is already installed
-#dnl per instructions for perl interface installation
-if test "$USE_PERL" = "true"
+dnl Verify that postgres is already installed
+dnl per instructions for perl interface installation
+if test "$USE_PERL" = true
then
if test "$WHOAMI" != "root"
then AC_MSG_WARN(perl support disabled; must be root to install)
@@ -411,6 +391,7 @@ AC_SUBST(CFLAGS)
AC_SUBST(DLSUFFIX)
AC_SUBST(DL_LIB)
AC_SUBST(USE_TCL)
+AC_SUBST(USE_TK)
AC_SUBST(USE_PERL)
AC_SUBST(USE_ODBC)
AC_SUBST(MULTIBYTE)
@@ -782,6 +763,67 @@ fi
AC_CHECK_LIB(m, rint, AC_DEFINE(HAVE_RINT), , $SPECIALMATHLIB)
])
+dnl Check for Tcl configuration script tclConfig.sh
+
+AC_PATH_PROG(TCLSH, tclsh)
+
+if test -z "$TCLSH"
+then
+ AC_MSG_WARN(TCL/TK support disabled; tclsh is not in your path)
+ USE_TCL=
+fi
+
+if test "$USE_TCL" = true
+then
+ AC_MSG_CHECKING(for tclConfig.sh)
+ TCL_CONFIG_SH=
+ library_dirs=`echo 'puts $auto_path' | $TCLSH`
+ library_dirs="$LIBRARY_DIRS $library_dirs"
+ for dir in $library_dirs; do
+ if test -d "$dir" -a -r "$dir/tclConfig.sh"; then
+ TCL_CONFIG_SH=$dir/tclConfig.sh
+ break
+ fi
+ done
+ if test -z "$TCL_CONFIG_SH"; then
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN(TCL/TK support disabled; Tcl configuration script missing)
+ USE_TCL=
+ else
+ AC_MSG_RESULT($TCL_CONFIG_SH)
+ AC_SUBST(TCL_CONFIG_SH)
+ fi
+fi
+
+USE_TK=$USE_TCL # If TCL is disabled, disable TK
+
+dnl Check for Tk configuration script tkConfig.sh
+if test "$USE_TK" = true
+then
+ AC_MSG_CHECKING(for tkConfig.sh)
+ TK_CONFIG_SH=
+ # library_dirs are set in the check for TCL
+ for dir in $library_dirs
+ do
+ if test -d "$dir" -a -r "$dir/tkConfig.sh"
+ then
+ TK_CONFIG_SH=$dir/tkConfig.sh
+ break
+ fi
+ done
+ if test -z "$TK_CONFIG_SH"
+ then
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN(TK support disabled; Tk configuration script missing)
+ USE_TK=
+ else
+ AC_MSG_RESULT($TK_CONFIG_SH)
+ AC_SUBST(TK_CONFIG_SH)
+ fi
+fi
+
+USE_X=$USE_TK
+
dnl Check for X libraries
if test "$USE_X" = true; then
@@ -819,64 +861,6 @@ if test "$USE_X" = true; then
LDFLAGS="$ice_save_LDFLAGS"
fi
-dnl Check for Tcl configuration script tclConfig.sh
-if test "$USE_TCL"; then
- AC_MSG_CHECKING(for tclConfig.sh)
- library_dirs="$LIBRARY_DIRS /usr/lib"
- TCL_CONFIG_SH=
- for dir in $library_dirs; do
- for tcl_dir in $tcl_dirs; do
- if test -z "$TCL_CONFIG_SH"; then
- if test -d "$dir/$tcl_dir" -a -r "$dir/$tcl_dir/tclConfig.sh"; then
- TCL_CONFIG_SH=$dir/$tcl_dir/tclConfig.sh
- fi
- fi
- done
- if test -z "$TCL_CONFIG_SH"; then
- if test -d "$dir" -a -r "$dir/tclConfig.sh"; then
- TCL_CONFIG_SH=$dir/tclConfig.sh
- fi
- fi
- done
- if test -z "$TCL_CONFIG_SH"; then
- AC_MSG_RESULT(no)
- AC_MSG_WARN(tcl support disabled; Tcl configuration script missing)
- USE_TCL=
- else
- AC_MSG_RESULT($TCL_CONFIG_SH)
- AC_SUBST(TCL_CONFIG_SH)
- fi
-fi
-
-dnl Check for Tk configuration script tkConfig.sh
-if test "$USE_TCL"; then
- AC_MSG_CHECKING(for tkConfig.sh)
- library_dirs="$LIBRARY_DIRS /usr/lib"
- TK_CONFIG_SH=
- for dir in $library_dirs; do
- for tk_dir in $tk_dirs; do
- if test -z "$TK_CONFIG_SH"; then
- if test -d "$dir/$tk_dir" -a -r "$dir/$tk_dir/tkConfig.sh"; then
- TK_CONFIG_SH=$dir/$tk_dir/tkConfig.sh
- fi
- fi
- done
- if test -z "$TK_CONFIG_SH"; then
- if test -d "$dir" -a -r "$dir/tkConfig.sh"; then
- TK_CONFIG_SH=$dir/tkConfig.sh
- fi
- fi
- done
- if test -z "$TK_CONFIG_SH"; then
- AC_MSG_RESULT(no)
- AC_MSG_WARN(tcl support disabled; Tk configuration script missing)
- USE_TCL=
- else
- AC_MSG_RESULT($TK_CONFIG_SH)
- AC_SUBST(TK_CONFIG_SH)
- fi
-fi
-
dnl cause configure to recurse into subdirectories with their own configure
dnl Darn, setting AC_CONFIG_SUBDIRS sets a list $subdirs$ in the configure output
dnl file, but then configure doesn't bother using that list. Probably a bug in
@@ -909,7 +893,8 @@ AC_OUTPUT(
bin/pg_dump/Makefile
bin/pg_version/Makefile
bin/psql/Makefile
- bin/pgtclsh/mkMakefile.tcltkdefs.sh
+ bin/pgtclsh/mkMakefile.tcldefs.sh
+ bin/pgtclsh/mkMakefile.tkdefs.sh
include/version.h
interfaces/libpq/Makefile
interfaces/ecpg/lib/Makefile