X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=configure.ac;h=690fe8fa7f1d41b8c4972fc9c0927bc9a42cb4ca;hp=eb3aa9ca3521779498970eaad3342561b8d5999a;hb=c7f4490afcccb5d27b0f17e99ea782b21449e27b;hpb=ee9660103cc8173ebc81f40037d54801ba739f48 diff --git a/configure.ac b/configure.ac index eb3aa9c..690fe8f 100644 --- a/configure.ac +++ b/configure.ac @@ -79,11 +79,6 @@ AS_IF([test "x$ax_cv___attribute__" != "xyes"], # Make sure we have pthread support AX_PTHREAD([], [AC_MSG_ERROR([Could not configure pthread support])]) -# Make sure the C compiler supports weak symbols -AX_SYS_WEAK_ALIAS -AS_IF([test "x$ax_cv_sys_weak_alias" = "xno"], - [AC_MSG_ERROR([Your platform doesn't support weak symbols.])]) - # Checks for typedefs, structures, and compiler characteristics. AC_C_INLINE AC_C_TYPEOF @@ -96,6 +91,39 @@ AC_TYPE_UINT32_T AC_TYPE_UINT64_T AC_TYPE_UINT8_T +# Detect warning flags supported by the C compiler and append them to +# WARN_CFLAGS. +m4_define([WARN_FLAGS_LIST], [ dnl + -Wall dnl + -Wextra dnl + -Wmissing-prototypes dnl + -Wmissing-declarations dnl + -Wnull-dereference dnl + -Wundef dnl + -Wshadow dnl + -Wjump-misses-init dnl + -Wsuggest-attribute=format dnl + -Wtautological-constant-out-of-range-compare dnl + -Wnested-externs dnl + -Wwrite-strings dnl + -Wformat=2 dnl + -Wstrict-aliasing dnl + -Wmissing-noreturn dnl + -Winit-self dnl + -Wduplicated-cond dnl + -Wduplicated-branches dnl + -Wlogical-op dnl + dnl + dnl-Wredundant-decls dnl + -Wno-null-dereference dnl +]) + +# Pass -Werror as an extra flag during the test: this is needed to make the +# -Wunknown-warning-option diagnostic fatal with clang. +AC_LANG_PUSH([C]) +AX_APPEND_COMPILE_FLAGS([WARN_FLAGS_LIST], [WARN_CFLAGS], [-Werror]) +AC_LANG_POP([C]) + ## ## ## Header checks ## @@ -118,7 +146,7 @@ AC_PROG_AWK AC_PROG_GREP AC_PROG_MAKE_SET AC_CHECK_PROGS(NPROC, [nproc gnproc]) -AC_CHECK_PROG(GETCONF, [getconf]) +AC_CHECK_PROGS(GETCONF, [getconf]) AS_IF([test "x$NPROC" != "x"], [NPROC_CMD=$NPROC], [AS_IF([test "x$GETCONF" != "x"], @@ -244,7 +272,7 @@ AC_SUBST(LT_NO_UNDEFINED) AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_srcdir)/include -include config.h" AC_SUBST(AM_CPPFLAGS) -AM_CFLAGS="-Wall -Wextra -Wno-unused-parameter $PTHREAD_CFLAGS" +AM_CFLAGS="$WARN_CFLAGS $PTHREAD_CFLAGS" AC_SUBST(AM_CFLAGS)