From 191870388d4827cac897e6dd1da217ba456b350f Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Sat, 1 Jul 2000 15:02:31 +0000
Subject: [PATCH] A little bit of clean-up/bug fix in Tcl build. Handle
 gracefully cases where someone wants to build these but hasn't configured for
 Tcl.

---
 configure                                        |  6 ------
 configure.in                                     |  3 ---
 src/Makefile.global.in                           |  4 +++-
 src/bin/Makefile                                 | 11 +++--------
 src/bin/pgtclsh/Makefile                         | 15 ++++-----------
 ...efile.tcldefs.sh.in => mkMakefile.tcldefs.sh} | 16 ++++++++--------
 ...akefile.tkdefs.sh.in => mkMakefile.tkdefs.sh} | 14 +++++++-------
 src/pl/Makefile                                  | 12 +++---------
 src/pl/tcl/Makefile                              | 14 +++-----------
 ...efile.tcldefs.sh.in => mkMakefile.tcldefs.sh} | 16 ++++++++--------
 10 files changed, 39 insertions(+), 72 deletions(-)
 rename src/bin/pgtclsh/{mkMakefile.tcldefs.sh.in => mkMakefile.tcldefs.sh} (55%)
 rename src/bin/pgtclsh/{mkMakefile.tkdefs.sh.in => mkMakefile.tkdefs.sh} (57%)
 rename src/pl/tcl/{mkMakefile.tcldefs.sh.in => mkMakefile.tcldefs.sh} (55%)

diff --git a/configure b/configure
index 75710ec446e..2d92b0be117 100755
--- a/configure
+++ b/configure
@@ -8903,10 +8903,7 @@ trap 'rm -fr `echo "GNUmakefile
 	src/backend/port/Makefile
 	src/backend/catalog/genbki.sh
 	src/backend/utils/Gen_fmgrtab.sh
-	src/bin/pgtclsh/mkMakefile.tcldefs.sh
-	src/bin/pgtclsh/mkMakefile.tkdefs.sh
 	src/include/version.h
-	src/pl/tcl/mkMakefile.tcldefs.sh
 	src/test/regress/GNUmakefile
  src/include/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
