build: Enable compiling with -Werror.

This helps find compile warnings because they simply break
the build.

To use:
./configure --enable-warnings --enable-werror

Signed-off-by: Ben Greear <greearb@candelatech.com>
pull/1/head
Ben Greear 15 years ago
parent 3e33e2c2ba
commit 45557a138e
  1. 3
      Makefile.am
  2. 7
      configure.ac
  3. 31
      m4/cares-confopts.m4

@ -99,6 +99,9 @@ endif
libcares_la_LDFLAGS = $(UNDEF) $(VER)
# Add -Werror if defined
CFLAGS += @CARES_CFLAG_EXTRAS@
# Makefile.inc provides the CSOURCES and HHEADERS defines
include Makefile.inc

@ -13,6 +13,7 @@ AM_MAINTAINER_MODE
CARES_CHECK_OPTION_DEBUG
CARES_CHECK_OPTION_OPTIMIZE
CARES_CHECK_OPTION_WARNINGS
CARES_CHECK_OPTION_WERROR
CARES_CHECK_OPTION_CURLDEBUG
CARES_CHECK_OPTION_SYMBOL_HIDING
@ -862,6 +863,12 @@ CARES_CONFIGURE_SYMBOL_HIDING
CARES_PRIVATE_LIBS="$LIBS"
AC_SUBST(CARES_PRIVATE_LIBS)
CARES_CFLAG_EXTRAS=""
if test X"$want_werror" == Xyes; then
CARES_CFLAG_EXTRAS="-Werror"
fi
AC_SUBST(CARES_CFLAG_EXTRAS)
dnl squeeze whitespace out of some variables
squeeze CFLAGS

@ -253,6 +253,37 @@ AC_HELP_STRING([--disable-warnings],[Disable strict compiler warnings]),
AC_MSG_RESULT([$want_warnings])
])
dnl CARES_CHECK_OPTION_WERROR
dnl -------------------------------------------------
dnl Verify if configure has been invoked with option
dnl --enable-werror or --disable-werror, and set
dnl shell variable want_werror as appropriate.
AC_DEFUN([CARES_CHECK_OPTION_WERROR], [
AC_MSG_CHECKING([whether to treat compile warnings as errors])
OPT_COMPILER_WERROR="default"
AC_ARG_ENABLE(werror,
AC_HELP_STRING([--enable-werror],[Treat compile warnings as errors])
AC_HELP_STRING([--disable-warnings],[Don't treat compile warnings as werrors]),
OPT_COMPILER_WERROR=$enableval)
case "$OPT_COMPILER_WERROR" in
no)
dnl --disable-werror option used
want_werror="no"
;;
default)
dnl configure option not specified, so
dnl use same setting as --enable-debug
want_werror="no"
;;
*)
dnl --enable-werror option used
want_werror="yes"
;;
esac
AC_MSG_RESULT([$want_werror])
])
dnl CARES_CHECK_NONBLOCKING_SOCKET
dnl -------------------------------------------------

Loading…
Cancel
Save