ref: e53ebd696a34e2a74b1ccb5132a946b7c965f448
parent: 3d28ee802016ba5899bddea0cc511d79c7e5ea34
author: Gregory Maxwell <[email protected]>
date: Fri Oct 21 10:21:53 EDT 2011
Don't use -fstack-protector-all when its not supported, add an autoconf test.
--- a/configure.ac
+++ b/configure.ac
@@ -162,7 +162,7 @@
if test "$OPUS_BUILD" != "true" ; then
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fvisibility=hidden"
-AC_MSG_CHECKING([if ${CXX} supports -fvisibility=hidden])
+AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden])
AC_COMPILE_IFELSE([char foo;],
[ AC_MSG_RESULT([yes])
SYMBOL_VISIBILITY="-fvisibility=hidden" ],
@@ -169,10 +169,18 @@
AC_MSG_RESULT([no]))
CFLAGS="$saved_CFLAGS $SYMBOL_VISIBILITY"
AC_SUBST(SYMBOL_VISIBILITY)
+saved_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -fstack-protector-all"
+AC_MSG_CHECKING([if ${CC} supports -fstack-protector-all])
+AC_COMPILE_IFELSE([char foo;],
+ [ AC_MSG_RESULT([yes])
+ STACK_PROTECTOR="-fstack-protector-all" ],
+ AC_MSG_RESULT([no]))
+CFLAGS="$saved_CFLAGS $STACK_PROTECTOR"
fi
if test $ac_cv_c_compiler_gnu = yes ; then
- CFLAGS="$CFLAGS -fstack-protector-all -W -Wstrict-prototypes -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow"
+ CFLAGS="$CFLAGS -W -Wstrict-prototypes -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow"
fi
AC_CHECK_FUNCS([lrintf])