From d619ccf6c11ab574466914c57994a82fb99401af Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 22 Mar 2017 16:06:55 +0000 Subject: [PATCH] configure: Check for clang Disable gcc specific options if using clang Signed-off-by: Khem Raj --- Upstream-Status: Pending configure.ac | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 28b0a14..2d4e984 100644 --- a/configure.ac +++ b/configure.ac @@ -98,6 +98,16 @@ AC_ARG_ENABLE(examples, AM_CONDITIONAL(BUILD_EXAMPLES, [test "x$enable_examples" = xyes]) +AC_MSG_CHECKING([whether C compiler is clang]) +$CC -x c /dev/null -dM -E > conftest.txt 2>&1 +if grep "__clang__" conftest.txt >/dev/null 2>&1; then + AC_SUBST([CC_CLANG], [1]) + AC_MSG_RESULT([yes]) + else + AC_SUBST([CC_CLANG], [0]) + AC_MSG_RESULT([no]) +fi + dnl -------------------------------------------------- dnl Set build flags based on environment dnl -------------------------------------------------- @@ -132,10 +142,15 @@ else AC_MSG_RESULT([$GCC_VERSION]) case $host in *86-*-linux*) + if test "$CC_CLANG" = "1"; then + ieeefp="" + else + ieefp="-mno-ieee-fp" + fi DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char" - CFLAGS="-O3 -Wall -Wextra -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char" + CFLAGS="-O3 -Wall -Wextra -ffast-math -D_REENTRANT -fsigned-char ${ieefp}" # PROFILE="-Wall -Wextra -pg -g -O3 -ffast-math -D_REENTRANT -fsigned-char -fno-inline -static" - PROFILE="-Wall -Wextra -pg -g -O3 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -fno-inline" + PROFILE="-Wall -Wextra -pg -g -O3 -ffast-math ${ieefp} -D_REENTRANT -fsigned-char -fno-inline" # glibc < 2.1.3 has a serious FP bug in the math inline header # that will cripple Vorbis. Look to see if the magic FP stack -- 2.17.0