From 34f012639ddf41470714ae74ae961d158670a4c7 Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 20 Jan 2017 13:03:03 +0100 Subject: [PATCH] Turn some compiler warnings into errors Re-apply the reverted commit 98bc7fa50d0731864297f8fb82932d480c426ff6, this time with a clear error message in case autoconf-archive is not installed. Change-Id: I631bde22e79ec0318eb9c8114db5861a1d635816 Tweaked-by: Neels Hofmeyr --- debian/control | 1 + openbsc/configure.ac | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/debian/control b/debian/control index 44262b9d6..93b4bd3c1 100644 --- a/debian/control +++ b/debian/control @@ -4,6 +4,7 @@ Section: net Priority: optional Build-Depends: debhelper (>= 9), autotools-dev, + autoconf-archive, pkg-config, libgtp0-dev, libosmocore-dev, diff --git a/openbsc/configure.ac b/openbsc/configure.ac index 0753834f9..7e244bc65 100644 --- a/openbsc/configure.ac +++ b/openbsc/configure.ac @@ -25,6 +25,11 @@ if test "x$PKG_CONFIG_INSTALLED" = "xno"; then fi PKG_PROG_PKG_CONFIG([0.20]) +dnl check for AX_CHECK_COMPILE_FLAG +m4_ifdef([AX_CHECK_COMPILE_FLAG], [], [ + AC_MSG_ERROR([Please install autoconf-archive; re-run 'autoreconf -fi' for it to take effect.]) + ]) + dnl checks for libraries AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DL="$LIBS";LIBS=""]) AC_SUBST(LIBRARY_DL) @@ -140,6 +145,13 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])], CFLAGS="$saved_CFLAGS" AC_SUBST(SYMBOL_VISIBILITY) +AX_CHECK_COMPILE_FLAG([-Werror=implicit], [CFLAGS="$CFLAGS -Werror=implicit"]) +AX_CHECK_COMPILE_FLAG([-Werror=maybe-uninitialized], [CFLAGS="$CFLAGS -Werror=maybe-uninitialized"]) +AX_CHECK_COMPILE_FLAG([-Werror=memset-transposed-args], [CFLAGS="$CFLAGS -Werror=memset-transposed-args"]) +AX_CHECK_COMPILE_FLAG([-Werror=null-dereference], [CFLAGS="$CFLAGS -Werror=null-dereference"]) +AX_CHECK_COMPILE_FLAG([-Werror=sizeof-array-argument], [CFLAGS="$CFLAGS -Werror=sizeof-array-argument"]) +AX_CHECK_COMPILE_FLAG([-Werror=sizeof-pointer-memaccess], [CFLAGS="$CFLAGS -Werror=sizeof-pointer-memaccess"]) + # Coverage build taken from WebKit's configure.in AC_MSG_CHECKING([whether to enable code coverage support]) AC_ARG_ENABLE(coverage,