summaryrefslogtreecommitdiff
path: root/autosetup/autosetup-find-tclsh
diff options
context:
space:
mode:
Diffstat (limited to 'autosetup/autosetup-find-tclsh')
-rwxr-xr-xautosetup/autosetup-find-tclsh16
1 files changed, 16 insertions, 0 deletions
diff --git a/autosetup/autosetup-find-tclsh b/autosetup/autosetup-find-tclsh
new file mode 100755
index 0000000..3b661d2
--- /dev/null
+++ b/autosetup/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 in current dir from source
+# Prefer $autosetup_tclsh if is set in the environment (unless ./jimsh0 works)
+# If an argument is given, use that as the test instead of autosetup-test-tclsh
+d="`dirname "$0"`"
+for tclsh in ./jimsh0 $autosetup_tclsh jimsh tclsh tclsh8.5 tclsh8.6 tclsh8.7; do
+ { $tclsh "$d/${1-autosetup-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 jimsh0 "$d/jimsh0.c"; } >/dev/null 2>&1 || continue
+ ./jimsh0 "$d/${1-autosetup-test-tclsh}" && exit 0
+done
+echo 1>&2 "No working C compiler found. Tried ${CC_FOR_BUILD:-cc} and gcc."
+echo false