Modify buildsystem to be able to compile with installed libraries
[ust.git] / configure.ac
index c44b5655666e4f01cf0d693c27e20064897da3ee..213e4a0c5eeaa34d0825c98668e4186d7ee5dcd7 100644 (file)
@@ -6,7 +6,7 @@ AC_INIT([ust], [0.0], [pierre-marc dot fournier at polymtl dot ca])
 AC_CONFIG_AUX_DIR(make_scripts)
 AM_INIT_AUTOMAKE([0.0 foreign])
 AC_CONFIG_SRCDIR([ust/localerr.h])
-#AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_HEADERS([config.h])
 
 # Checks for programs.
 AC_PROG_CC
@@ -49,11 +49,38 @@ AC_C_INLINE
 AC_FUNC_MALLOC
 AC_CHECK_FUNCS([gettimeofday munmap socket strerror strtol])
 
-AC_ARG_WITH(urcu, [  --with-urcu path  Path to userspace RCU source], URCU_PATH="$withval", AC_MSG_ERROR([Must specify urcu path.]))
-AC_ARG_WITH(kcompat, [  --with-kcompat path    Path to userspace kcompat source], KCOMPAT_PATH="$withval", AC_MSG_ERROR([Must specify kcompat path.]))
-AC_SUBST(URCU_PATH)
+KCOMPAT_PATH=
+AC_ARG_WITH(kcompat, [  --with-kcompat path    Path to userspace kcompat source], [
+       AC_CHECK_FILE(["$withval/kcompat.h"], KCOMPAT_PATH="$withval", [
+               AC_MSG_ERROR([Cannot find kcompat.h in kcompat directory])
+       ])
+])
+if test -n "${KCOMPAT_PATH}" ; then
+   CPPFLAGS="-I$KCOMPAT_PATH/ $CPPFLAGS"
+   AC_SUBST(CPPFLAGS)
+fi
+AC_CHECK_HEADER([kcompat.h], , AC_MSG_ERROR([Must specify kcompat path.]))
 AC_SUBST(KCOMPAT_PATH)
 
+URCU_LIB=
+AC_CHECK_HEADER([urcu.h], [
+       AC_CHECK_LIB(urcu, synchronize_rcu, [
+               URCU_PATH=
+               URCU_LIB="-lurcu"
+       ])
+])
+AC_ARG_WITH(urcu, [  --with-urcu path  Path to userspace RCU source], [
+       AC_CHECK_FILE(["$withval/urcu.h"], [
+               URCU_PATH="$withval"
+               URCU_LIB="/liburcu.la" ],
+               AC_MSG_ERROR([Cannot find urcu.h in urcu directory]))
+])
+if test -z "${URCU_LIB}" ; then
+   AC_MSG_ERROR([Must specify urcu path.])
+fi
+AC_SUBST(URCU_PATH)
+AC_SUBST(URCU_LIB)
+
 #AC_CONFIG_FILES([Makefile
 #                 hello/Makefile
 #                 libmallocwrap/Makefile
@@ -63,5 +90,5 @@ AC_SUBST(KCOMPAT_PATH)
 #                 ust/Makefile
 #                 ustd/Makefile])
 
-AC_CONFIG_FILES([Makefile libmarkers/Makefile libtracectl/Makefile libtracing/Makefile])
+AC_CONFIG_FILES([Makefile libust/Makefile hello/Makefile libmallocwrap/Makefile ustd/Makefile ust/Makefile])
 AC_OUTPUT
This page took 0.023065 seconds and 4 git commands to generate.