-# Check libuuid
-AC_CHECK_LIB([uuid], [uuid_generate], [],
- [AC_MSG_ERROR([Cannot find libuuid. Use [LDFLAGS]=-Ldir to specify its location.])]
+# URCU library version needed or newer
+liburcu_version=">= 0.6.6"
+
+# Check liburcu needed function calls
+AC_CHECK_DECL([cds_list_add], [],
+ [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/list.h>]]
+)
+AC_CHECK_DECL([cds_wfq_init], [],
+ [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/wfqueue.h>]]
+)
+AC_CHECK_DECL([futex_async], [],
+ [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/futex.h>]]
+)
+AC_CHECK_DECL([rcu_thread_offline], [],
+ [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu.h>]]
+)
+AC_CHECK_DECL([rcu_thread_online], [],
+ [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu.h>]]
+)
+AC_CHECK_DECL([caa_likely], [],
+ [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu.h>]]