@@ -3,6 +3,7 @@
srcdir=$(cd "$(dirname "$0")"; pwd)
prefix=/usr/local
cc=gcc
+cxx=g++
ld=ld
objcopy=objcopy
objdump=objdump
@@ -24,6 +25,7 @@ usage() {
--processor=PROCESSOR processor to compile for ($arch)
--cross-prefix=PREFIX cross compiler prefix
--cc=CC c compiler to use ($cc)
+ --cxx=CXX c++ compiler to use ($cxx)
--ld=LD ld linker to use ($ld)
--prefix=PREFIX where to install things ($prefix)
--endian=ENDIAN endianness to compile for (little or big, ppc64 only)
@@ -59,6 +61,9 @@ while [[ "$1" = -* ]]; do
--cc)
cc="$arg"
;;
+ --cxx)
+ cxx="$arg"
+ ;;
--ld)
ld="$arg"
;;
@@ -118,22 +123,16 @@ EOF
u32_long=$($cross_prefix$cc -E lib-test.c | grep -v '^#' | grep -q long && echo yes)
rm -f lib-test.c
-# check for dependent 32 bit libraries
-if [ "$arch" != "arm" ]; then
-cat << EOF > lib_test.c
-#include <stdc++.h>
-#include <boost_thread-mt.h>
-#include <pthread.h>
-
-int main ()
-{}
-EOF
-$cc -m32 -o /dev/null lib_test.c &> /dev/null
-exit=$?
-if [ $exit -eq 0 ]; then
- api=true
-fi
-rm -f lib_test.c
+# api/: check for dependent 32 bit libraries and gnu++11 support
+if [ "$testdir" = "x86" ]; then
+ echo 'int main () {}' > lib-test.c
+ $cc -m32 -o /dev/null -lstdc++ -lpthread -lrt lib-test.c &> /dev/null
+ exit=$?
+ $cxx -m32 -o /dev/null -std=gnu++11 lib-test.c &> /dev/null
+ if [ $? -eq 0 -a $exit -eq 0 ]; then
+ api=true
+ fi
+ rm -f lib-test.c
fi
# Are we in a separate build tree? If so, link the Makefile
@@ -173,6 +172,7 @@ ARCH=$arch
ARCH_NAME=$arch_name
PROCESSOR=$processor
CC=$cross_prefix$cc
+CXX=$cross_prefix$cxx
LD=$cross_prefix$ld
OBJCOPY=$cross_prefix$objcopy
OBJDUMP=$cross_prefix$objdump
API was never selected by default, because <stdc++> should have been <bits/stdc++> and in any case needs g++. Boost dependency has recently been lifted, but we added gnu++11 dependency. Only x86 currently uses compiles api, so make the room for errors a bit smaller by checking for it. Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> --- configure | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-)