From f4add18557a5345c65a993f0b41eafd19229d50f Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun, 29 Aug 1999 20:09:44 +0000
Subject: [PATCH] Fix quoting problems in mkMakefile.tcldefs.sh.in and
 mkMakefile.tkdefs.sh.in.

---
 src/bin/pgtclsh/mkMakefile.tcldefs.sh.in | 15 +++++++++++----
 src/bin/pgtclsh/mkMakefile.tkdefs.sh.in  | 13 +++++++++----
 src/pl/tcl/mkMakefile.tcldefs.sh.in      | 13 ++++++++++---
 3 files changed, 30 insertions(+), 11 deletions(-)

diff --git a/src/bin/pgtclsh/mkMakefile.tcldefs.sh.in b/src/bin/pgtclsh/mkMakefile.tcldefs.sh.in
index a8c2cc374de..79e456b3b54 100644
--- a/src/bin/pgtclsh/mkMakefile.tcldefs.sh.in
+++ b/src/bin/pgtclsh/mkMakefile.tcldefs.sh.in
@@ -1,16 +1,23 @@
+#! /bin/sh
 
-if [ ! -f @TCL_CONFIG_SH@ ]; then
+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
 fi
 
+# Source the file to obtain the correctly expanded variable definitions
+. @TCL_CONFIG_SH@
+
+# Read the file a second time as an easy way of getting the list of variable
+# definitions to output.
 cat @TCL_CONFIG_SH@ |
-    egrep '^TCL_' |
-    while read inp
+    egrep '^TCL_|^TK_' |
+    sed 's/^\([^=]*\)=.*$/\1/' |
+    while read var
     do
-	    eval eval echo $inp
+	eval echo "\"$var = \$$var\""
     done >Makefile.tcldefs
 
 exit 0
diff --git a/src/bin/pgtclsh/mkMakefile.tkdefs.sh.in b/src/bin/pgtclsh/mkMakefile.tkdefs.sh.in
index 3b5fd2402f4..b739547f793 100644
--- a/src/bin/pgtclsh/mkMakefile.tkdefs.sh.in
+++ b/src/bin/pgtclsh/mkMakefile.tkdefs.sh.in
@@ -1,18 +1,23 @@
+#! /bin/sh
 
-if [ ! -f @TK_CONFIG_SH@ ]; then
+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."
     exit 1
 fi
 
+# Source the file to obtain the correctly expanded variable definitions
 . @TK_CONFIG_SH@
 
+# Read the file a second time as an easy way of getting the list of variable
+# definitions to output.
 cat @TK_CONFIG_SH@ |
-    egrep '^TK_' |
-    while read inp
+    egrep '^TCL_|^TK_' |
+    sed 's/^\([^=]*\)=.*$/\1/' |
+    while read var
     do
-	    eval eval echo $inp
+	eval echo "\"$var = \$$var\""
     done >Makefile.tkdefs
 
 exit 0
diff --git a/src/pl/tcl/mkMakefile.tcldefs.sh.in b/src/pl/tcl/mkMakefile.tcldefs.sh.in
index ea86a233371..79e456b3b54 100644
--- a/src/pl/tcl/mkMakefile.tcldefs.sh.in
+++ b/src/pl/tcl/mkMakefile.tcldefs.sh.in
@@ -1,16 +1,23 @@
+#! /bin/sh
 
-if [ ! -f @TCL_CONFIG_SH@ ]; then
+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
 fi
 
+# Source the file to obtain the correctly expanded variable definitions
+. @TCL_CONFIG_SH@
+
+# Read the file a second time as an easy way of getting the list of variable
+# definitions to output.
 cat @TCL_CONFIG_SH@ |
     egrep '^TCL_|^TK_' |
-    while read inp
+    sed 's/^\([^=]*\)=.*$/\1/' |
+    while read var
     do
-	    eval eval echo $inp
+	eval echo "\"$var = \$$var\""
     done >Makefile.tcldefs
 
 exit 0
-- 
GitLab