Whamcloud - gitweb
LU-15122 osd-ldiskfs: Fix ASSERTION( iobuf->dr_rw == 0 ) with 64KB PAGE_SIZE
[fs/lustre-release.git] / config / lustre-build.m4
index 2f6a98c..a643fc0 100644 (file)
@@ -148,7 +148,7 @@ AC_MSG_CHECKING([whether to build Linux kernel modules])
 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"])
        ])
@@ -210,6 +210,18 @@ AC_ARG_ENABLE([tests],
        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
 
@@ -332,8 +344,10 @@ AS_IF([test $target_cpu = powerpc64], [
        CC="$CC -m64"
 ])
 
-# libcfs/include for util headers, lnetconfig headers, lustre/include for liblustreapi and friends
-CPPFLAGS="-I$PWD/libcfs/include -I$PWD/lnet/utils -I$PWD/lustre/include $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)
@@ -374,7 +388,7 @@ AC_DEFUN([LB_CC_NO_STRINGOP_TRUNCATION], [
        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"
@@ -427,6 +441,7 @@ AM_CONDITIONAL([USE_QUILT], [test x$use_quilt = xyes])
 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
@@ -447,6 +462,7 @@ AC_DEFUN([LB_CONFIG_FILES], [
                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
@@ -555,6 +571,9 @@ fi
 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
@@ -609,6 +628,19 @@ AC_SUBST(RPMBUILD_BINARY_ARGS)
 ]) # 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
@@ -646,6 +678,18 @@ 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
 
@@ -675,6 +719,7 @@ MOSTLYCLEANFILES='.*.cmd .*.flags *.o *.ko *.mod.c .depend .*.1.* Modules.symver
 AC_SUBST(MOSTLYCLEANFILES)
 
 LB_CONFIG_RPMBUILD_OPTIONS
+LB_CONFIG_CACHE_OPTIONS
 
 AC_OUTPUT