AC_MSG_RESULT([$enable_debug])
])
+AC_DEFUN([ZFS_AC_DEBUG_DMU_TX], [
+ AC_ARG_ENABLE([debug-dmu-tx],
+ [AS_HELP_STRING([--enable-debug-dmu-tx],
+ [Enable dmu tx validation @<:@default=no@:>@])],
+ [],
+ [enable_debug_dmu_tx=no])
+
+ AS_IF([test "x$enable_debug_dmu_tx" = xyes],
+ [
+ KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_DMU_TX"
+ DEBUG_DMU_TX="_with_debug_dmu_tx"
+ AC_DEFINE([DEBUG_DMU_TX], [1],
+ [Define to 1 to enabled dmu tx validation])
+ ],
+ [
+ DEBUG_DMU_TX="_without_debug_dmu_tx"
+ ])
+
+ AC_SUBST(DEBUG_DMU_TX)
+ AC_MSG_CHECKING([whether dmu tx validation is enabled])
+ AC_MSG_RESULT([$enable_debug_dmu_tx])
+])
+
AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [
ZFS_AC_CONFIG_ALWAYS_NO_UNUSED_BUT_SET_VARIABLE
])
AS_HELP_STRING([--with-config=CONFIG],
[Config file 'kernel|user|all|srpm']),
[ZFS_CONFIG="$withval"])
+ AC_ARG_ENABLE([linux-builtin],
+ [AC_HELP_STRING([--enable-linux-builtin],
+ [Configure for builtin in-tree kernel modules @<:@default=no@:>@])],
+ [],
+ [enable_linux_builtin=no])
AC_MSG_CHECKING([zfs config])
AC_MSG_RESULT([$ZFS_CONFIG]);
esac
AM_CONDITIONAL([CONFIG_USER],
- [test "$ZFS_CONFIG" = user] ||
- [test "$ZFS_CONFIG" = all])
+ [test "$ZFS_CONFIG" = user -o "$ZFS_CONFIG" = all])
AM_CONDITIONAL([CONFIG_KERNEL],
- [test "$ZFS_CONFIG" = kernel] ||
- [test "$ZFS_CONFIG" = all])
+ [test "$ZFS_CONFIG" = kernel -o "$ZFS_CONFIG" = all] &&
+ [test "x$enable_linux_builtin" != xyes ])
])
dnl #
dnl # are missing it is non-fatal but you will not be able to build
dnl # RPM packages and will be warned if you try too.
dnl #
+dnl # By default the generic spec file will be used because it requires
+dnl # minimal dependencies. Distribution specific spec files can be
+dnl # placed under the 'rpm/<distribution>' directory and enabled using
+dnl # the --with-spec=<distribution> configure option.
+dnl #
AC_DEFUN([ZFS_AC_RPM], [
RPM=rpm
RPMBUILD=rpmbuild
AC_MSG_RESULT([$HAVE_RPMBUILD])
])
+ RPM_DEFINE_COMMON='--define "$(DEBUG_ZFS) 1" --define "$(DEBUG_DMU_TX) 1"'
+ RPM_DEFINE_UTIL=
+ RPM_DEFINE_KMOD='--define "kernels $(LINUX_VERSION)"'
+ RPM_DEFINE_DKMS=
+
+ SRPM_DEFINE_COMMON='--define "build_src_rpm 1"'
+ SRPM_DEFINE_UTIL=
+ SRPM_DEFINE_KMOD=
+ SRPM_DEFINE_DKMS=
+
+ RPM_SPEC_DIR="rpm/generic"
+ AC_ARG_WITH([spec],
+ AS_HELP_STRING([--with-spec=SPEC],
+ [Spec files 'generic|fedora']),
+ [RPM_SPEC_DIR="rpm/$withval"])
+
+ AC_MSG_CHECKING([whether spec files are available])
+ AC_MSG_RESULT([yes ($RPM_SPEC_DIR/*.spec.in)])
+
AC_SUBST(HAVE_RPM)
AC_SUBST(RPM)
AC_SUBST(RPM_VERSION)
AC_SUBST(HAVE_RPMBUILD)
AC_SUBST(RPMBUILD)
AC_SUBST(RPMBUILD_VERSION)
+
+ AC_SUBST(RPM_SPEC_DIR)
+ AC_SUBST(RPM_DEFINE_UTIL)
+ AC_SUBST(RPM_DEFINE_KMOD)
+ AC_SUBST(RPM_DEFINE_DKMS)
+ AC_SUBST(RPM_DEFINE_COMMON)
+ AC_SUBST(SRPM_DEFINE_UTIL)
+ AC_SUBST(SRPM_DEFINE_KMOD)
+ AC_SUBST(SRPM_DEFINE_DKMS)
+ AC_SUBST(SRPM_DEFINE_COMMON)
])
dnl #
])
dnl #
-dnl # Check for pacman+makepkg to build Arch Linux packages. If these
-dnl # tools are missing it is non-fatal but you will not be able to
-dnl # build Arch Linux packages and will be warned if you try too.
-dnl #
-AC_DEFUN([ZFS_AC_PACMAN], [
- PACMAN=pacman
- MAKEPKG=makepkg
-
- AC_MSG_CHECKING([whether $PACMAN is available])
- tmp=$($PACMAN --version 2>/dev/null)
- AS_IF([test -n "$tmp"], [
- PACMAN_VERSION=$(echo $tmp |
- $AWK '/Pacman/ { print $[3] }' |
- $SED 's/^v//')
- HAVE_PACMAN=yes
- AC_MSG_RESULT([$HAVE_PACMAN ($PACMAN_VERSION)])
- ],[
- HAVE_PACMAN=no
- AC_MSG_RESULT([$HAVE_PACMAN])
- ])
-
- AC_MSG_CHECKING([whether $MAKEPKG is available])
- tmp=$($MAKEPKG --version 2>/dev/null)
- AS_IF([test -n "$tmp"], [
- MAKEPKG_VERSION=$(echo $tmp | $AWK '/makepkg/ { print $[3] }')
- HAVE_MAKEPKG=yes
- AC_MSG_RESULT([$HAVE_MAKEPKG ($MAKEPKG_VERSION)])
- ],[
- HAVE_MAKEPKG=no
- AC_MSG_RESULT([$HAVE_MAKEPKG])
- ])
-
- AC_SUBST(HAVE_PACMAN)
- AC_SUBST(PACMAN)
- AC_SUBST(PACMAN_VERSION)
-
- AC_SUBST(HAVE_MAKEPKG)
- AC_SUBST(MAKEPKG)
- AC_SUBST(MAKEPKG_VERSION)
-])
-
-dnl #
dnl # Using the VENDOR tag from config.guess set the default
dnl # package type for 'make pkg': (rpm | deb | tgz)
dnl #
redhat) DEFAULT_PACKAGE=rpm ;;
fedora) DEFAULT_PACKAGE=rpm ;;
gentoo) DEFAULT_PACKAGE=tgz ;;
- arch) DEFAULT_PACKAGE=arch ;;
+ arch) DEFAULT_PACKAGE=tgz ;;
sles) DEFAULT_PACKAGE=rpm ;;
slackware) DEFAULT_PACKAGE=tgz ;;
lunar) DEFAULT_PACKAGE=tgz ;;
AC_MSG_RESULT([$DEFAULT_PACKAGE])
AC_SUBST(DEFAULT_PACKAGE)
+ DEFAULT_INIT_DIR=$sysconfdir/init.d
AC_MSG_CHECKING([default init directory])
- case "$VENDOR" in
- arch) DEFAULT_INIT_DIR=$sysconfdir/rc.d ;;
- *) DEFAULT_INIT_DIR=$sysconfdir/init.d ;;
- esac
-
AC_MSG_RESULT([$DEFAULT_INIT_DIR])
AC_SUBST(DEFAULT_INIT_DIR)
redhat) DEFAULT_INIT_SCRIPT=redhat ;;
fedora) DEFAULT_INIT_SCRIPT=fedora ;;
gentoo) DEFAULT_INIT_SCRIPT=gentoo ;;
- arch) DEFAULT_INIT_SCRIPT=arch ;;
+ arch) DEFAULT_INIT_SCRIPT=lsb ;;
sles) DEFAULT_INIT_SCRIPT=lsb ;;
slackware) DEFAULT_INIT_SCRIPT=lsb ;;
lunar) DEFAULT_INIT_SCRIPT=lunar ;;
ZFS_AC_RPM
ZFS_AC_DPKG
ZFS_AC_ALIEN
-
- AS_IF([test "$VENDOR" = "arch"], [ZFS_AC_PACMAN])
])