summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure13
1 files changed, 10 insertions, 3 deletions
diff --git a/configure b/configure
index a4607a4517..00d10a2045 100755
--- a/configure
+++ b/configure
@@ -11,12 +11,19 @@
# try to make this part work with most shells
try_exec(){
+ echo "Trying shell $1"
type "$1" >/dev/null 2>&1 && exec "$@"
}
unset foo
-(: ${foo%%bar}) 2>/dev/null && ! (: ${foo?}) 2>/dev/null
-if test "$?" != 0; then
+(: ${foo%%bar}) 2>/dev/null
+E1="$?"
+
+(: ${foo?}) 2>/dev/null
+E2="$?"
+
+if test "$E1" != 0 || test "$E2" = 0; then
+ echo "Broken shell detected. Trying alternatives."
export FF_CONF_EXEC
if test "0$FF_CONF_EXEC" -lt 1; then
FF_CONF_EXEC=1
@@ -339,7 +346,7 @@ check_header(){
int x;
EOF
err=$?
- var=`echo $header | sed 's/[^[:alnum:]]/_/g'`
+ var=`echo $header | sed 's/[^A-Za-z0-9_]/_/g'`
test "$err" = 0 && enable $var || disable $var
return $err
}