summaryrefslogtreecommitdiff
path: root/autosetup/find-tclsh
diff options
context:
space:
mode:
Diffstat (limited to 'autosetup/find-tclsh')
-rwxr-xr-xautosetup/find-tclsh16
1 files changed, 16 insertions, 0 deletions
diff --git a/autosetup/find-tclsh b/autosetup/find-tclsh
new file mode 100755
index 0000000..be7cf3d
--- /dev/null
+++ b/autosetup/find-tclsh
@@ -0,0 +1,16 @@
+#!/bin/sh
+# Looks for a suitable tclsh or jimsh in the PATH
+# If not found, builds a bootstrap jimsh from source
+d=`dirname "$0"`
+{ "$d/jimsh0" "$d/test-tclsh"; } 2>/dev/null && exit 0
+PATH="$PATH:$d"; export PATH
+for tclsh in jimsh tclsh tclsh8.5 tclsh8.6; do
+ { $tclsh "$d/test-tclsh"; } 2>/dev/null && exit 0
+done
+echo 1>&2 "No installed jimsh or tclsh, building local bootstrap jimsh0"
+for cc in ${CC_FOR_BUILD:-cc} gcc; do
+ { $cc -o "$d/jimsh0" "$d/jimsh0.c"; } 2>/dev/null || continue
+ "$d/jimsh0" "$d/test-tclsh" && exit 0
+done
+echo 1>&2 "No working C compiler found. Tried ${CC_FOR_BUILD:-cc} and gcc."
+echo false