shithub: opus

Download patch

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])