diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rwxr-xr-x | configure | 21 |
2 files changed, 29 insertions, 0 deletions
@@ -1,3 +1,11 @@ +2014-06-04 Kaz Kylheku <kaz@kylheku.com> + + * configure: Defend against legacy, non-POSIX /bin/sh implementations. + We boostrap using #!/bin/sh, but try to detect a better shell + and re-execute the script with that shell. Furthermore, we now + set up the SHELL variable in config.make, so that make uses that + shell for executing build recipes. + 2014-06-03 Kaz Kylheku <kaz@kylheku.com> * eval.c (eval_lisp1): Function removed. @@ -31,6 +31,20 @@ # in the arguments, oops. # +if test x$txr_shell = x ; then + for shell in /usr/xpg4/bin/sh /bin/bash /usr/bin/bash ; do + if test -e $shell ; then + txr_shell=$shell + fi + done + if test x$txr_shell = x ; then + echo "No known POSIX shell found: falling back on /bin/sh, which may not work" + txr_shell=/bin/sh + fi + export txr_shell + exec $txr_shell $0 ${@+"$@"} +fi + set -u cmdline= @@ -410,6 +424,8 @@ printf "+%s+\n|%s|\n+%s+\n" $banner_box "$banner_text" $banner_box set -e +printf "We are using this shell: %s\n" $txr_shell + # # Check for GNU make # @@ -539,6 +555,11 @@ gen_config_make() # Changes to this file are lost when the above is re-run. # +# Shell used by make for running recipes; this +# is the as the shell we chose for the configure script, +# derived from the txr_shell variable. +SHELL := $txr_shell + # absolute path to source code directory top_srcdir := $top_srcdir |