bootstrap: Various code improvements

- Do not specify -e twice.
- Use "which" instead of calling commands that might not exist.
- Fix bashism ("==" is C not sh)
- Carefully quote potentially empty variables
- Check command arguments before doing anything
- Rewrite argument checking to be more easily extensible
- Consistent indentation
- UNIX style error messages
This commit is contained in:
Tormod Volden 2011-06-01 20:59:52 +02:00 committed by Øyvind Harboe
parent 796086cd49
commit fa1f2682d4
1 changed files with 19 additions and 14 deletions

View File

@ -1,16 +1,24 @@
#!/bin/sh -e #!/bin/sh
# Run the autotools bootstrap sequence to create the configure script # Run the autotools bootstrap sequence to create the configure script
# Stop execution as soon as we have an unknown command # Abort execution on error
set -e set -e
if libtoolize --version >/dev/null 2>&1; then if which libtoolize > /dev/null; then
libtoolize="libtoolize" libtoolize="libtoolize"
elif glibtoolize --version >/dev/null 2>&1; then elif which glibtoolize >/dev/null; then
libtoolize="glibtoolize" libtoolize="glibtoolize"
else else
echo "libtool is required" >&2 echo "$0: Error: libtool is required" >&2
exit 1 exit 1
fi
if [ "$1" = "nosubmodule" ]; then
SKIP_SUBMODULE=1
elif [ -n "$1" ]; then
echo "$0: Illegal argument $1"
echo "USAGE: $0 [nosubmodule]"
exit 1
fi fi
# bootstrap the autotools # bootstrap the autotools
@ -27,16 +35,13 @@ automake --gnu --add-missing --copy
# current source snapshots (working from GIT, or some source snapshot, etc) # current source snapshots (working from GIT, or some source snapshot, etc)
# otherwise the documentation will fail to build due to missing version.texi # otherwise the documentation will fail to build due to missing version.texi
if [ $1 == nosubmodule ]; then if [ -n "$SKIP_SUBMODULE" ]; then
echo "Skipping submodule setup" echo "Skipping submodule setup"
elif [ -z $1 ]; then else
echo "Setting up submodules" echo "Setting up submodules"
git submodule init git submodule init
git submodule update git submodule update
else
echo "Argument to bootstrap is either no argument or nosubmodule"
exit 1
fi fi
echo "Bootstrap complete. Quick start build instructions:" echo "Bootstrap complete. Quick build instructions:"
echo "./configure --enable-maintainer-mode ...." echo "./configure --enable-maintainer-mode ...."