dnl Checks for libfuse required headers and functions dnl dnl Version: 20180403 dnl Function to detect if libfuse is available dnl ac_libfuse_dummy is used to prevent AC_CHECK_LIB adding unnecessary -l arguments AC_DEFUN([AX_LIBFUSE_CHECK_LIB], [dnl Check if parameters were provided AS_IF( [test "x$ac_cv_with_libfuse" != x && test "x$ac_cv_with_libfuse" != xno && test "x$ac_cv_with_libfuse" != xauto-detect], [AS_IF( [test -d "$ac_cv_with_libfuse"], [CFLAGS="$CFLAGS -I${ac_cv_with_libfuse}/include" LDFLAGS="$LDFLAGS -L${ac_cv_with_libfuse}/lib"], [AC_MSG_WARN([no such directory: $ac_cv_with_libfuse]) ]) ]) AS_IF( [test "x$ac_cv_with_libfuse" = xno], [ac_cv_libfuse=no], [dnl Check for a pkg-config file AS_IF( [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], [PKG_CHECK_MODULES( [fuse], [fuse >= 2.6], [ac_cv_libfuse=libfuse], [ac_cv_libfuse=no]) ]) AS_IF( [test "x$ac_cv_libfuse" = xlibfuse], [ac_cv_libfuse_CPPFLAGS="$pkg_cv_fuse_CFLAGS" ac_cv_libfuse_LIBADD="$pkg_cv_fuse_LIBS"], [dnl Check for headers AC_CHECK_HEADERS( [fuse.h], [ac_cv_header_fuse_h=yes], [ac_cv_header_fuse_h=no]) dnl libfuse sometimes requires -D_FILE_OFFSET_BITS=64 to be set AS_IF( [test "x$ac_cv_header_fuse_h" = xno], [AS_UNSET([ac_cv_header_fuse_h]) CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64" AC_CHECK_HEADERS([fuse.h]) ]) AS_IF( [test "x$ac_cv_header_fuse_h" = xno], [ac_cv_libfuse=no], [dnl Check for the individual functions ac_cv_libfuse=libfuse AC_CHECK_LIB( fuse, fuse_daemonize, [ac_cv_libfuse_dummy=yes], [ac_cv_libfuse=no]) AC_CHECK_LIB( fuse, fuse_destroy, [ac_cv_libfuse_dummy=yes], [ac_cv_libfuse=no]) AC_CHECK_LIB( fuse, fuse_mount, [ac_cv_libfuse_dummy=yes], [ac_cv_libfuse=no]) AC_CHECK_LIB( fuse, fuse_new, [ac_cv_libfuse_dummy=yes], [ac_cv_libfuse=no]) ac_cv_libfuse_LIBADD="-lfuse"; ]) ]) dnl Check for libosxfuse AS_IF( [test "x$ac_cv_with_libfuse" != xno && test "x$ac_cv_header_fuse_h" = xno], [CPPFLAGS="$CPPFLAGS -DFUSE_USE_VERSION=26" AC_CHECK_HEADERS([osxfuse/fuse.h]) dnl libosxfuse sometimes requires -D_FILE_OFFSET_BITS=64 to be set AS_IF( [test "x$ac_cv_header_osxfuse_fuse_h" = xno], [AS_UNSET([ac_cv_header_osxfuse_fuse_h]) CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64" AC_CHECK_HEADERS([osxfuse/fuse.h]) ]) AS_IF( [test "x$ac_cv_header_osxfuse_fuse_h" = xno], [ac_cv_libfuse=no], [dnl Check for the individual functions ac_cv_libfuse=libosxfuse AC_CHECK_LIB( osxfuse, fuse_daemonize, [ac_cv_libfuse_dummy=yes], [ac_cv_libfuse=no]) AC_CHECK_LIB( osxfuse, fuse_destroy, [ac_cv_libfuse_dummy=yes], [ac_cv_libfuse=no]) AC_CHECK_LIB( osxfuse, fuse_mount, [ac_cv_libfuse_dummy=yes], [ac_cv_libfuse=no]) AC_CHECK_LIB( osxfuse, fuse_new, [ac_cv_libfuse_dummy=yes], [ac_cv_libfuse=no]) ac_cv_libfuse_LIBADD="-losxfuse"; ]) ]) ]) AS_IF( [test "x$ac_cv_libfuse" = xlibfuse], [AC_DEFINE( [HAVE_LIBFUSE], [1], [Define to 1 if you have the 'fuse' library (-lfuse).]) ]) AS_IF( [test "x$ac_cv_libfuse" = xlibosxfuse], [AC_DEFINE( [HAVE_LIBOSXFUSE], [1], [Define to 1 if you have the 'osxfuse' library (-losxfuse).]) ]) AS_IF( [test "x$ac_cv_libfuse" != xno], [AC_SUBST( [HAVE_LIBFUSE], [1]) ], [AC_SUBST( [HAVE_LIBFUSE], [0]) ]) ]) dnl Function to detect how to enable libfuse AC_DEFUN([AX_LIBFUSE_CHECK_ENABLE], [AX_COMMON_ARG_WITH( [libfuse], [libfuse], [search for libfuse in includedir and libdir or in the specified DIR, or no if not to use libfuse], [auto-detect], [DIR]) dnl Check for a shared library version AX_LIBFUSE_CHECK_LIB AS_IF( [test "x$ac_cv_libfuse_CPPFLAGS" != "x"], [AC_SUBST( [LIBFUSE_CPPFLAGS], [$ac_cv_libfuse_CPPFLAGS]) ]) AS_IF( [test "x$ac_cv_libfuse_LIBADD" != "x"], [AC_SUBST( [LIBFUSE_LIBADD], [$ac_cv_libfuse_LIBADD]) ]) AS_IF( [test "x$ac_cv_libfuse" = xlibfuse], [AC_SUBST( [ax_libfuse_pc_libs_private], [-lfuse]) ]) AS_IF( [test "x$ac_cv_libfuse" = xlibosxfuse], [AC_SUBST( [ax_libfuse_pc_libs_private], [-losxfuse]) ]) AS_IF( [test "x$ac_cv_libfuse" = xlibfuse], [AC_SUBST( [ax_libfuse_spec_requires], [fuse-libs]) AC_SUBST( [ax_libfuse_spec_build_requires], [fuse-devel]) ]) ])