gnucash master: Better test for conflict between optimization and FORTIFY_SOURCE
John Ralls
jralls at code.gnucash.org
Fri May 2 17:02:46 EDT 2014
Updated via https://github.com/Gnucash/gnucash/commit/8cb391b3 (commit)
from https://github.com/Gnucash/gnucash/commit/ac9a6ae6 (commit)
commit 8cb391b30846f04eb6b874ef6dde723be372b7d0
Author: John Ralls <jralls at ceridwen.us>
Date: Fri May 2 14:02:24 2014 -0700
Better test for conflict between optimization and FORTIFY_SOURCE
diff --git a/configure.ac b/configure.ac
index efd1620..d4fa873 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1329,22 +1329,21 @@ then
# This is gcc >= 3.4.x
warnFLAGS="${warnFLAGS} -Wdeclaration-after-statement"
fi
- else if test "`echo ${GCC_VERSION} | cut -d. -f1`" -ge 4; then
+ elif test "`echo ${GCC_VERSION} | cut -d. -f1`" -ge 4; then
+ AC_MSG_CHECKING(OK To use fortify source?)
# This is gcc >= 4.x.x
warnFLAGS="${warnFLAGS} -Wdeclaration-after-statement -Wno-pointer-sign"
# rpmbuild on FC4 forces this flag. Only add it when optimizing
- have_optimization=
- for flag in $CFLAGS; do
- tmp_flag=`echo $flag | sed -e 's,-O.,,'`
- if `echo $flag | grep -q -- '-O'` ; then
- have_optimization=yes
- fi
- done
-
- if test "x${have_optimization}" = xyes; then
- warnFLAGS="${warnFLAGS} -D_FORTIFY_SOURCE=2"
- fi
- fi
+ cflags_save="$CFLAGS"
+ CFLAGS="$AM_CFLAGS $CFLAGS -Werror -D_FORTIFY_SOURCE=2"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <stdio.h>
+ ]],
+ [[ printf( "%s\n", "Hello World!");]])],
+ [warnFLAGS="${warnFLAGS} -D_FORTIFY_SOURCE=2"
+ AC_MSG_RESULT(OK)],
+ [AC_MSG_RESULT(No)])
+ CFLAGS="$cflags_save"
fi
AM_CFLAGS="${warnFLAGS} ${AM_CFLAGS}"
AM_CXXFLAGS="${warnXXFLAGS} ${AM_CXXFLAGS}"
Summary of changes:
configure.ac | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
More information about the gnucash-changes
mailing list