Modify buildsystem to be able to compile with installed libraries
authorJan Blunck <jblunck@suse.de>
Wed, 10 Jun 2009 18:07:14 +0000 (20:07 +0200)
committerPierre-Marc Fournier <pierre-marc.fournier@polymtl.ca>
Fri, 12 Jun 2009 16:55:01 +0000 (12:55 -0400)
configure.ac
hello/Makefile.am
libust/Makefile.am

index a7f9a7398c7d18eb27d6d0dcb89c46f265b0b78b..213e4a0c5eeaa34d0825c98668e4186d7ee5dcd7 100644 (file)
@@ -49,13 +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 library source], URCU_PATH="$withval", AC_MSG_ERROR([Must specify liburcu path.]))
-AC_CHECK_FILE("$URCU_PATH/urcu.h", , AC_MSG_ERROR([Cannot find urcu.h in liburcu directory]))
-AC_ARG_WITH(kcompat, [  --with-kcompat=path    Path to libkcompat source], KCOMPAT_PATH="$withval", AC_MSG_ERROR([Must specify libkcompat path.]))
-AC_CHECK_FILE("$KCOMPAT_PATH/kcompat.h", , AC_MSG_ERROR([Cannot find kcompat.h in libkcompat directory]))
-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
index f682130d220f1eef746fc454b1d212d71460e910..63e30b16980b45893a41277ddb4c1ea1c5dd6601 100644 (file)
@@ -1,6 +1,6 @@
 noinst_PROGRAMS = hello
 hello_SOURCES = hello.c tp.c tp.h
-hello_LDADD = $(top_builddir)/libust/libust.la @URCU_PATH@/liburcu.so
+hello_LDADD = $(top_builddir)/libust/libust.la @URCU_PATH@@URCU_LIB@
 
 INCLUDES = -I$(top_builddir)/share
 INCLUDES += -I@URCU_PATH@
index d2a8187d12be77cf4bbdfcbe0855ea26d824ed24..60687a90ed04a7a11499f6f06d45b0afdd77e5db 100644 (file)
@@ -1,7 +1,7 @@
 lib_LTLIBRARIES = libust.la
 libust_la_SOURCES = marker.c marker.h tracepoint.c tracepoint.h immediate.h channels.c channels.h marker-control.c marker-control.h relay.c relay.h tracer.c tracer.h tracercore.c tracercore.h serialize.c tracectl.c $(top_builddir)/libustcomm/ustcomm.c $(top_builddir)/share/kref.c $(top_builddir)/share/usterr.c
-libust_la_LIBADD = @URCU_PATH@/liburcu.so
-libust_la_LDFLAGS = -lpthread
+libust_la_LDFLAGS = -no-undefined -version-info 0:0:0
+libust_la_LIBADD = @URCU_PATH@@URCU_LIB@ -lpthread
 
 INCLUDES = -I$(top_builddir)/share
 INCLUDES += -I$(top_builddir)/libustcomm
This page took 0.02459 seconds and 4 git commands to generate.