fix: allow building with userspace-rcu 0.13
authorMichael Jeanson <mjeanson@efficios.com>
Fri, 4 Jun 2021 19:15:38 +0000 (15:15 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 4 Jun 2021 19:49:41 +0000 (15:49 -0400)
The liburcu detection code was checking for the 'synchronize_rcu_bp'
symbol in liburcu-bp which was dropped from the ABI in 0.13, add a
fallback check for 'urcu_bp_synchronize_rcu' which replaced it.

Also drop the check for 'call_rcu_bp' which we don't use and was just a
leftover of version check for 0.6 which has since been superseded.

Both those changes allow to build against liburcu >= 0.13.

Change-Id: I85c613fa0a41a4f78466501280768c4a4d4de12e
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
configure.ac

index d51bed46641bf2a5623483024e28e475ef6d52c5..a4fb30826f08b2553afa9cbd99aa3014ceb6edbc 100644 (file)
@@ -276,10 +276,12 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
 ])
 
 # 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.])])
+# Check for 'synchronize_rcu_bp' and then failback to 'urcu_bp_synchronize_rcu' as the former was
+# removed from the ABI in liburcu 0.13.
+AC_CHECK_LIB([urcu-bp], [synchronize_rcu_bp], [], [
+       AC_CHECK_LIB([urcu-bp], [urcu_bp_synchronize_rcu], [], [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
 AS_IF([test "x$NO_NUMA" = "x1"],[
This page took 0.025576 seconds and 4 git commands to generate.