@@ -9077,10 +9074,7 @@ CONFIG_FILES=\${CONFIG_FILES-"GNUmakefile
 	src/backend/port/Makefile
 	src/backend/catalog/genbki.sh
 	src/backend/utils/Gen_fmgrtab.sh
-	src/bin/pgtclsh/mkMakefile.tcldefs.sh
-	src/bin/pgtclsh/mkMakefile.tkdefs.sh
 	src/include/version.h
-	src/pl/tcl/mkMakefile.tcldefs.sh
 	src/test/regress/GNUmakefile
 "}
 EOF
diff --git a/configure.in b/configure.in
index 02e4968bc82..3d7a60815e9 100644
--- a/configure.in
+++ b/configure.in
@@ -1199,9 +1199,6 @@ AC_OUTPUT(
 	src/backend/port/Makefile
 	src/backend/catalog/genbki.sh
 	src/backend/utils/Gen_fmgrtab.sh
-	src/bin/pgtclsh/mkMakefile.tcldefs.sh
-	src/bin/pgtclsh/mkMakefile.tkdefs.sh
 	src/include/version.h
-	src/pl/tcl/mkMakefile.tcldefs.sh
 	src/test/regress/GNUmakefile
 )
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 6f662e7d2b2..fcd85289c8a 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.82 2000/06/28 18:29:13 petere Exp $
+#    $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.83 2000/07/01 15:02:16 petere Exp $
 #
 # NOTES
 #    Essentially all Postgres make files include this file and use the
@@ -129,6 +129,8 @@ python_moduledir = @python_moduledir@
 USE_TCL= @USE_TCL@
 USE_TK= @USE_TK@
 WISH= @WISH@
+TCL_CONFIG_SH = @TCL_CONFIG_SH@
+TK_CONFIG_SH = @TK_CONFIG_SH@
 
 X_CFLAGS= @X_CFLAGS@
 X_LIBS= @X_LIBS@
diff --git a/src/bin/Makefile b/src/bin/Makefile
index 6e2ac069448..156a588fb1c 100644
--- a/src/bin/Makefile
+++ b/src/bin/Makefile
@@ -4,7 +4,7 @@
 #
 # Copyright (c) 1994, Regents of the University of California
 #
-# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.26 2000/06/27 00:30:49 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.27 2000/07/01 15:02:19 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -15,8 +15,6 @@ include ../Makefile.global
 DIRS := initdb initlocation ipcclean pg_ctl pg_dump pg_id \
 	pg_passwd pg_version psql scripts
 
-ALLDIRS := $(DIRS) pg_encoding pgaccess pgtclsh
-
 ifdef MULTIBYTE
 DIRS += pg_encoding
 endif
@@ -32,8 +30,5 @@ endif
 all install installdirs uninstall depend:
 	@for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit 1; done
 
-clean:
-	@for dir in $(DIRS); do $(MAKE) -C $$dir $@; done
-
-distclean maintainer-clean:
-	@for dir in $(ALLDIRS); do $(MAKE) -C $$dir $@; done
+clean distclean maintainer-clean:
+	-@for dir in $(DIRS); do $(MAKE) -C $$dir $@; done
diff --git a/src/bin/pgtclsh/Makefile b/src/bin/pgtclsh/Makefile
index 08b52b4d756..032352ccf9f 100644
--- a/src/bin/pgtclsh/Makefile
+++ b/src/bin/pgtclsh/Makefile
@@ -5,7 +5,7 @@
 #
 # Copyright (c) 1994, Regents of the University of California
 #
-# $Header: /cvsroot/pgsql/src/bin/pgtclsh/Attic/Makefile,v 1.29 2000/06/30 16:10:47 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/pgtclsh/Attic/Makefile,v 1.30 2000/07/01 15:02:23 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -60,20 +60,13 @@ uninstall:
 	rm -f $(bindir)/pgtclsh $(bindir)/pgtksh
 
 Makefile.tcldefs: mkMakefile.tcldefs.sh
-	$(SHELL) $<
+	$(SHELL) $< '$(TCL_CONFIG_SH)' '$@'
 
 Makefile.tkdefs: mkMakefile.tkdefs.sh
-	$(SHELL) $<
+	$(SHELL) $< '$(TK_CONFIG_SH)' '$@'
 
-mkMakefile.tcldefs.sh mkMakefile.tkdefs.sh: $(top_builddir)/config.status
-mkMakefile.tcldefs.sh mkMakefile.tkdefs.sh: % : %.in
-	cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
-
-clean:
+clean distclean maintainer-clean:
 	rm -f *.o Makefile.tcldefs Makefile.tkdefs pgtclsh pgtksh
 
-distclean maintainer-clean: clean
-	rm -f mkMakefile.tcldefs.sh mkMakefile.tkdefs.sh
-
 dep depend:
 	$(CC) -MM $(CFLAGS) *.c > depend
diff --git a/src/bin/pgtclsh/mkMakefile.tcldefs.sh.in b/src/bin/pgtclsh/mkMakefile.tcldefs.sh
similarity index 55%
rename from src/bin/pgtclsh/mkMakefile.tcldefs.sh.in
rename to src/bin/pgtclsh/mkMakefile.tcldefs.sh
index 79e456b3b54..f9faef2fdca 100644
--- a/src/bin/pgtclsh/mkMakefile.tcldefs.sh.in
+++ b/src/bin/pgtclsh/mkMakefile.tcldefs.sh
@@ -1,23 +1,23 @@
 #! /bin/sh
 
-if [ ! -r @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
+# $1 = path to tclConfig.sh ; $2 = output file
+
+if test x"$1" = x ; then
+   echo "$0: No tclConfig.sh file specified. Did you use \`configure --with-tcl'?" 1>&2
+   exit 1
 fi
 
 # Source the file to obtain the correctly expanded variable definitions
-. @TCL_CONFIG_SH@
+. "$1"
 
 # Read the file a second time as an easy way of getting the list of variable
 # definitions to output.
-cat @TCL_CONFIG_SH@ |
+cat "$1" |
     egrep '^TCL_|^TK_' |
     sed 's/^\([^=]*\)=.*$/\1/' |
     while read var
     do
 	eval echo "\"$var = \$$var\""
-    done >Makefile.tcldefs
+    done > "$2"
 
 exit 0
diff --git a/src/bin/pgtclsh/mkMakefile.tkdefs.sh.in b/src/bin/pgtclsh/mkMakefile.tkdefs.sh
similarity index 57%
rename from src/bin/pgtclsh/mkMakefile.tkdefs.sh.in
rename to src/bin/pgtclsh/mkMakefile.tkdefs.sh
index b739547f793..c34f166a526 100644
--- a/src/bin/pgtclsh/mkMakefile.tkdefs.sh.in
+++ b/src/bin/pgtclsh/mkMakefile.tkdefs.sh
@@ -1,23 +1,23 @@
 #! /bin/sh
 
-if [ ! -r @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."
+# $1 = path to tkConfig.sh ; $2 = output file
+
+if test x"$1" = x; then
+    echo "$0: No tkConfig.sh file specified. Did you use \`configure --with-tcl --with-x'?" 1>&2
     exit 1
 fi
 
 # Source the file to obtain the correctly expanded variable definitions
-. @TK_CONFIG_SH@
+. "$1"
 
 # Read the file a second time as an easy way of getting the list of variable
 # definitions to output.
-cat @TK_CONFIG_SH@ |
+cat "$1" |
     egrep '^TCL_|^TK_' |
     sed 's/^\([^=]*\)=.*$/\1/' |
     while read var
     do
 	eval echo "\"$var = \$$var\""
-    done >Makefile.tkdefs
+    done > "$2"
 
 exit 0
diff --git a/src/pl/Makefile b/src/pl/Makefile
index 100722105b3..e64bf02dab2 100644
--- a/src/pl/Makefile
+++ b/src/pl/Makefile
@@ -4,7 +4,7 @@
 #
 # Copyright (c) 1994, Regents of the University of California
 #
-# $Header: /cvsroot/pgsql/src/pl/Makefile,v 1.9 2000/06/27 00:31:48 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/Makefile,v 1.10 2000/07/01 15:02:27 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -20,17 +20,11 @@ endif
 
 # Disabled because it doesn't work
 #ifeq ($(with_perl), yes)
-#	$(MAKE) -C plperl $@
+#DIRS += plperl
 #endif
 
-ALLDIRS := plpgsql tcl plperl
-
-
 all install installdirs uninstall depend:
 	@for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit 1; done
 
-clean:
+clean distclean maintainer-clean:
 	@for dir in $(DIRS); do $(MAKE) -C $$dir $@; done
-
-distclean maintainer-clean:
-	@for dir in $(ALLDIRS); do $(MAKE) -C $$dir $@; done
diff --git a/src/pl/tcl/Makefile b/src/pl/tcl/Makefile
index b20a74f3d22..decfca5d6e8 100644
--- a/src/pl/tcl/Makefile
+++ b/src/pl/tcl/Makefile
@@ -2,7 +2,7 @@
 #
 # Makefile for the pltcl shared object
 #
-# $Header: /cvsroot/pgsql/src/pl/tcl/Makefile,v 1.19 2000/06/30 16:10:56 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/tcl/Makefile,v 1.20 2000/07/01 15:02:31 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -108,16 +108,8 @@ all install:
 	 echo "*****"
 endif
 
-
 Makefile.tcldefs: mkMakefile.tcldefs.sh
-	$(SHELL) $<
-
-mkMakefile.tcldefs.sh: mkMakefile.tcldefs.sh.in $(top_builddir)/config.status
-	cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+	$(SHELL) $< '$(TCL_CONFIG_SH)' '$@'
 
-
-clean:
+clean distclean maintainer-clean:
 	rm -f $(INFILES) *.o Makefile.tcldefs
-
-distclean maintainer-clean: clean
-	rm -f mkMakefile.tcldefs.sh
diff --git a/src/pl/tcl/mkMakefile.tcldefs.sh.in b/src/pl/tcl/mkMakefile.tcldefs.sh
similarity index 55%
rename from src/pl/tcl/mkMakefile.tcldefs.sh.in
rename to src/pl/tcl/mkMakefile.tcldefs.sh
index 79e456b3b54..f9faef2fdca 100644
--- a/src/pl/tcl/mkMakefile.tcldefs.sh.in
+++ b/src/pl/tcl/mkMakefile.tcldefs.sh
@@ -1,23 +1,23 @@
 #! /bin/sh
 
-if [ ! -r @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
+# $1 = path to tclConfig.sh ; $2 = output file
+
+if test x"$1" = x ; then
+   echo "$0: No tclConfig.sh file specified. Did you use \`configure --with-tcl'?" 1>&2
+   exit 1
 fi
 
 # Source the file to obtain the correctly expanded variable definitions
-. @TCL_CONFIG_SH@
+. "$1"
 
 # Read the file a second time as an easy way of getting the list of variable
 # definitions to output.
-cat @TCL_CONFIG_SH@ |
+cat "$1" |
     egrep '^TCL_|^TK_' |
     sed 's/^\([^=]*\)=.*$/\1/' |
     while read var
     do
 	eval echo "\"$var = \$$var\""
-    done >Makefile.tcldefs
+    done > "$2"
 
 exit 0
-- 
GitLab