numa support: allow disabling numa support
[lttng-ust.git] / configure.ac
index 2440cab61e850d659959942104790104f69a6761..8a5b664648397aa1ed1227c794a8b6d787c62cec 100644 (file)
@@ -26,7 +26,7 @@ AC_SUBST([LTTNG_UST_LIBRARY_VERSION], [0:0:0])
 
 # This is the library version of liblttng-ust-ctl, used internally by
 # liblttng-ust, lttng-sessiond, and lttng-consumerd.
-AC_SUBST([LTTNG_UST_CTL_LIBRARY_VERSION], [3:0:1])
+AC_SUBST([LTTNG_UST_CTL_LIBRARY_VERSION], [4:0:0])
 
 AC_CONFIG_HEADERS([config.h include/lttng/ust-config.h])
 AC_CONFIG_AUX_DIR([config])
@@ -225,32 +225,44 @@ AM_CONDITIONAL([HAVE_DLINFO], [test "x${ac_cv_have_decl_RTLD_DI_LINKMAP}" = "xye
 AC_CHECK_HEADERS([urcu-bp.h], [], [AC_MSG_ERROR([Cannot find [URCU] headers (urcu-bp.h). Use [CPPFLAGS]=-Idir to specify their location.
 This error can also occur when the liburcu package's configure script has not been run.])])
 
+# URCU library version needed or newer
+m4_define([WRONG_LIBURCU_MSG], [Userspace RCU (liburcu) >= 0.11.0 is needed])
+
+#Macro added in urcu 0.6.6
+AC_CHECK_DECL([caa_likely], [],
+       [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]])
+#Macro added in urcu 0.11.0
+AC_CHECK_DECL([DEFINE_URCU_TLS_IE], [],
+       [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/tls-compat.h>]]
+)
+
 # urcu-cds - check that URCU Concurrent Data Structure lib is available to compilation
 # Part of Userspace RCU library 0.7.2 or better.
 AC_CHECK_LIB([urcu-cds], [_cds_lfht_new], [], [AC_MSG_ERROR([Cannot find
 liburcu-cds lib, part of Userspace RCU 0.7 or better. Use [LDFLAGS]=-Ldir to specify its location.])])
 
-AC_MSG_CHECKING([caa_likely()])
-AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-       #include <urcu/compiler.h>
-       void fct(void)
-       {
-               if (caa_likely(1)) {
-               }
-       }
-]])], [
-       AC_MSG_RESULT([yes])
-], [
-       AC_MSG_RESULT([no])
-       AC_MSG_ERROR([Please upgrade your version of liburcu to 0.6.6 or better])
-])
-
 # urcu - check that URCU lib is available to compilation
 AC_CHECK_LIB([urcu-bp], [synchronize_rcu_bp], [], [AC_MSG_ERROR([Cannot find liburcu-bp lib. Use [LDFLAGS]=-Ldir to specify its location.])])
 
 # urcu - check that URCU lib is at least version 0.6
 AC_CHECK_LIB([urcu-bp], [call_rcu_bp], [], [AC_MSG_ERROR([liburcu 0.6 or newer is needed, please update your version or use [LDFLAGS]=-Ldir to specify the right location.])])
 
+# numa.h integration
+AC_ARG_ENABLE([numa], [
+AS_HELP_STRING([--disable-numa], [disable NUMA support])
+], [
+       enable_numa=$enableval
+], [
+       enable_numa=yes
+])
+
+AS_IF([test "x$enable_numa" = "xyes"], [
+       # numa - check that numa lib is available
+       AC_CHECK_LIB([numa], [numa_available], [], [AC_MSG_ERROR([libnuma is required, please install it (e.g. libnuma-dev) or use [LDFLAGS]=-Ldir to specify the right location.])])
+       have_libnuma=yes
+])
+AM_CONDITIONAL([HAVE_LIBNUMA], [test "x$have_libnuma" = "xyes"])
+
 # optional linux/perf_event.h
 AC_CHECK_HEADERS([linux/perf_event.h], [have_perf_event=yes], [])
 
@@ -463,8 +475,6 @@ AC_DEFUN([_AC_DEFINE_AND_SUBST], [
 ])
 
 _AC_DEFINE_AND_SUBST([LTTNG_UST_DEFAULT_CONSTRUCTOR_TIMEOUT_MS], [3000])
-# By default, do not retry on buffer full condition.
-_AC_DEFINE_AND_SUBST([LTTNG_UST_DEFAULT_BLOCKING_RETRY_TIMEOUT_MS], [0])
 
 AM_CFLAGS="-Wall"
 AC_SUBST(AM_CFLAGS)
@@ -573,6 +583,9 @@ PPRINT_PROP_BOOL_CUSTOM([JNI interface (JNI)], $value, [use --enable-jni-interfa
 test "x$python_agent" = xyes && value=1 || value=0
 PPRINT_PROP_BOOL_CUSTOM([Python agent], $value, [use --enable-python-agent])
 
+test "x$enable_numa" = xyes && value=1 || value=0
+PPRINT_PROP_BOOL([NUMA], $value)
+
 AS_ECHO
 PPRINT_SET_INDENT(0)
 
This page took 0.02603 seconds and 4 git commands to generate.