configure: Add check for gcc -Wstack-usage.
authorMark Wielaard <mjw@redhat.com>
Mon, 8 Jun 2015 22:28:13 +0000 (00:28 +0200)
committerMark Wielaard <mjw@redhat.com>
Wed, 10 Jun 2015 12:14:57 +0000 (14:14 +0200)
Some older gcc versions don't support -Wstack-usage. Only use it when
accepted by the compiler.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
ChangeLog
config/ChangeLog
config/eu.am
configure.ac

index 3444519..f632b82 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-08  Mark Wielaard  <mjw@redhat.com>
+
+       * configure.ac (ADD_STACK_USAGE_WARNING): New conditional based on
+       gcc -Wstack-usage check.
+
 2015-05-31  Mark Wielaard  <mjw@redhat.com>
 
        * configure.ac (MODVERSION): Define using LIBEBL_SUBDIR, eu_version
index 74379d4..60b9094 100644 (file)
@@ -1,5 +1,11 @@
 2015-05-23  Mark Wielaard  <mjw@redhat.com>
 
+       * eu.am (STACK_USAGE_WARNING): New variable set based on
+       ADD_STACK_USAGE_WARNING conditional.
+       (AM_CFLAGS): Use STACK_USAGE_WARNING variable.
+
+2015-05-23  Mark Wielaard  <mjw@redhat.com>
+
        * eu.am (AM_CFLAGS): Add -Wstack-usage=262144.
 
 2015-04-23  Max Filippov  <jcmvbkbc@gmail.com>
index e935335..70d32de 100644 (file)
@@ -33,10 +33,15 @@ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
 AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
 
 # Warn about stack usage of more than 256K = 262144 bytes.
+if ADD_STACK_USAGE_WARNING
+STACK_USAGE_WARNING=-Wstack-usage=262144
+else
+STACK_USAGE_WARNING=
+endif
 AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
            $(if $($(*F)_no_Werror),,-Werror) \
            $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
-           $(if $($(*F)_no_Wstack_usage),,-Wstack-usage=262144) \
+           $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
            $($(*F)_CFLAGS)
 
 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE))
index f9fb5be..4a4b27e 100644 (file)
@@ -270,6 +270,14 @@ AS_IF([test "x$enable_symbol_versioning" = "xno"],
       [AC_MSG_WARN([Disabling symbol versioning breaks ABI compatibility.])
        enable_symbol_versioning=no],[enable_symbol_versioning=yes])
 
+AC_CACHE_CHECK([whether gcc accepts -Wstack-usage], ac_cv_stack_usage, [dnl
+old_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -Wstack-usage=262144"
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],
+                 ac_cv_stack_usage=yes, ac_cv_stack_usage=no)
+CFLAGS="$old_CFLAGS"])
+AM_CONDITIONAL(ADD_STACK_USAGE_WARNING, [test "x$ac_cv_stack_usage" != "xno"])
+
 dnl Check if we have argp available from our libc
 AC_LINK_IFELSE(
        [AC_LANG_PROGRAM(