From 558d9cc60cc479f23309b62ec1b8ac401ef85f1f Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 1 Oct 2019 19:12:56 +0200 Subject: [PATCH] configure.sh: Cleanup argument parsing. Thanks, Timothy! * configure.sh: Cleanup argument parsing. --- configure.sh | 82 ++++++++++++++++++---------------------------------- 1 file changed, 28 insertions(+), 54 deletions(-) diff --git a/configure.sh b/configure.sh index 362fe5bc..f47f4500 100755 --- a/configure.sh +++ b/configure.sh @@ -24,61 +24,35 @@ VERSION=0.20 srcdir=${srcdir-$(dirname $0)} . ${srcdest}build-aux/trace.sh -# parse --with-system-libc -cmdline=$(echo "$@") -p=$(echo $cmdline | sed s,--with-system-libc,,) -if test "$p" != "$cmdline"; then - mes_libc=${mes_libc-system} -else - mes_libc=mes -fi +# parse arguments +while [ $# -gt 0 ]; do + case $1 in + (--with-courage) + courageous=true + ;; + (--with-system-libc) + mes_libc=system + ;; + (--build=*) + build=${1#--build=} + ;; + (--host=*) + host=${1#--host=} + ;; + (--prefix=*) + prefix=${1#--prefix=} + ;; + (--program-prefix=*) + program_prefix=${1#--program-prefix=} + ;; + esac + shift +done -# parse --with-courage -cmdline=$(echo " $@") -p=$(echo $cmdline | sed s,--with-courage,,) -if test "$p" != "$cmdline"; then - courageous=true -else - courageous=false -fi - -# parse --prefix=PREFIX -p=$(echo $cmdline | sed s,.*--prefix=,-prefix=,) -if test "$p" != "$cmdline"; then - p=$(echo $p | sed s,.*-prefix=,,) - p=$(echo $p | sed 's, .*,,') - prefix=${p-/usr/local} -else - prefix=${prefix-/usr/local} -fi - -# parse --build=BUILD -p=$(echo $cmdline | sed s,.*--build=,-build=,) -if [ "$p" != "$cmdline" ]; then - p=$(echo $p | sed s,.*-build=,,) - p=$(echo $p | sed 's, .*,,') - build=${p-$build} -else - build=$build -fi - -# parse --host=HOST -p=$(echo $cmdline | sed s,.*--host=,-host=,) -if [ "$p" != "$cmdline" ]; then - p=$(echo $p | sed s,.*-host=,,) - p=$(echo $p | sed 's, .*,,') - host=${p-$build} -elif test -n "$build"; then - host=${host-$build} -fi - -# parse --program-prefix= -p=$(echo $cmdline | sed s,.*--program-prefix=,-program-prefix=,) -if test "$p" != "$cmdline"; then - p=$(echo $p | sed s,.*-program-prefix=,,) - p=$(echo $p | sed 's, .*,,') - program_prefix=$p -fi +prefix=${prefix-/usr/local} +mes_libc=${mes_libc-mes} +courageous=${courageous-false} +host=${host-$build} AR=${AR-$(command -v ar)} || true BASH=${BASH-$(command -v bash)}