Update autogen.sh

This commit is contained in:
Frank Denis 2020-05-18 22:12:48 +02:00
parent f057d474e2
commit 4681c7722b

View File

@ -1,5 +1,55 @@
#! /bin/sh #! /bin/sh
args=$(getopt bfos "$@")
if [ $? -ne 0 ]; then
echo "Usage: autogen.sh [-b] [-f] [-o] [-s] [--]"
echo
echo "> -b: do not update the system detection scripts"
echo "> -f: force the recreation of all autoconf scripts"
echo "> -o: overwrite/downgrade system detection scripts"
echo "> -s: setup an environment for developers"
exit 2
fi
force=false
update_config=true
overwrite_config=false
dev_setup=false
eval set -- "$args"
while [ $# -ne 0 ]; do
case $1 in
-b)
update_config=false
;;
-f)
force=true
;;
-o)
overwrite_config=true
;;
-s)
dev_setup=true
;;
--)
shift
break
;;
esac
shift
done
if [ -s configure ]; then
if [ "$force" != true ]; then
echo "autoconf scripts already exist." >&2
exit 0
fi
elif [ "$dev_setup" != true ]; then
echo "A development environment was not created."
exit 0
fi
if glibtoolize --version >/dev/null 2>&1; then if glibtoolize --version >/dev/null 2>&1; then
LIBTOOLIZE='glibtoolize' LIBTOOLIZE='glibtoolize'
else else
@ -26,6 +76,14 @@ command -v automake >/dev/null 2>&1 || {
exit 1 exit 1
} }
if [ "$overwrite_config" = false ]; then
if [ -f build-aux/config.guess ]; then
mv build-aux/config.guess build-aux/config.guess.stable
fi
if [ -f build-aux/config.sub ]; then
mv build-aux/config.sub build-aux/config.sub.stable
fi
fi
if autoreconf --version >/dev/null 2>&1; then if autoreconf --version >/dev/null 2>&1; then
autoreconf -ivf autoreconf -ivf
else else
@ -34,8 +92,16 @@ else
automake --add-missing --force-missing --include-deps && automake --add-missing --force-missing --include-deps &&
autoconf autoconf
fi fi
if [ "$overwrite_config" = false ]; then
if [ -f build-aux/config.guess.stable ]; then
mv build-aux/config.guess.stable build-aux/config.guess
fi
if [ -f build-aux/config.sub.stable ]; then
mv build-aux/config.sub.stable build-aux/config.sub
fi
fi
[ -z "$DO_NOT_UPDATE_CONFIG_SCRIPTS" ] && [ "$update_config" = true ] && [ -z "$DO_NOT_UPDATE_CONFIG_SCRIPTS" ] &&
command -v curl >/dev/null 2>&1 && { command -v curl >/dev/null 2>&1 && {
echo "Downloading config.guess and config.sub..." echo "Downloading config.guess and config.sub..."