summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2012-06-07 17:23:05 +0200
committerChristophe Fergeau <cfergeau@redhat.com>2012-06-07 17:23:05 +0200
commit331cba23cc8a7bfa0a5ec0d489cb0627121633c7 (patch)
tree065af4fb7a65adf488abd1d229e5212ef2ab89cb
parentd55d7ee729b1c8a61040d3eb23450127ce7e8583 (diff)
build: allow building with newer glibc-headers and -O0
Fix copied from libvirt, commit by Eric Blake. glibc 2.15 (on Fedora 17) coupled with explicit disabling of optimization during development dies a painful death: /usr/include/features.h:314:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp] Work around this by only conditionally defining _FORTIFY_SOURCE, in the case where glibc can actually use it. The trick is using AH_VERBATIM instead of AC_DEFINE.
-rw-r--r--m4/spice-compile-warnings.m48
1 files changed, 6 insertions, 2 deletions
diff --git a/m4/spice-compile-warnings.m4 b/m4/spice-compile-warnings.m4
index 1ecae2a..3c7e0d3 100644
--- a/m4/spice-compile-warnings.m4
+++ b/m4/spice-compile-warnings.m4
@@ -104,8 +104,12 @@ AC_DEFUN([SPICE_COMPILE_WARNINGS],[
gl_WARN_ADD([-Wframe-larger-than=9216])
# Use improved glibc headers
- AC_DEFINE([_FORTIFY_SOURCE], [2],
- [enable compile-time and run-time bounds-checking, and some warnings])
+ AH_VERBATIM([FORTIFY_SOURCE],
+ [/* Enable compile-time and run-time bounds-checking, and some warnings. */
+ #if defined __OPTIMIZE__ && __OPTIMIZE__
+ # define _FORTIFY_SOURCE 2
+ #endif
+ ])
# Extra special flags
dnl -fstack-protector stuff passes gl_WARN_ADD with gcc