Commit c020e0aa authored by Radim Krčmář's avatar Radim Krčmář
Browse files

configure: improve api/ detection



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: default avatarRadim Krčmář <rkrcmar@redhat.com>
parent fd6aada0
......@@ -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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment