X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=config%2Flustre-build-zfs.m4;h=b6d56dd64e539fb782e068901ef039f434821a3d;hb=46bec835ac726aa2d06024b197002be7b112e192;hp=df78230761c555a4e73b6552439e9eab0b35855a;hpb=f8bc2f7fc03d3f86eef434cf644191e689ee57ec;p=fs%2Flustre-release.git diff --git a/config/lustre-build-zfs.m4 b/config/lustre-build-zfs.m4 index df78230..b6d56dd 100644 --- a/config/lustre-build-zfs.m4 +++ b/config/lustre-build-zfs.m4 @@ -22,6 +22,11 @@ dnl # --with-zfs-devel=path dnl # - User provided directory where zfs development headers dnl # are located. This option is typically used when user dnl # uses rpm2cpio to unpack src rpm. +dnl # Assumes layout of: +dnl # ${zfs-devel-path}/usr/include/libzfs +dnl # ${zfs-devel-path}/usr/include/libspl +dnl # ${zfs-devel-path}/lib64/libzfs.so.* or +dnl # ${zfs-devel-path}/lib/libzfs.so.* dnl # dnl # --with-zfs=path - Enable zfs support and use the zfs headers in the dnl # provided path. No autodetection is performed and @@ -277,12 +282,13 @@ AC_DEFUN([LB_ZFS_DEVEL], [ AC_MSG_CHECKING([user provided zfs devel headers]) AS_IF([test ! -z "${zfsdevel}"], [ AS_IF([test -d "${zfsdevel}/usr/include/libspl" && test -d "${zfsdevel}/usr/include/libzfs"], [ - zfslib="-I $zfsdevel/usr/include/libspl -I $zfsdevel/usr/include/libzfs" + zfsinc="-I $zfsdevel/usr/include/libspl -I $zfsdevel/usr/include/libzfs" + zfslib="-L$zfsdevel/usr/lib64 -L$zfsdevel/usr/lib -L$zfsdevel/lib64 -L$zfsdevel/lib" ], [ AC_MSG_ERROR([Path to development headers directory does not exist]) ]) ]) - AC_MSG_RESULT([$zfslib]) + AC_MSG_RESULT([$zfsinc]) ]) AC_DEFUN([LB_ZFS_USER], [ @@ -290,20 +296,25 @@ AC_DEFUN([LB_ZFS_USER], [ dnl # Detect user space zfs development headers. dnl # AC_MSG_CHECKING([zfs devel headers]) - AS_IF([test -z "${zfslib}"], [ + AS_IF([test -z "${zfsinc}"], [ AS_IF([test -e "${zfssrc}/include/libzfs.h" && test -e "${zfssrc}/lib/libspl/include"], [ - zfslib="-I $zfssrc/lib/libspl/include -I $zfssrc/include" + zfsinc="-I $zfssrc/lib/libspl/include -I $zfssrc/include" + zfslib="-L$zfssrc/lib/libzfs/.libs/" ], [test -d /usr/include/libzfs && test -d /usr/include/libspl], [ - zfslib="-I /usr/include/libspl -I /usr/include/libzfs" + zfsinc="-I/usr/include/libspl -I /usr/include/libzfs" + zfslib="" ], [ - zfslib="[Not Found]" + zfsinc="[Not Found]" + zfslib="" enable_zfs=no ]) ]) - AC_MSG_RESULT([$zfslib]) + AC_MSG_RESULT([$zfsinc]) - ZFS_LIBZFS_INCLUDE=${zfslib} + ZFS_LIBZFS_INCLUDE=${zfsinc} + ZFS_LIBZFS_LDFLAGS="-lzfs ${zfslib}" AC_SUBST(ZFS_LIBZFS_INCLUDE) + AC_SUBST(ZFS_LIBZFS_LDFLAGS) ]) AC_DEFUN([LB_CONFIG_ZFS], [ @@ -371,20 +382,26 @@ your distribution. ]) ]) - AS_IF([test x$enable_zfs = xyes], [ - AC_MSG_CHECKING([if zfs defines dsl_pool_config_enter/exit]) - LB_LINUX_TRY_COMPILE([ + AS_IF([test "x$enable_zfs" = xyes], [ + LB_CHECK_COMPILE([if zfs defines dsl_pool_config_enter/exit], + dsl_pool_config_enter, [ #include ],[ dsl_pool_config_enter(NULL, FTAG); ],[ - AC_MSG_RESULT([yes]) - AC_DEFINE(HAVE_DSL_POOL_CONFIG, 1, - [Have dsl_pool_config_enter/exit in ZFS]) + AC_DEFINE(HAVE_DSL_POOL_CONFIG, 1, + [Have dsl_pool_config_enter/exit in ZFS]) + ]) + LB_CHECK_COMPILE([if zfs defines dsl_sync_task_do_nowait], + dsl_sync_task_do_nowait, [ + #include + ],[ + dsl_sync_task_do_nowait(NULL, NULL, NULL, NULL, NULL, 0, NULL); ],[ - AC_MSG_RESULT([no]) + AC_DEFINE(HAVE_DSL_SYNC_TASK_DO_NOWAIT, 1, + [Have dsl_sync_task_do_nowait in ZFS]) ]) ]) - AM_CONDITIONAL(ZFS_ENABLED, test x$enable_zfs = xyes) + AM_CONDITIONAL(ZFS_ENABLED, [test "x$enable_zfs" = xyes]) ])