From b17b3d9c1275bca68b84443a0e4795d1648fcf60 Mon Sep 17 00:00:00 2001 From: Jimmy Lu Date: Fri, 30 Nov 2012 23:20:18 -0500 Subject: [PATCH] add option validation to configure, now it will error out on undefined options --- configure | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/configure b/configure index fe1f6ff61ce..f2afa2d26ef 100755 --- a/configure +++ b/configure @@ -114,7 +114,38 @@ probe_need() { fi } +validate_opt () { + for arg in $CFG_CONFIGURE_ARGS + do + isArgValid=0 + for option in $BOOL_OPTIONS + do + if test --disable-$option = $arg + then + isArgValid=1 + fi + if test --enable-$option = $arg + then + isArgValid=1 + fi + done + for option in $VAL_OPTIONS + do + if echo "$arg" | grep -q -- "--$option=" + then + isArgValid=1 + fi + done + if test $isArgValid -eq 0 + then + err "Option '$arg' is not recognized" + fi + done +} + valopt() { + VAL_OPTIONS="$VAL_OPTIONS $1" + local OP=$1 local DEFAULT=$2 shift @@ -145,6 +176,8 @@ valopt() { } opt() { + BOOL_OPTIONS="$BOOL_OPTIONS $1" + local OP=$1 local DEFAULT=$2 shift @@ -293,6 +326,9 @@ else step_msg "processing $CFG_SELF args" fi +BOOL_OPTIONS="" +VAL_OPTIONS="" + opt sharedstd 1 "build libstd as a shared library" opt valgrind 0 "run tests with valgrind (memcheck by default)" opt helgrind 0 "run tests with helgrind instead of memcheck" @@ -313,6 +349,10 @@ valopt llvm-root "" "set LLVM root" valopt host-triple "${DEFAULT_HOST_TRIPLE}" "LLVM host triple" valopt target-triples "${CFG_HOST_TRIPLE}" "LLVM target triples" +# Validate Options +step_msg "validating $CFG_SELF args" +validate_opt + if [ $HELP -eq 1 ] then echo "" -- 2.44.0