X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=configure.ac;h=025e5e3015b64e8e4c2024a1c30bd444120d611f;hp=4d1a1dfe659beffbbaf9f24a39dac775ca4348c6;hb=d6c78161aed9b2d550ce201b0a8cd5b3ee515ac8;hpb=447c9339d4f21fe5bba1aa77eccc9f94745e6447 diff --git a/configure.ac b/configure.ac index 4d1a1df..025e5e3 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_INIT([userspace-rcu],[0.11.0-pre],[mathieu dot desnoyers at efficios dot com] # Following the numbering scheme proposed by libtool for the library version # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html -AC_SUBST([URCU_LIBRARY_VERSION], [6:0:0]) +AC_SUBST([URCU_LIBRARY_VERSION], [6:0:1]) AC_CONFIG_HEADERS([include/config.h include/urcu/config.h]) AC_CONFIG_AUX_DIR([config]) @@ -29,6 +29,7 @@ AH_TEMPLATE([CONFIG_RCU_TLS], [TLS provided by the compiler.]) AH_TEMPLATE([CONFIG_RCU_HAVE_CLOCK_GETTIME], [clock_gettime() is detected.]) AH_TEMPLATE([CONFIG_RCU_FORCE_SYS_MEMBARRIER], [Require the operating system to support the membarrier system call for default and bulletproof flavors.]) AH_TEMPLATE([CONFIG_RCU_DEBUG], [Enable internal debugging self-checks. Introduce performance penalty.]) +AH_TEMPLATE([CONFIG_CDS_LFHT_ITER_DEBUG], [Enable extra debugging checks for lock-free hash table iterator traversal. Alters the rculfhash ABI. Make sure to compile both library and application with matching configuration.]) # Allow requiring the operating system to support the membarrier system # call. Applies to default and bulletproof flavors. @@ -44,6 +45,11 @@ AC_ARG_ENABLE([compiler-tls], [def_compiler_tls=$enableval], [def_compiler_tls="yes"]) +# Checks for C compiler +AC_USE_SYSTEM_EXTENSIONS +AC_PROG_CC +AC_PROG_CC_STDC + # If not overridden, use ax_tls.m4 to check if TLS is available. AS_IF([test "x$def_compiler_tls" = "xyes"], [AX_TLS([def_tls_detect=$ac_cv_tls], [:])], @@ -53,11 +59,6 @@ AS_IF([test "x$def_tls_detect" = "x"], [:], [AC_DEFINE_UNQUOTED([CONFIG_RCU_TLS], $def_tls_detect)]) -# Checks for C compiler -AC_USE_SYSTEM_EXTENSIONS -AC_PROG_CC -AC_PROG_CC_STDC - # Checks for programs. AC_PROG_AWK AC_PROG_MAKE_SET @@ -268,6 +269,13 @@ AS_IF([test "x$enable_rcu_debug" = "xyes"], [ AC_DEFINE([CONFIG_RCU_DEBUG], [1]) ]) +# rculfhash iterator debugging +AC_ARG_ENABLE([cds-lfht-iter-debug], + AS_HELP_STRING([--enable-cds-lfht-iter-debug], [Enable extra debugging checks for lock-free hash table iterator traversal. Alters the rculfhash ABI. Make sure to compile both library and application with matching configuration.])) +AS_IF([test "x$enable_cds_lfht_iter_debug" = "xyes"], [ + AC_DEFINE([CONFIG_CDS_LFHT_ITER_DEBUG], [1]) +]) + # From the sched_setaffinity(2)'s man page: # ~~~~ # The CPU affinity system calls were introduced in Linux kernel 2.5.8. @@ -373,7 +381,7 @@ AC_CHECK_FUNCS([sched_setaffinity],[ AM_CPPFLAGS="-include config.h" AC_SUBST(AM_CPPFLAGS) -AM_CFLAGS="-Wall -Wextra -Wno-unused-parameter -Wno-sign-compare $AM_CFLAGS" +AM_CFLAGS="-Wall -Wextra -Wno-unused-parameter $AM_CFLAGS" AC_SUBST(AM_CFLAGS) AC_CONFIG_LINKS([ @@ -508,6 +516,10 @@ PPRINT_PROP_BOOL([Require membarrier], $value) test "x$enable_rcu_debug" = "xyes" && value=1 || value=0 PPRINT_PROP_BOOL([Internal debugging], $value) +# rculfhash iterator debug enabled/disabled +test "x$enable_cds_lfht_iter_debug" = "xyes" && value=1 || value=0 +PPRINT_PROP_BOOL([Lock-free hash table iterator debugging], $value) + PPRINT_PROP_BOOL([Multi-flavor support], 1) report_bindir="`eval eval echo $bindir`"