summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoah Watkins <noahwatkins@gmail.com>2013-07-20 18:41:40 -0700
committerNoah Watkins <noahwatkins@gmail.com>2013-09-17 10:22:51 -0700
commit416183546e83fd8d1a8b501b68503fe2daf56938 (patch)
tree26a5ea62968e0b192801e9e87983ac4c37ad0123
parent8025e1e2a766f8f38beeeb37dfd0e60d881899d7 (diff)
downloadceph-416183546e83fd8d1a8b501b68503fe2daf56938.tar.gz
fuse: use pkg-config to check for libfuse
Provides better portability. Currently works on all the gitbuilder platforms, as well as OSX with fuse4x installed. Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
-rw-r--r--configure.ac26
-rw-r--r--src/Makefile.am3
-rw-r--r--src/client/Makefile.am3
3 files changed, 14 insertions, 18 deletions
diff --git a/configure.ac b/configure.ac
index f1ff6bc5a5f..bbade594c51 100644
--- a/configure.ac
+++ b/configure.ac
@@ -270,22 +270,16 @@ AC_ARG_WITH([fuse],
[AS_HELP_STRING([--without-fuse], [disable FUSE userspace client])],
[],
[with_fuse=yes])
-LIBFUSE=
-AS_IF([test "x$with_fuse" != xno],
- [AC_CHECK_LIB([fuse], [fuse_main],
- [AC_SUBST([LIBFUSE], ["-lfuse"])
- AC_DEFINE([HAVE_LIBFUSE], [1],
- [Define if you have fuse])
- HAVE_LIBFUSE=1
- # look for fuse_getgroups and define FUSE_GETGROUPS if found
- LIBS_saved="$LIBS"
- LIBS="$LIBS -lfuse"
- AC_CHECK_FUNCS([fuse_getgroups])
- LIBS="$LIBS_saved"
- ],
- [AC_MSG_FAILURE(
- [no FUSE found (use --without-fuse to disable)])])])
-AM_CONDITIONAL(WITH_FUSE, [test "$HAVE_LIBFUSE" = "1"])
+
+AS_IF([test "x$with_fuse" != "xno"], [
+ PKG_CHECK_MODULES([fuse], [fuse >= 2.6.0], [have_libfuse=yes],
+ [AC_MSG_FAILURE([no FUSE found (use --without-fuse to disable)])])
+ saved_LIBS="$LIBS"
+ LIBS="$LIBS $fuse_LIBS"
+ AC_CHECK_FUNCS([fuse_getgroups])
+ LIBS="$saved_LIBS"
+])
+AM_CONDITIONAL(WITH_FUSE, [test "x$have_libfuse" = "xyes"])
# tcmalloc?
AC_ARG_WITH([tcmalloc],
diff --git a/src/Makefile.am b/src/Makefile.am
index c0ed016006d..b51e36a2720 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -91,7 +91,8 @@ ceph_fuse_LDADD = $(LIBCLIENT_FUSE) $(CEPH_GLOBAL)
bin_PROGRAMS += ceph-fuse
rbd_fuse_SOURCES = rbd_fuse/rbd-fuse.c
-rbd_fuse_LDADD = -lfuse $(LIBRBD) $(LIBRADOS) $(CEPH_GLOBAL)
+rbd_fuse_LDADD = $(fuse_LIBS) $(LIBRBD) $(LIBRADOS) $(CEPH_GLOBAL)
+rbd_fuse_CFLAGS = $(fuse_CFLAGS)
bin_PROGRAMS += rbd-fuse
endif # WITH_FUSE
diff --git a/src/client/Makefile.am b/src/client/Makefile.am
index 53107eba517..92bcd235d52 100644
--- a/src/client/Makefile.am
+++ b/src/client/Makefile.am
@@ -25,7 +25,8 @@ noinst_HEADERS += \
if WITH_FUSE
libclient_fuse_la_SOURCES = client/fuse_ll.cc
-libclient_fuse_la_LIBADD = libclient.la -lfuse
+libclient_fuse_la_LIBADD = libclient.la $(fuse_LIBS)
+libclient_fuse_la_CXXFLAGS = $(fuse_CFLAGS)
noinst_LTLIBRARIES += libclient_fuse.la
noinst_HEADERS += client/fuse_ll.h
endif