Automatically select a good shell instead of relying on /bin/sh.

This includes a fairly detailed test of various known shell bugs from the
autoconf docs.

The idea here is that if redo works on your system, you should be able to
rely on a *good* shell to run your .do files; you shouldn't have to work
around zillions of bugs like autoconf does.
This commit is contained in:
Avery Pennarun 2010-12-21 04:19:50 -08:00
commit fb388b3dde
14 changed files with 341 additions and 10 deletions

View file

@ -1,5 +1,5 @@
exec >&2
redo-ifchange Documentation/all
redo-ifchange _all
: ${INSTALL:=install}
: ${DESTDIR:=}
@ -28,6 +28,10 @@ for d in *.py; do
done
python -mcompileall $LIBDIR
# It's important for the file to actually be named 'sh'. Some shells (like
# bash and zsh) only go into POSIX-compatible mode if they have that name.
cp -R redo-sh/sh $LIBDIR/sh
# binaries
for dd in redo*.py; do
d=$(basename $dd .py)