])
#
-# Support for --enable-uoss
-#
-AC_DEFUN([LB_UOSS],
-[AC_MSG_CHECKING([whether to enable uoss])
-AC_ARG_ENABLE([uoss],
- AC_HELP_STRING([--enable-uoss],
- [enable userspace OSS]),
- [enable_uoss='yes'],[enable_uoss='no'])
-AC_MSG_RESULT([$enable_uoss])
-if test x$enable_uoss = xyes; then
- AC_DEFINE(UOSS_SUPPORT, 1, Enable user-level OSS)
- AC_DEFINE(LUSTRE_ULEVEL_MT, 1, Multi-threaded user-level lustre port)
- enable_uoss='yes'
- enable_ulevel_mt='yes'
- enable_modules='no'
- enable_client='no'
- enable_tests='no'
- enable_liblustre='no'
- with_ldiskfs='no'
-fi
-AC_SUBST(enable_uoss)
-])
-
-#
-# Support for --enable-posix-osd
-#
-AC_DEFUN([LB_POSIX_OSD],
-[AC_MSG_CHECKING([whether to enable posix osd])
-AC_ARG_ENABLE([posix-osd],
- AC_HELP_STRING([--enable-posix-osd],
- [enable using of posix osd]),
- [enable_posix_osd='yes'],[enable_posix_osd='no'])
-AC_MSG_RESULT([$enable_posix_osd])
-if test x$enable_uoss = xyes -a x$enable_posix_osd = xyes ; then
- AC_DEFINE(POSIX_OSD, 1, Enable POSIX OSD)
- posix_osd='yes'
-fi
-AM_CONDITIONAL(POSIX_OSD_ENABLED, test x$posix_osd = xyes)
-])
-
-#
-# LB_PATH_DMU
-#
-AC_DEFUN([LB_PATH_DMU],
-[AC_ARG_ENABLE([dmu],
- AC_HELP_STRING([--enable-dmu],
- [enable the DMU backend]),
- [],[with_dmu='default'])
-AC_MSG_CHECKING([whether to enable DMU])
-case x$with_dmu in
- xyes)
- dmu_osd='yes'
- ;;
- xno)
- dmu_osd='no'
- ;;
- xdefault)
- if test x$enable_uoss = xyes -a x$posix_osd != xyes; then
- # Enable the DMU if we're configuring a userspace server
- dmu_osd='yes'
- else
- # Enable the DMU by default on the b_hd_kdmu branch
- if test -d $PWD/zfs -a x$enable_server = xyes; then
- dmu_osd='yes'
- else
- dmu_osd='no'
- fi
- fi
- ;;
- *)
- dmu_osd='yes'
- ;;
-esac
-AC_MSG_RESULT([$dmu_osd])
-if test x$dmu_osd = xyes; then
- AC_DEFINE(DMU_OSD, 1, Enable DMU OSD)
- if test x$enable_uoss = xyes; then
- # Userspace DMU
- DMU_SRC="$PWD/lustre/zfs-lustre"
- AC_SUBST(DMU_SRC)
- LB_CHECK_FILE([$DMU_SRC/src/.patched],[],[
- AC_MSG_ERROR([A complete (patched) DMU tree was not found.])
- ])
- AC_CONFIG_SUBDIRS(lustre/zfs-lustre)
- else
- # Kernel DMU
- SPL_SUBDIR="spl"
- ZFS_SUBDIR="zfs"
-
- SPL_DIR="$PWD/$SPL_SUBDIR"
- ZFS_DIR="$PWD/$ZFS_SUBDIR"
-
- LB_CHECK_FILE([$SPL_DIR/module/spl/spl-generic.c],[],[
- AC_MSG_ERROR([A complete SPL tree was not found in $SPL_DIR.])
- ])
-
- LB_CHECK_FILE([$ZFS_DIR/module/zfs/dmu.c],[],[
- AC_MSG_ERROR([A complete kernel DMU tree was not found in $ZFS_DIR.])
- ])
-
- AC_CONFIG_SUBDIRS(spl)
- ac_configure_args="$ac_configure_args --with-spl=$SPL_DIR"
- AC_CONFIG_SUBDIRS(zfs)
- fi
-fi
-AC_SUBST(SPL_SUBDIR)
-AC_SUBST(ZFS_SUBDIR)
-AC_SUBST(SPL_DIR)
-AC_SUBST(ZFS_DIR)
-AM_CONDITIONAL(DMU_OSD_ENABLED, test x$dmu_osd = xyes)
-AM_CONDITIONAL(KDMU, test x$dmu_osd$enable_uoss = xyesno)
-])
-
-#
# LB_PATH_SNMP
#
# check for in-tree snmp support
#
AC_DEFUN([LB_PROG_CC],
[AC_PROG_RANLIB
-AC_MSG_CHECKING([for buggy compiler])
-CC_VERSION=`$CC -v 2>&1 | grep "^gcc version"`
-bad_cc() {
- AC_MSG_RESULT([buggy compiler found!])
- echo
- echo " '$CC_VERSION'"
- echo " has been known to generate bad code, "
- echo " please get an updated compiler."
- AC_MSG_ERROR([sorry])
-}
-case "$CC_VERSION" in
- "gcc version 2.95"*)
- bad_cc
- ;;
- # ost_pack_niobuf putting 64bit NTOH temporaries on the stack
- # without "sub $0xc,%esp" to protect the stack from being
- # stomped on by interrupts (bug 606)
- "gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)")
- bad_cc
- ;;
- # mandrake's similar sub 0xc compiler bug
- # http://marc.theaimsgroup.com/?l=linux-kernel&m=104748366226348&w=2
- "gcc version 2.96 20000731 (Mandrake Linux 8.1 2.96-0.62mdk)")
- bad_cc
- ;;
- *)
- AC_MSG_RESULT([no known problems])
- ;;
-esac
# --------- unsigned long long sane? -------
AC_CHECK_SIZEOF(unsigned long long, 0)
#
AC_DEFUN([LB_CONFIG_FILES],
[
-AC_CONFIG_FILES(
-[Makefile
-autoMakefile
-]
-[Rules:build/Rules.in]
-AC_PACKAGE_TARNAME[.spec]
-)
+ AC_CONFIG_FILES([
+ Makefile
+ autoMakefile]
+ [Rules:build/Rules.in]
+ AC_PACKAGE_TARNAME[.spec]
+ )
])
#
LB_PROG_CC
-LB_UOSS
-LB_POSIX_OSD
LC_OSD_ADDON
LB_CONFIG_DOCS
LB_CONFIG_MODULES
LN_CONFIG_USERSPACE
-LB_PATH_DMU
LB_PATH_LIBSYSIO
LB_PATH_SNMP
LB_PATH_LDISKFS