diff --git a/configure b/configure index 34861581283f3..9919aa1d75858 100755 --- a/configure +++ b/configure @@ -77,6 +77,36 @@ probe_need() { fi } +valopt() { + local OP=$1 + local DEFAULT=$2 + shift + shift + local DOC="$*" + if [ $HELP -eq 0 ] + then + local UOP=$(echo $OP | tr 'a-z-' 'A-Z_') + local V="CFG_${UOP}" + eval $V="$DEFAULT" + for arg in $CFG_CONFIGURE_ARGS + do + if echo "$arg" | grep -q -- "--$OP=" + then + val=$(echo "$arg" | cut -f2 -d=) + eval $V=$val + fi + done + putvar $V + else + if [ -z "$DEFAULT" ] + then + DEFAULT="" + fi + OP="${OP}=[${DEFAULT}]" + printf " --%-30s %s\n" "$OP" "$DOC" + fi +} + opt() { local OP=$1 local DEFAULT=$2 @@ -219,15 +249,14 @@ opt valgrind 1 "run tests with valgrind" opt docs 1 "build documentation" opt optimize 1 "build optimized rust code" opt mingw-cross 0 "cross-compile for win32 using mingw" - +valopt prefix "/usr/local" "set installation prefix" +valopt llvm-root "" "set llvm root" if [ $HELP -eq 1 ] then echo "" echo "Useful environment variables:" echo "" - printf " %-32s %s\n" "CFG_LLVM_ROOT" "The host LLVM install" - printf " %-32s %s\n" "CFG_PREFIX" "The installation prefix" printf " %-32s %s\n" "CFG_ONLY_GCC" "Prefer gcc to clang for building the runtime" printf " %-32s %s\n" "CFG_TARGET_TRIPLES" "LLVM target triples" echo ""