AC_ARG_ENABLE([modules],
AC_HELP_STRING([--disable-modules],
[disable building of Lustre kernel modules]),
- [], [
+ [ AC_DEFINE(HAVE_NATIVE_LINUX_CLIENT, 1, [support native Linux client])], [
LC_TARGET_SUPPORTED([enable_modules="yes"],
[enable_modules="no"])
])
AC_MSG_RESULT([$enable_modules ($target_os)])
AS_IF([test "x$enable_modules" = xyes], [
+ AS_IF([test "x$FLEX" = "x"], [AC_MSG_ERROR([flex package is required to build kernel modules])])
+ AS_IF([test "x$BISON" = "x"], [AC_MSG_ERROR([bison package is required to build kernel modules])])
AS_CASE([$target_os],
[linux*], [
+ # Run serial tests
LB_PROG_LINUX
LIBCFS_PROG_LINUX
LN_PROG_LINUX
AS_IF([test "x$enable_server" != xno], [LB_EXT4_SRC_DIR])
LC_PROG_LINUX
+
+ # Run any parallel compile tests
+ LIBCFS_PROG_LINUX_SRC
+ LN_PROG_LINUX_SRC
+ AS_IF([test "x$enable_server" != xno], [LB_EXT4_SRC_DIR_SRC])
+ LC_PROG_LINUX_SRC
+
+ # Collect parallel compile tests results
+ LIBCFS_PROG_LINUX_RESULTS
+ LN_PROG_LINUX_RESULTS
+ AS_IF([test "x$enable_server" != xno], [LB_EXT4_SRC_DIR_RESULTS])
+ LC_PROG_LINUX_RESULTS
+
], [*], [
# This is strange - Lustre supports a target we don't
AC_MSG_ERROR([Modules are not supported on $target_os])
- ])
])
+ # Use OpenSFS UAPI header path instead of linux kernel
+ CPPFLAGS="-I$PWD/lnet/include/uapi -I$PWD/lustre/include/uapi $CPPFLAGS"
+])
]) # LB_CONFIG_MODULES
#
AC_HELP_STRING([--disable-tests],
[disable building of Lustre tests]),
[], [enable_tests="yes"])
+
+#
+# Check to see if we can build the lutf
+#
+AX_PYTHON_DEVEL()
+AS_IF([test "x$PYTHON_VERSION_CHECK" = xno], [
+ enable_lutf="no"
+], [
+ AX_PKG_SWIG(2.0, [ enable_lutf="yes" ],
+ [ enable_lutf="no" ])
+])
+
AC_MSG_RESULT([$enable_tests])
]) # LB_CONFIG_TESTS
CC="$CC -m64"
])
-# UAPI headers, libcfs/include for util headers, lustre/include for liblustreapi and friends
-CPPFLAGS="-I$PWD/libcfs/include -I$PWD/lnet/include/uapi -I$PWD/lustre/include -I$PWD/lustre/include/uapi $CPPFLAGS"
+# libcfs/include for util headers, lustre/include for liblustreapi and friends
+# UAPI headers from OpenSFS are included if modules support is enabled, otherwise
+# it will use the native kernel implementation.
+CPPFLAGS="-I$PWD/libcfs/include -I$PWD/lnet/utils/ -I$PWD/lustre/include $CPPFLAGS"
CCASFLAGS="-Wall -fPIC -D_GNU_SOURCE"
AC_SUBST(CCASFLAGS)
AC_MSG_CHECKING([for -Wno-stringop-truncation support])
saved_flags="$CFLAGS"
- CFLAGS="$CFLAGS -Wno-stringop-truncation"
+ CFLAGS="$CFLAGS -Werror -Wno-stringop-truncation"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [
EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Wno-stringop-truncation"
AM_CONDITIONAL([RHEL], [test -f /etc/redhat-release])
AM_CONDITIONAL([SUSE], [test -f /etc/SUSE-brand -o -f /etc/SuSE-release])
AM_CONDITIONAL([UBUNTU], [test x$UBUNTU_KERNEL = xyes])
+AM_CONDITIONAL([BUILD_LUTF], [test x$enable_lutf = xyes])
LN_CONDITIONALS
LC_CONDITIONALS
AC_PACKAGE_TARNAME[-dkms.spec]
ldiskfs/Makefile
ldiskfs/autoMakefile
+ lustre/utils/lustre.pc
lustre-iokit/Makefile
lustre-iokit/obdfilter-survey/Makefile
lustre-iokit/ost-survey/Makefile
if test x$enable_tests != xyes ; then
RPMBINARGS="$RPMBINARGS --without lustre_tests"
fi
+if test x$enable_lutf != xyes ; then
+ RPMBINARGS="$RPMBINARGS --without lustre_tests_lutf"
+fi
if test x$enable_utils != xyes ; then
RPMBINARGS="$RPMBINARGS --without lustre_utils"
fi
RPMBINARGS="$RPMBINARGS --without gss"
AC_SUBST(ENABLE_GSS, no)
fi
+if test x$enable_crypto = xyes ; then
+ RPMBINARGS="$RPMBINARGS --with crypto"
+ AC_SUBST(ENABLE_CRYPTO, yes)
+elif test x$enable_crypto = xno ; then
+ RPMBINARGS="$RPMBINARGS --without crypto"
+ AC_SUBST(ENABLE_CRYPTO, no)
+fi
if test x$enable_iokit != xyes ; then
RPMBINARGS="$RPMBINARGS --without lustre_iokit"
fi
if test x$enable_static != xyes ; then
RPMBINARGS="$RPMBINARGS --without static"
fi
+if test x$enable_mpitests != xyes ; then
+ RPMBINARGS="$RPMBINARGS --without mpi"
+fi
RPMBUILD_BINARY_ARGS=$RPMBINARGS
]) # LB_CONFIG_RPMBUILD_OPTIONS
#
+# LB_CONFIG_CACHE_OPTIONS
+#
+# Propagate config cache option
+#
+AC_DEFUN([LB_CONFIG_CACHE_OPTIONS], [
+CONFIG_CACHE_FILE=
+if test -f "$cache_file"; then
+ CONFIG_CACHE_FILE=$(readlink --canonicalize "$cache_file")
+fi
+AC_SUBST(CONFIG_CACHE_FILE)
+]) # LB_CONFIG_CACHE_OPTIONS
+
+#
# LB_CONFIGURE
#
# main configure steps
LC_CONFIG_CLIENT
LB_CONFIG_MPITESTS
LB_CONFIG_SERVERS
+LC_CONFIG_CRYPTO
# Tests depends from utils (multiop from liblustreapi)
AS_IF([test "x$enable_utils" = xno], [enable_tests="no"])
+AS_IF([test "x$enable_utils" = xyes], [
+ LC_GLIBC_SUPPORT_COPY_FILE_RANGE
+ LC_OPENSSL_SSK
+ LC_OPENSSL_GETSEPOL
+ LC_FID2PATH_ANON_UNION
+ LC_IOC_REMOVE_ENTRY
+])
+AS_IF([test "x$enable_tests" = xyes], [
+ LC_HAVE_LIBAIO
+ LC_GLIBC_SUPPORT_FHANDLES
+])
+
LIBCFS_CONFIG_CDEBUG
LC_QUOTA
AC_SUBST(MOSTLYCLEANFILES)
LB_CONFIG_RPMBUILD_OPTIONS
+LB_CONFIG_CACHE_OPTIONS
+
+AS_IF([test -d $TEST_DIR], [
+ AC_MSG_NOTICE([remove temporary parallel configure dir $TEST_DIR])
+ rm -rf $TEST_DIR
+])
AC_OUTPUT