2 dnl # Supported configure options. When no options are specified support
3 dnl # for ZFS OSDs will be autodetected assuming server support is enabled.
4 dnl # If the ZFS OSD cannot be built support for it is disabled and a
5 dnl # warning is issued but the configure process is allowed to continue.
7 dnl # --without-zfs - Disable zfs support.
10 dnl # --with-zfs - Enable zfs support and attempt to autodetect the zfs
11 dnl # --with-zfs=yes headers in one of the following places. Because zfs
12 dnl # support was explicitly required if the headers cannot
13 dnl # be located it is treated as a fatal error.
15 dnl # * /var/lib/dkms/zfs/${VERSION}/source
16 dnl # * /usr/src/zfs-${VERSION}/${LINUXRELEASE}
17 dnl # * /usr/src/zfs-${VERSION}
21 dnl # --with-zfs-devel=path
22 dnl # - User provided directory where zfs development headers
23 dnl # are located. This option is typically used when user
24 dnl # uses rpm2cpio to unpack src rpm.
25 dnl # Assumes layout of:
26 dnl # ${zfs-devel-path}/usr/include/libzfs
27 dnl # ${zfs-devel-path}/usr/include/libspl
28 dnl # ${zfs-devel-path}/lib64/libzfs.so.* or
29 dnl # ${zfs-devel-path}/lib/libzfs.so.*
31 dnl # --with-zfs=path - Enable zfs support and use the zfs headers in the
32 dnl # provided path. No autodetection is performed and
33 dnl # if no headers are found this is a fatal error.
35 dnl # --with-zfs-obj - When zfs support is enabled the object directory
36 dnl # will be based on the --with-zfs directory. If this
37 dnl # is detected incorrectly it can be explicitly
38 dnl # specified using this option.
40 dnl # --without-spl - Disable spl support.
43 dnl # --with-spl - Enable spl support and attempt to autodetect the spl
44 dnl # --with-spl=yes headers in one of the following places in this order:
45 dnl # * /var/lib/dkms/spl/${VERSION}/source
46 dnl # * /usr/src/spl-${VERSION}/${LINUXRELEASE}
47 dnl # * /usr/src/spl-${VERSION}
51 dnl # --with-spl=path - Enable spl support and use the spl headers in the
52 dnl # provided path. No autodetection is performed.
54 dnl # --with-spl-obj - When spl support is enabled the object directory
55 dnl # will be based on the --with-spl directory. If this
56 dnl # is detected incorrectly it can be explicitly
57 dnl # specified using this option.
61 AS_HELP_STRING([--with-spl=PATH],
62 [Path to spl source]),
65 AC_ARG_WITH([spl-obj],
66 AS_HELP_STRING([--with-spl-obj=PATH],
67 [Path to spl build objects]),
71 dnl # The existence of spl.release[.in] is used to identify a valid
72 dnl # source directory. In order of preference:
74 splver=$(ls -1 /usr/src/ | grep -m1 spl | cut -f2 -d'-')
75 spldkms="/var/lib/dkms/spl/${splver}"
76 splsrc1="/usr/src/spl-${splver}/${LINUXRELEASE}"
77 splsrc2="/usr/src/spl-${splver}"
81 AC_MSG_CHECKING([spl source directory])
82 AS_IF([test -z "${splsrc}"], [
83 AS_IF([test -e "${spldkms}/source/spl.release.in"], [
84 splsrc=${spldkms}/source
85 ], [test -e "${splsrc1}/spl.release.in"], [
87 ], [test -e "${splsrc2}/spl.release.in"], [
89 ], [test -e "${splsrc3}/spl.release.in"], [
90 splsrc=$(readlink -f "${splsrc3}")
91 ], [test -e "${splsrc4}/spl.release.in"], [
97 AC_MSG_RESULT([$splsrc])
99 AS_IF([test ! -e "$splsrc/spl.release" &&
100 test ! -e "$splsrc/spl.release.in"], [
105 dnl # The existence of the spl_config.h is used to identify a valid
106 dnl # spl object directory. In many cases the object and source
107 dnl # directory are the same, however the objects may also reside
108 dnl # is a subdirectory named after the kernel version. When
109 dnl # weak modules are used, the kernel version may not be the
110 dnl # same as the LINUXRELEASE against which we are building lustre.
112 AC_MSG_CHECKING([spl build directory])
113 AS_IF([test -z "$splobj"], [
114 last_spl_obj_dir=$(ls -d ${splsrc}/[[0-9]]*/ 2> /dev/null | tail -n 1 | sed 's|/$||')
115 AS_IF([test "${splsrc}" = "${spldkms}/source"], [
116 AS_IF([test -e "${spldkms}/${LINUXRELEASE}/${target_cpu}/spl_config.h"], [
117 splobj=${spldkms}/${LINUXRELEASE}/${target_cpu}
121 ],[test -e "${splsrc}/${LINUXRELEASE}/spl_config.h"], [
122 splobj="${splsrc}/${LINUXRELEASE}"
123 ], [test -e "${splsrc}/spl_config.h"], [
125 ], [test -e "${last_spl_obj_dir}/spl_config.h"], [
126 splobj="${last_spl_obj_dir}"
131 AC_MSG_RESULT([$splobj])
133 AS_IF([test ! -e "$splobj/spl_config.h"], [
138 dnl # Verify the source version using SPL_META_VERSION in spl_config.h
140 AS_IF([test x$enable_zfs = xyes], [
141 AC_MSG_CHECKING([spl source version])
142 AS_IF([fgrep -q SPL_META_VERSION $splobj/spl_config.h], [
143 splver=$((echo "#include <spl_config.h>";
144 echo "splver=SPL_META_VERSION-SPL_META_RELEASE") |
146 grep "^splver=" | tr -d \" | cut -d= -f2)
151 AC_MSG_RESULT([$splver])
155 dnl # Verify the modules systems exist by the expect name.
157 AS_IF([test x$enable_zfs = xyes], [
158 AC_MSG_CHECKING([spl file name for module symbols])
159 AS_IF([test -r $splobj/$SYMVERFILE], [
161 EXTRA_SYMBOLS="$EXTRA_SYMBOLS $splobj/$SYMVERFILE"
162 ], [test -r $splobj/module/$SYMVERFILE], [
164 EXTRA_SYMBOLS="$EXTRA_SYMBOLS $splobj/module/$SYMVERFILE"
169 AC_MSG_RESULT([$splsym])
174 SPL_VERSION=${splver}
178 AC_SUBST(SPL_VERSION)
179 AC_SUBST(EXTRA_SYMBOLS)
183 AC_ARG_WITH([zfs-obj],
184 AS_HELP_STRING([--with-zfs-obj=PATH],
185 [Path to zfs build objects]),
189 dnl # The existence of zfs.release[.in] is used to identify a valid
190 dnl # source directory. In order of preference:
192 zfsver=$(ls -1 /usr/src/ | grep -m1 zfs | cut -f2 -d'-')
193 zfsdkms="/var/lib/dkms/zfs/${zfsver}"
194 zfssrc1="/usr/src/zfs-${zfsver}/${LINUXRELEASE}"
195 zfssrc2="/usr/src/zfs-${zfsver}"
199 AC_MSG_CHECKING([zfs source directory])
200 AS_IF([test -z "${zfssrc}"], [
201 AS_IF([test -e "${zfsdkms}/source/zfs.release.in"], [
202 zfssrc=${zfsdkms}/source
203 ], [test -e "${zfssrc1}/zfs.release.in"], [
205 ], [test -e "${zfssrc2}/zfs.release.in"], [
207 ], [test -e "${zfssrc3}/zfs.release.in"], [
208 zfssrc=$(readlink -f "${zfssrc3}")
209 ], [test -e "${zfssrc4}/zfs.release.in"], [
215 AC_MSG_RESULT([$zfssrc])
217 AS_IF([test ! -e "$zfssrc/zfs.release.in" &&
218 test ! -e "$zfssrc/zfs.release"], [
223 dnl # The existence of the zfs_config.h is used to identify a valid
224 dnl # zfs object directory. In many cases the object and source
225 dnl # directory are the same, however the objects may also reside
226 dnl # is a subdirectory named after the kernel version. When
227 dnl # weak modules are used, the kernel version may not be the
228 dnl # same as the LINUXRELEASE against which we are building lustre.
230 AC_MSG_CHECKING([zfs build directory])
231 AS_IF([test -z "$zfsobj"], [
232 last_zfs_obj_dir=$(ls -d ${zfssrc}/[[0-9]]*/ 2> /dev/null | tail -n 1 | sed 's|/$||')
233 AS_IF([test "${zfssrc}" = "${zfsdkms}/source"], [
234 AS_IF([test -e "${zfsdkms}/${LINUXRELEASE}/${target_cpu}/zfs_config.h"], [
235 zfsobj=${zfsdkms}/${LINUXRELEASE}/${target_cpu}
239 ], [test -e "${zfssrc}/${LINUXRELEASE}/zfs_config.h"], [
240 zfsobj="${zfssrc}/${LINUXRELEASE}"
241 ], [test -e "${zfssrc}/zfs_config.h"], [
243 ], [test -e "${last_zfs_obj_dir}/zfs_config.h"], [
244 zfsobj="${last_zfs_obj_dir}"
250 AC_MSG_RESULT([$zfsobj])
251 AS_IF([test ! -e "$zfsobj/zfs_config.h"], [
256 dnl # Verify the source version using SPL_META_VERSION in spl_config.h
258 AS_IF([test x$enable_zfs = xyes], [
259 AC_MSG_CHECKING([zfs source version])
260 AS_IF([fgrep -q ZFS_META_VERSION $zfsobj/zfs_config.h], [
261 zfsver=$((echo "#include <zfs_config.h>";
262 echo "zfsver=ZFS_META_VERSION-ZFS_META_RELEASE") |
264 grep "^zfsver=" | tr -d \" | cut -d= -f2)
269 AC_MSG_RESULT([$zfsver])
273 dnl # Verify the modules systems exist by the expect name.
275 AS_IF([test x$enable_zfs = xyes], [
276 AC_MSG_CHECKING([zfs file name for module symbols])
277 AS_IF([test -r $zfsobj/$SYMVERFILE], [
279 EXTRA_SYMBOLS="$EXTRA_SYMBOLS $zfsobj/$SYMVERFILE"
280 ], [test -r $zfsobj/module/$SYMVERFILE], [
282 EXTRA_SYMBOLS="$EXTRA_SYMBOLS $zfsobj/module/$SYMVERFILE"
287 AC_MSG_RESULT([$zfssym])
292 ZFS_VERSION=${zfsver}
296 AC_SUBST(ZFS_VERSION)
297 AC_SUBST(EXTRA_SYMBOLS)
300 AC_DEFUN([LB_ZFS_DEVEL], [
301 AC_ARG_WITH([zfs-devel],
302 [AS_HELP_STRING([--with-zfs-devel=PATH],
303 [Path to zfs development headers])],
304 [zfsdevel="$withval"])
306 AC_MSG_CHECKING([user provided zfs devel headers])
307 AS_IF([test ! -z "${zfsdevel}"], [
308 AS_IF([test -d "${zfsdevel}/usr/include/libspl" && test -d "${zfsdevel}/usr/include/libzfs"], [
309 zfsinc="-I $zfsdevel/usr/include/libspl -I $zfsdevel/usr/include/libzfs"
310 zfslib="-L$zfsdevel/usr/lib64 -L$zfsdevel/usr/lib -L$zfsdevel/lib64 -L$zfsdevel/lib"
312 AC_MSG_ERROR([Path to development headers directory does not exist])
315 AC_MSG_RESULT([$zfsinc])
318 AC_DEFUN([LB_ZFS_USER], [
320 dnl # Detect user space zfs development headers.
322 AC_MSG_CHECKING([zfs devel headers])
323 AS_IF([test -z "${zfsinc}"], [
324 AS_IF([test -e "${zfssrc}/include/libzfs.h" && test -e "${zfssrc}/lib/libspl/include"], [
325 zfsinc="-I $zfssrc/lib/libspl/include -I $zfssrc/lib/libspl/include/os/linux -I $zfssrc/include"
326 zfslib="-L$zfssrc/lib/libzfs/.libs/ -L$zfssrc/lib/libnvpair/.libs/ -L$zfssrc/lib/libzpool/.libs/"
327 ], [test -d /usr/include/libzfs && test -d /usr/include/libspl], [
328 zfsinc="-I/usr/include/libspl -I /usr/include/libzfs"
336 AC_MSG_RESULT([$zfsinc])
338 ZFS_LIBZFS_INCLUDE=${zfsinc}
339 ZFS_LIBZFS_LDFLAGS=${zfslib}
340 ZFS_LIBZFS_LIBS="-lzfs -lnvpair"
341 AC_SUBST(ZFS_LIBZFS_INCLUDE)
342 AC_SUBST(ZFS_LIBZFS_LDFLAGS)
343 AC_SUBST(ZFS_LIBZFS_LIBS)
346 AC_DEFUN([LB_CONFIG_ZFS], [
348 [AS_HELP_STRING([--with-zfs=PATH], [Path to zfs source])],
350 AS_IF([test x$withval = xno], [
354 ], [test x$withval = xyes], [
365 AS_IF([test x$enable_server != xno], [
376 AC_MSG_CHECKING([whether to enable zfs])
377 AC_MSG_RESULT([$enable_zfs])
379 AS_IF([test x$enable_zfs = xyes], [
380 AS_IF([test x$enable_modules = xyes], [
387 dnl # Define zfs source code version
389 ZFS_MAJOR=$(echo $zfsver | sed -re ['s/([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?.*/\1/'])
390 ZFS_MINOR=$(echo $zfsver | sed -re ['s/([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?.*/\2/'])
391 ZFS_PATCH=$(echo $zfsver | sed -re ['s/([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?.*/\3/'])
392 ZFS_FIX=$(echo $zfsver | sed -re ['s/([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?.*/\5/'])
393 AS_IF([test -z "$ZFS_FIX"], [ZFS_FIX="0"])
395 AC_DEFINE_UNQUOTED([ZFS_MAJOR], [$ZFS_MAJOR], [zfs major version])
396 AC_DEFINE_UNQUOTED([ZFS_MINOR], [$ZFS_MINOR], [zfs minor version])
397 AC_DEFINE_UNQUOTED([ZFS_PATCH], [$ZFS_PATCH], [zfs patch version])
398 AC_DEFINE_UNQUOTED([ZFS_FIX], [$ZFS_FIX], [zfs fix version])
401 dnl # SPL is only needed if ZFS is prior to 0.8.0
403 AS_IF([test x$enable_modules = xyes && test $ZFS_MAJOR -eq 0 && test $ZFS_MINOR -lt 8], [
410 dnl # enable_zfs will be set to no in LB_SPL or LB_ZFS if
411 dnl # one of more of the build requirements is not met.
413 AS_IF([test x$enable_zfs = xyes], [
414 AC_DEFINE(HAVE_ZFS_OSD, 1, Enable zfs osd)
416 AS_IF([test x$require_zfs = xyes], [
419 Required zfs osd cannot be built due to missing zfs development headers.
421 Support for zfs can be enabled by downloading the required packages for your
422 distribution. See http://zfsonlinux.org/ to determine is zfs is supported by
428 Disabling optional zfs osd due to missing development headers.
430 Support for zfs can be enabled by downloading the required packages for your
431 distribution. See http://zfsonlinux.org/ to determine is zfs is supported by
439 AS_IF([test "x$enable_zfs" = xyes], [
440 LB_CHECK_COMPILE([if zfs defines dsl_pool_config_enter/exit],
441 dsl_pool_config_enter, [
442 #include <sys/dsl_pool.h>
444 dsl_pool_config_enter(NULL, FTAG);
446 AC_DEFINE(HAVE_DSL_POOL_CONFIG, 1,
447 [Have dsl_pool_config_enter/exit in ZFS])
449 LB_CHECK_COMPILE([if zfs defines dsl_sync_task_do_nowait],
450 dsl_sync_task_do_nowait, [
451 #include <sys/dsl_synctask.h>
453 dsl_sync_task_do_nowait(NULL, NULL, NULL, NULL, NULL, 0, NULL);
455 AC_DEFINE(HAVE_DSL_SYNC_TASK_DO_NOWAIT, 1,
456 [Have dsl_sync_task_do_nowait in ZFS])
458 LB_CHECK_COMPILE([if zfs defines sa_spill_alloc],
460 #include <sys/kmem.h>
465 ptr = sa_spill_alloc(KM_SLEEP);
468 AC_DEFINE(HAVE_SA_SPILL_ALLOC, 1,
469 [Have sa_spill_alloc in ZFS])
471 LB_CHECK_COMPILE([if zfs defines spa_maxblocksize],
478 size = spa_maxblocksize(spa);
480 AC_DEFINE(HAVE_SPA_MAXBLOCKSIZE, 1,
481 [Have spa_maxblocksize in ZFS])
485 dnl # ZFS 0.7.x adds support for large dnodes. This
486 dnl # allows Lustre to optionally specify the size of a
487 dnl # dnode which ZFS will then use to store metadata such
488 dnl # as xattrs. The default dnode size specified by the
489 dnl # 'dnodesize' dataset property will be used unless a
490 dnl # specific value is provided.
492 LB_CHECK_COMPILE([if zfs defines dmu_object_alloc_dnsize],
493 dmu_object_alloc_dnsize, [
495 #include <sys/dnode.h>
498 dmu_object_type_t objtype = DMU_OT_NONE;
500 dmu_object_type_t bonustype = DMU_OT_SA;
501 int dnodesize = DNODE_MIN_SIZE;
505 id = dmu_object_alloc_dnsize(os, objtype, blocksize,
507 DN_BONUS_SIZE(dnodesize),
510 AC_DEFINE(HAVE_DMU_OBJECT_ALLOC_DNSIZE, 1,
511 [Have dmu_object_alloc_dnsize in ZFS])
515 dnl # ZFS 0.7.x extended dmu_prefetch() to take an additional
516 dnl # 'level' and 'priority' argument. Use a level of 0 and a
517 dnl # priority of ZIO_PRIORITY_SYNC_READ to replicate the
518 dnl # behavior of the four argument version.
520 LB_CHECK_COMPILE([if ZFS has 'dmu_prefetch' with 6 args],
529 enum zio_priority pri = ZIO_PRIORITY_SYNC_READ;
531 dmu_prefetch(os, object, level, offset, len, pri);
533 AC_DEFINE(HAVE_DMU_PREFETCH_6ARG, 1,
534 [Have 6 argument dmu_pretch in ZFS])
537 dnl # ZFS 0.7.0 feature: SPA_FEATURE_USEROBJ_ACCOUNTING
539 LB_CHECK_COMPILE([if ZFS has native dnode accounting supported],
540 dmu_objset_userobjused_enabled, [
541 #include <sys/dmu_objset.h>
543 dmu_objset_userobjused_enabled(NULL);
545 AC_DEFINE(HAVE_DMU_USEROBJ_ACCOUNTING, 1,
546 [Have native dnode accounting in ZFS])
549 dnl # ZFS 0.7.0 feature: MULTIHOST
551 LB_CHECK_COMPILE([if ZFS has multihost protection],
557 AC_DEFINE(HAVE_ZFS_MULTIHOST, 1,
558 [Have multihost protection in ZFS])
561 dnl # ZFS 0.7.x adds new method zap_lookup_by_dnode
563 LB_CHECK_COMPILE([if ZFS has 'zap_lookup_by_dnode'],
564 zap_lookup_by_dnode, [
566 #include <sys/dnode.h>
569 zap_lookup_by_dnode(dn, NULL, 1, 1, NULL);
571 AC_DEFINE(HAVE_ZAP_LOOKUP_BY_DNODE, 1,
572 [Have zap_lookup_by_dnode() in ZFS])
575 dnl # ZFS 0.7.x adds new method zap_add_by_dnode
577 LB_CHECK_COMPILE([if ZFS has 'zap_add_by_dnode'],
580 #include <sys/dnode.h>
583 zap_add_by_dnode(dn, NULL, 1, 1, NULL, NULL);
585 AC_DEFINE(HAVE_ZAP_ADD_BY_DNODE, 1,
586 [Have zap_add_by_dnode() in ZFS])
589 dnl # ZFS 0.7.x adds new method zap_remove_by_dnode
591 LB_CHECK_COMPILE([if ZFS has 'zap_remove_by_dnode'],
592 zap_remove_by_dnode, [
594 #include <sys/dnode.h>
597 zap_remove_by_dnode(dn, NULL, NULL);
599 AC_DEFINE(HAVE_ZAP_REMOVE_ADD_BY_DNODE, 1,
600 [Have zap_remove_by_dnode() in ZFS])
603 dnl # ZFS 0.7.x adds new method dmu_tx_hold_zap_by_dnode
605 LB_CHECK_COMPILE([if ZFS has 'dmu_tx_hold_zap_by_dnode'],
606 dmu_tx_hold_zap_by_dnode, [
608 #include <sys/dnode.h>
611 dmu_tx_hold_zap_by_dnode(NULL, dn, TRUE, NULL);
613 AC_DEFINE(HAVE_DMU_TX_HOLD_ZAP_BY_DNODE, 1,
614 [Have dmu_tx_hold_zap_by_dnode() in ZFS])
617 dnl # ZFS 0.7.x adds new method dmu_tx_hold_write_by_dnode
619 LB_CHECK_COMPILE([if ZFS has 'dmu_tx_hold_write_by_dnode'],
620 dmu_tx_hold_write_by_dnode, [
622 #include <sys/dnode.h>
625 dmu_tx_hold_write_by_dnode(NULL, dn, 0, 0);
627 AC_DEFINE(HAVE_DMU_TX_HOLD_WRITE_BY_DNODE, 1,
628 [Have dmu_tx_hold_write_by_dnode() in ZFS])
631 dnl # ZFS 0.7.x adds new method dmu_write_by_dnode
633 LB_CHECK_COMPILE([if ZFS has 'dmu_write_by_dnode'],
634 dmu_write_by_dnode, [
636 #include <sys/dnode.h>
639 dmu_write_by_dnode(dn, 0, 0, NULL, NULL);
641 AC_DEFINE(HAVE_DMU_WRITE_BY_DNODE, 1,
642 [Have dmu_write_by_dnode() in ZFS])
645 dnl # ZFS 0.7.x adds new method dmu_read_by_dnode
647 LB_CHECK_COMPILE([if ZFS has 'dmu_read_by_dnode'],
650 #include <sys/dnode.h>
653 dmu_read_by_dnode(dn, 0, 0, NULL, 0);
655 AC_DEFINE(HAVE_DMU_READ_BY_DNODE, 1,
656 [Have dmu_read_by_dnode() in ZFS])
659 dnl # ZFS 0.7.2 adds new method dmu_tx_mark_netfree
661 LB_CHECK_COMPILE([if ZFS has 'dmu_tx_mark_netfree'],
662 dmu_tx_mark_netfree, [
666 dmu_tx_mark_netfree(tx);
668 AC_DEFINE(HAVE_DMU_TX_MARK_NETFREE, 1,
669 [Have dmu_tx_mark_netfree])
672 dnl # ZFS 0.7.10 changes timestruc_t to inode_timespec_t
674 LB_CHECK_COMPILE([if SPL has 'inode_timespec_t'],
675 zfs_have_inode_timespec, [
676 #include <sys/fs/zfs.h>
678 inode_timespec_t now;
681 AC_DEFINE(HAVE_ZFS_INODE_TIMESPEC, 1,
682 [Have inode_timespec_t])
684 dnl # ZFS 0.7.12/0.8.x uses zfs_refcount_add() instead of
685 dnl # refcount_add().
687 LB_CHECK_COMPILE([if ZFS has 'zfs_refcount_add'],
689 #include <sys/refcount.h>
691 zfs_refcount_add((zfs_refcount_t *) NULL, NULL);
693 AC_DEFINE(HAVE_ZFS_REFCOUNT_ADD, 1,
694 [Have zfs_refcount_add])
697 dnl # ZFS 0.8.x changes dmu_objset_own for encryption
699 LB_CHECK_COMPILE([if ZFS has 'dmu_objset_own' with 6 args],
701 #include <sys/dmu_objset.h>
704 dmu_objset_type_t type = DMU_OST_ANY;
705 dmu_objset_own(NULL, type, B_FALSE, B_TRUE, FTAG, &os);
707 AC_DEFINE(HAVE_DMU_OBJSET_OWN_6ARG, 1,
708 [Have dmu_objset_own() with 6 args])
711 dnl # ZFS 0.8.x changes dmu_objset_disown for encryption
713 LB_CHECK_COMPILE([if ZFS has 'dmu_objset_disown' with 3 args],
715 #include <sys/dmu_objset.h>
718 dmu_objset_disown(os, B_TRUE, FTAG);
720 AC_DEFINE(HAVE_DMU_OBJSET_DISOWN_3ARG, 1,
721 [Have dmu_objset_disown() with 3 args])
725 AS_IF([test "x$enable_zfs" = xyes], [
726 AC_SUBST(ENABLE_ZFS, yes)
728 AC_SUBST(ENABLE_ZFS, no)
730 AM_CONDITIONAL(ZFS_ENABLED, [test "x$enable_zfs" = xyes])
731 AM_CONDITIONAL(SPL_ENABLED, [test "x$enable_spl" = xyes])