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
# Stop execution as soon as we have an unknown command
# Abort execution on error
set -e
if libtoolize --version >/dev/null 2>&1; then
libtoolize="libtoolize"
elif glibtoolize --version >/dev/null 2>&1; then
libtoolize="glibtoolize"
if which libtoolize > /dev/null; then
libtoolize="libtoolize"
elif which glibtoolize >/dev/null; then
libtoolize="glibtoolize"
else
echo "libtool is required" >&2
exit 1
echo "$0: Error: libtool is required" >&2
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
# bootstrap the autotools
@ -27,16 +35,13 @@ automake --gnu --add-missing --copy
# current source snapshots (working from GIT, or some source snapshot, etc)
# 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"
elif [ -z $1 ]; then
else
echo "Setting up submodules"
git submodule init
git submodule update
else
echo "Argument to bootstrap is either no argument or nosubmodule"
exit 1
fi
echo "Bootstrap complete. Quick start build instructions:"
echo "Bootstrap complete. Quick build instructions:"
echo "./configure --enable-maintainer-mode ...."