X-Git-Url: https://git.lttng.org/?p=urcu.git;a=blobdiff_plain;f=configure.ac;h=1d13ea38b0dee4c01052367205a1eae71dfec9a9;hp=9145081a78b2555e8b6ec71c196b197b4a8f8a71;hb=afa5940dbe80a259cf8bc4a99403554a3c2c9e32;hpb=fdfad81006c2c964781b616f0a75578507be809c diff --git a/configure.ac b/configure.ac index 9145081..1d13ea3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,9 @@ AC_PREREQ(2.59) -AC_INIT([userspace-rcu],[0.11.0-pre],[mathieu dot desnoyers at efficios dot com], [], [http://liburcu.org/]) +AC_INIT([userspace-rcu],[0.11.0],[mathieu dot desnoyers at efficios dot com], [], [http://liburcu.org/]) # 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], [7: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. @@ -324,7 +332,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ #include int main() { - cpu_set_t foo, mask; CPU_SET(0, &foo); + cpu_set_t foo; CPU_SET(0, &foo); return 0; } ]]) @@ -373,7 +381,7 @@ AC_CHECK_FUNCS([sched_setaffinity],[ AM_CPPFLAGS="-include config.h" AC_SUBST(AM_CPPFLAGS) -AM_CFLAGS="-Wall $AM_CFLAGS" +AM_CFLAGS="-Wall -Wextra -Wno-unused-parameter $AM_CFLAGS" AC_SUBST(AM_CFLAGS) AC_CONFIG_LINKS([ @@ -508,6 +516,12 @@ 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`" report_libdir="`eval eval echo $libdir`"