build-sys: allow autogen.sh to take configure params
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 20 Oct 2016 02:49:22 +0000 (22:49 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 20 Oct 2016 05:42:55 +0000 (01:42 -0400)
It is sometimes nice to run autogen with some configure parameters.
For example:

  ./autogen.sh c --disable-manpages

So pass any extra args after the [cgals] verb to the configure command.

Also, check that the verb is correct (empty or one of the known letters)
before doing any non-trivial work.

autogen.sh

index 4ec1b2b..82ebb57 100755 (executable)
 
 set -e
 
+verb="$1"
+
+if [[ -n "$verb" ]]; then
+        if [[ "$verb" != [cgals] ]]; then
+                echo "Unexpected argument: $verb" >&2
+                exit 1
+        fi
+        shift
+fi
+
 oldpwd=$(pwd)
 topdir=$(dirname $0)
 cd $topdir
@@ -52,21 +62,22 @@ args="$args \
 "
 fi
 
+args="$args $@"
 cd $oldpwd
 
-if [ "x$1" = "xc" ]; then
+if [ "$verb" = "c" ]; then
         $topdir/configure CFLAGS='-g -O0 -ftrapv' $args
         make clean
-elif [ "x$1" = "xg" ]; then
+elif [ "$verb" = "g" ]; then
         $topdir/configure CFLAGS='-g -Og -ftrapv' $args
         make clean
-elif [ "x$1" = "xa" ]; then
+elif [ "$verb" = "a" ]; then
         $topdir/configure CFLAGS='-g -O0 -Wsuggest-attribute=pure -Wsuggest-attribute=const -ftrapv' $args
         make clean
-elif [ "x$1" = "xl" ]; then
+elif [ "$verb" = "l" ]; then
         $topdir/configure CC=clang CFLAGS='-g -O0 -ftrapv' $args
         make clean
-elif [ "x$1" = "xs" ]; then
+elif [ "$verb" = "s" ]; then
         scan-build $topdir/configure CFLAGS='-std=gnu99 -g -O0 -ftrapv' $args
         scan-build make
 else