[collectd] [PATCH] Removed the use of -Werror when compiling with gcc
Dan Fandrich
dan at coneharvesters.com
Fri Mar 28 00:09:54 CET 2014
I got some feedback (a long time ago now) that removing -Werror altogether
wasn't desirable because of the benefit it adds to the collectd project in
shipping code that compiles without warnings. But, I still feel that just about
anyone other than the developers finds it annoying when their build breaks on a
newer compiler for no good reason. So, this new patch instead adds a configure
option to allow users to drop the -Werror option if desired.
>>> Dan
-------------- next part --------------
From 46dc71732287117879936d7b6be58a5f6f0ee50d Mon Sep 17 00:00:00 2001
From: Dan Fandrich <dan at coneharvesters.com>
Date: Thu, 27 Mar 2014 23:58:47 +0100
Subject: [PATCH] configure.ac: add --disable-warning-as-error option
While the goal of building warning-free is noble, always
erroring out on warnings makes the build too brittle with
ever-changing warning behaviour in newer versions of gcc.
---
configure.ac | 20 +++++++++++++++++---
src/Makefile.am | 2 +-
src/libcollectdclient/Makefile.am | 2 +-
3 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
index f1c7b8a..5fe1a10 100644
--- a/configure.ac
+++ b/configure.ac
@@ -585,11 +585,25 @@ AC_CHECK_FUNCS(gettimeofday select strdup strtol getaddrinfo getnameinfo strchr
AC_FUNC_STRERROR_R
+AC_ARG_ENABLE(warning-as-error,
+ AS_HELP_STRING([--disable-warning-as-error],
+ [stop treating compile warnings as errors on gcc]),
+ if test "x$enableval" = "xyes"
+ then
+ CFLAG_ERROR="-Werror"
+ else
+ CFLAG_ERROR=""
+ fi
+ ,
+ CFLAG_ERROR="-Werror"
+)
+AC_SUBST(CFLAG_ERROR)
+
SAVE_CFLAGS="$CFLAGS"
# Emulate behavior of src/Makefile.am
if test "x$GCC" = "xyes"
then
- CFLAGS="$CFLAGS -Wall -Werror"
+ CFLAGS="$CFLAGS -Wall $CFLAG_ERROR"
fi
AC_CACHE_CHECK([for strtok_r],
@@ -718,7 +732,7 @@ AC_CHECK_FUNCS(getutxent, [have_getutxent="yes"], [have_getutxent="no"])
if test "x$GCC" = "xyes"
then
SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Wall -Wextra -Werror"
+ CFLAGS="$CFLAGS -Wall -Wextra $CFLAG_ERROR"
fi
AC_CHECK_FUNCS(strptime, [have_strptime="yes"], [have_strptime="no"])
@@ -3225,7 +3239,7 @@ then
SAVE_LDFLAGS="$LDFLAGS"
# trigger an error if Perl_load_module*() uses __attribute__nonnull__(3)
# (see issues #41 and #42)
- CFLAGS="$CFLAGS $PERL_CFLAGS -Wall -Werror"
+ CFLAGS="$CFLAGS $PERL_CFLAGS -Wall $CFLAG_ERROR"
LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
AC_CACHE_CHECK([for broken Perl_load_module()],
diff --git a/src/Makefile.am b/src/Makefile.am
index a9d8582..459eecc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -4,7 +4,7 @@ SUBDIRS += liboconfig
endif
if COMPILER_IS_GCC
-AM_CFLAGS = -Wall -Werror
+AM_CFLAGS = -Wall $(CFLAG_ERROR)
endif
AM_CPPFLAGS = -DPREFIX='"${prefix}"'
diff --git a/src/libcollectdclient/Makefile.am b/src/libcollectdclient/Makefile.am
index 1d4dff5..2a086c5 100644
--- a/src/libcollectdclient/Makefile.am
+++ b/src/libcollectdclient/Makefile.am
@@ -1,7 +1,7 @@
AUTOMAKE_OPTIONS = foreign no-dependencies
if COMPILER_IS_GCC
-AM_CFLAGS = -Wall -Werror
+AM_CFLAGS = -Wall $(CFLAG_ERROR)
endif
pkginclude_HEADERS = collectd/client.h collectd/network.h collectd/network_buffer.h collectd/lcc_features.h
--
1.8.1.5
More information about the collectd
mailing list