X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=configure.ac;h=f026c6d60ffa44156abec1a633c6289779a151ea;hp=eb3aa9ca3521779498970eaad3342561b8d5999a;hb=835b9ab3ca3777fe42e37e92096226ebd19ca75b;hpb=ee9660103cc8173ebc81f40037d54801ba739f48 diff --git a/configure.ac b/configure.ac index eb3aa9c..f026c6d 100644 --- a/configure.ac +++ b/configure.ac @@ -8,15 +8,15 @@ dnl Process this file with autoconf to produce a configure script. m4_define([urcu_version_major], [0]) m4_define([urcu_version_minor], [13]) m4_define([urcu_version_patch], [0]) -m4_define([urcu_version_dev_stage], [-pre]) +m4_define([urcu_version_dev_stage], []) m4_define([urcu_version], urcu_version_major[.]urcu_version_minor[.]urcu_version_patch[]urcu_version_dev_stage) # Library version information of "liburcu" # Following the numbering scheme proposed by libtool for the library version # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html -m4_define([urcu_lib_version_current], [7]) +m4_define([urcu_lib_version_current], [8]) m4_define([urcu_lib_version_revision], [0]) -m4_define([urcu_lib_version_age], [1]) +m4_define([urcu_lib_version_age], [0]) m4_define([urcu_lib_version], urcu_lib_version_current[:]urcu_lib_version_revision[:]urcu_lib_version_age) @@ -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) @@ -256,6 +284,7 @@ AC_CONFIG_FILES([ Makefile doc/Makefile doc/examples/Makefile + extras/Makefile include/Makefile src/Makefile tests/Makefile