76 lines
2.7 KiB
Text
76 lines
2.7 KiB
Text
$NetBSD: patch-aa,v 1.3 2012/04/27 16:53:13 dholland Exp $
|
|
|
|
- avoid infinite loop in options processing
|
|
- ...?
|
|
|
|
--- configure.orig 2009-07-31 14:46:19.000000000 +0000
|
|
+++ configure
|
|
@@ -485,6 +485,9 @@ the corresponding command-line options (
|
|
EOT
|
|
exit $exitval
|
|
fi
|
|
+ else
|
|
+ echo "$0: $1: Invalid argument/option" 1>&2
|
|
+ exit 1
|
|
fi
|
|
done
|
|
|
|
@@ -1374,10 +1377,10 @@ EOT
|
|
cat >$CONFTMP/test-lib.c <<EOT
|
|
int foo() {no_such_symbol();}
|
|
EOT
|
|
- if run $CC $CC_FLAGS $CC_LIBS $CONFTMP/test-dlopen.c -o $CONFTMP/test ; then
|
|
+ if run $CC -fPIC $CC_FLAGS $CC_LIBS $CONFTMP/test-dlopen.c -o $CONFTMP/test ; then
|
|
CC_DYN_LIBS=""
|
|
log "dlopen() found (no libs)"
|
|
- elif run $CC $CC_FLAGS $CC_LIBS $CONFTMP/test-dlopen.c -ldl -o $CONFTMP/test
|
|
+ elif run $CC -fPIC $CC_FLAGS $CC_LIBS $CONFTMP/test-dlopen.c -ldl -o $CONFTMP/test
|
|
then
|
|
CC_DYN_LIBS=" -ldl"
|
|
log "dlopen() found (libdl)"
|
|
@@ -1386,7 +1389,7 @@ EOT
|
|
OK=
|
|
fi
|
|
if [ "$OK" ] ; then
|
|
- if run $CC -rdynamic $CC_FLAGS $CC_LIBS $CC_DYN_LIBS $CONFTMP/test-dlopen.c -o $CONFTMP/test ; then
|
|
+ if run $CC -rdynamic -fPIC $CC_FLAGS $CC_LIBS $CC_DYN_LIBS $CONFTMP/test-dlopen.c -o $CONFTMP/test ; then
|
|
log "-rdynamic works"
|
|
CC_DYN_LFLAGS=" -rdynamic"
|
|
else
|
|
@@ -1400,7 +1403,7 @@ EOT
|
|
else
|
|
CC_SHARED="$CC -shared"
|
|
fi
|
|
- if run $CC_SHARED $CC_FLAGS $CC_LIBS $CONFTMP/test-lib.c -o $CONFTMP/test-lib.so ; then
|
|
+ if run $CC_SHARED -fPIC $CC_FLAGS $CC_LIBS $CONFTMP/test-lib.c -o $CONFTMP/test-lib.so ; then
|
|
log "-shared works"
|
|
else
|
|
log "no -shared, aborting dlfcn test"
|
|
@@ -1438,8 +1441,8 @@ EOT
|
|
return quux(bar)*2;
|
|
}
|
|
EOT
|
|
- if run $CC_SHARED $CC_FLAGS $CC_LIBS $CONFTMP/test-dynamic.c -o $CONFTMP/test.so \
|
|
- && run $CC $CC_FLAGS $CC_DYN_LFLAGS $CC_LIBS $CC_DYN_LIBS $CONFTMP/test-dynamic2.c $CONFTMP/test.so -o $CONFTMP/test
|
|
+ if run $CC_SHARED -fPIC $CC_FLAGS $CC_LIBS $CONFTMP/test-dynamic.c -o $CONFTMP/test.so \
|
|
+ && run $CC -fPIC $CC_FLAGS $CC_DYN_LFLAGS $CC_LIBS $CC_DYN_LIBS $CONFTMP/test-dynamic2.c $CONFTMP/test.so -o $CONFTMP/test
|
|
then
|
|
a=`$CONFTMP/test 1`
|
|
log "symbol resolution test: $CONFTMP/test 1 => $a"
|
|
@@ -1468,7 +1471,7 @@ EOT
|
|
}
|
|
int quux(int x) {return x;}
|
|
EOT
|
|
- if run $CC $CC_FLAGS $CC_DYN_LFLAGS $CC_LIBS $CC_DYN_LIBS $CONFTMP/test-dynamic2.c $CONFTMP/test.so -o $CONFTMP/test
|
|
+ if run $CC -fPIC $CC_FLAGS $CC_DYN_LFLAGS $CC_LIBS $CC_DYN_LIBS $CONFTMP/test-dynamic2.c $CONFTMP/test.so -o $CONFTMP/test
|
|
then
|
|
a=`$CONFTMP/test`
|
|
log "underscore test: $CONFTMP/test => $a"
|
|
@@ -1492,6 +1495,7 @@ EOT
|
|
if [ "$OK" ] ; then
|
|
echo "yes."
|
|
STATIC_MODULES=0
|
|
+ CC_FLAGS="-fPIC $CC_FLAGS"
|
|
else
|
|
log "static modules selected"
|
|
echo "no."
|