#
AC_DEFUN([LC_TARGET_SUPPORTED], [
case $target_os in
- linux* | darwin*)
+ linux*)
$1
;;
*)
]) # LC_FILE_LLSEEK_SIZE
#
+# LC_RADIX_EXCEPTION_ENTRY
+# 3.1 adds radix_tree_exception_entry.
+#
+AC_DEFUN([LC_RADIX_EXCEPTION_ENTRY], [
+LB_CHECK_COMPILE([radix_tree_exceptional_entry exist],
+radix_tree_exceptional_entry, [
+ #include <linux/radix-tree.h>
+],[
+ radix_tree_exceptional_entry(NULL);
+],[
+ AC_DEFINE(HAVE_RADIX_EXCEPTION_ENTRY, 1,
+ [radix_tree_exceptional_entry exist])
+])
+]) # LC_RADIX_EXCEPTION_ENTRY
+
+#
# LC_HAVE_VOID_MAKE_REQUEST_FN
#
# 3.2 request_queue.make_request_fn defined as function returns with void
]) # LC_HAVE_HLIST_FOR_EACH_3ARG
#
+# LC_HAVE_BIO_END_SECTOR
+#
+# 3.9 introduces bio_end_sector macro
+# f73a1c7d117d07a96d89475066188a2b79e53c48
+#
+AC_DEFUN([LC_HAVE_BIO_END_SECTOR], [
+LB_CHECK_COMPILE([if 'bio_end_sector is defined],
+bio_end_sector, [
+ #include <linux/bio.h>
+],[
+ struct bio bio;
+
+ bio_end_sector(&bio);
+],[
+ AC_DEFINE(HAVE_BIO_END_SECTOR, 1,
+ [bio_end_sector is defined])
+])
+]) # LC_HAVE_BIO_END_SECTOR
+
+#
# LC_HAVE_ONLY_PROCFS_SEQ
#
# 3.10+ only supports procfs seq_files handling
#
# LC_VFS_RENAME_5ARGS
#
-# 3.13 has vfs_renane with 5 args
+# 3.13 has vfs_rename with 5 args
#
AC_DEFUN([LC_VFS_RENAME_5ARGS], [
LB_CHECK_COMPILE([if Linux kernel has 'vfs_rename' with 5 args],
#
# LC_VFS_UNLINK_3ARGS
#
-# 3.13 has vfs_renane with 3 args
+# 3.13 has vfs_unlink with 3 args
#
AC_DEFUN([LC_VFS_UNLINK_3ARGS], [
LB_CHECK_COMPILE([if Linux kernel has 'vfs_unlink' with 3 args],
]) # LC_VFS_UNLINK_3ARGS
#
+# LC_HAVE_BVEC_ITER
+#
+# 3.14 move some of its data in struct bio into the new
+# struct bvec_iter
+#
+AC_DEFUN([LC_HAVE_BVEC_ITER], [
+LB_CHECK_COMPILE([if Linux kernel has struct bvec_iter],
+have_bvec_iter, [
+ #include <linux/bio.h>
+],[
+ struct bvec_iter iter;
+ iter.bi_bvec_done = 0;
+], [
+ AC_DEFINE(HAVE_BVEC_ITER, 1,
+ [kernel has struct bvec_iter])
+])
+]) # LC_HAVE_BVEC_ITER
+
+#
+# LC_HAVE_TRUNCATE_IPAGE_FINAL
+#
+# 3.14 bring truncate_inode_pages_final for evict_inode
+#
+AC_DEFUN([LC_HAVE_TRUNCATE_IPAGES_FINAL], [
+LB_CHECK_COMPILE([if Linux kernel has truncate_inode_pages_final],
+truncate_ipages_final, [
+ #include <linux/mm.h>
+],[
+ truncate_inode_pages_final(NULL);
+], [
+ AC_DEFINE(HAVE_TRUNCATE_INODE_PAGES_FINAL, 1,
+ [kernel has truncate_inode_pages_final])
+])
+]) # LC_HAVE_TRUNCATE_IPAGES_FINAL
+#
+# LC_VFS_RENAME_6ARGS
+#
+# 3.15 has vfs_rename with 6 args
+#
+AC_DEFUN([LC_VFS_RENAME_6ARGS], [
+LB_CHECK_COMPILE([if Linux kernel has 'vfs_rename' with 6 args],
+vfs_rename_6args, [
+ #include <linux/fs.h>
+],[
+ vfs_rename(NULL, NULL, NULL, NULL, NULL, NULL);
+], [
+ AC_DEFINE(HAVE_VFS_RENAME_6ARGS, 1,
+ [kernel has vfs_rename with 6 args])
+])
+]) # LC_VFS_RENAME_6ARGS
+
+#
# LC_PROG_LINUX
#
# Lustre linux kernel checks
LC_IOP_GET_ACL
LC_FILE_LLSEEK_SIZE
LC_INODE_PERMISION_2ARGS
+ LC_RADIX_EXCEPTION_ENTRY
# 3.2
LC_HAVE_VOID_MAKE_REQUEST_FN
# 3.9
LC_HAVE_HLIST_FOR_EACH_3ARG
+ LC_HAVE_BIO_END_SECTOR
# 3.10
LC_HAVE_ONLY_PROCFS_SEQ
LC_VFS_RENAME_5ARGS
LC_VFS_UNLINK_3ARGS
+ # 3.14
+ LC_HAVE_BVEC_ITER
+ LC_HAVE_TRUNCATE_IPAGES_FINAL
+
+ # 3.15
+ LC_VFS_RENAME_6ARGS
+
#
AS_IF([test "x$enable_server" != xno], [
LC_FUNC_DEV_SET_RDONLY
]) # LC_CONFIG_CLIENT
#
+# --enable-mpitests
+#
+AC_DEFUN([LB_CONFIG_MPITESTS], [
+AC_ARG_ENABLE([mpitests],
+ AC_HELP_STRING([--enable-mpitests=<yes|no|mpicc wrapper>],
+ [include mpi tests]), [
+ enable_mpitests="yes"
+ case $enableval in
+ yes)
+ MPICC_WRAPPER="mpicc"
+ ;;
+ no)
+ enable_mpitests="no"
+ ;;
+ *)
+ MPICC_WRAPPER=$enableval
+ ;;
+ esac
+ ], [
+ enable_mpitests="yes"
+ MPICC_WRAPPER="mpicc"
+ ])
+
+ if test "x$enable_mpitests" != "xno"; then
+ oldcc=$CC
+ CC=$MPICC_WRAPPER
+ AC_CACHE_CHECK([whether mpitests can be built],
+ lb_cv_mpi_tests, [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+ #include <mpi.h>
+ int main(void) {
+ int flag;
+ MPI_Initialized(&flag);
+ return 0;
+ }
+ ])], [lb_cv_mpi_tests="yes"], [lb_cv_mpi_tests="no"
+ enable_mpitests=$lb_cv_mpi_tests])
+ ])
+ CC=$oldcc
+ fi
+ AC_SUBST(MPICC_WRAPPER)
+]) # LB_CONFIG_MPITESTS
+
+#
# LC_CONFIG_QUOTA
#
# whether to enable quota support global control
]) # LC_QUOTA
#
-# LC_CONFIG_SPLIT
-#
-# whether to enable split support
-#
-AC_DEFUN([LC_CONFIG_SPLIT], [
-AC_MSG_CHECKING([whether to enable split support])
-AC_ARG_ENABLE([split],
- AC_HELP_STRING([--enable-split],
- [enable split support]),
- [], [enable_split='no'])
-AC_MSG_RESULT([$enable_split])
-AS_IF([test "x$enable_split" != xno],
- [AC_DEFINE(HAVE_SPLIT_SUPPORT, 1, [enable split support])])
-]) # LC_CONFIG_SPLIT
-
-#
# LC_CONFIG_NODEMAP_PROC_DEBUG
#
# enable nodemap proc file debugging
# maximum MDS thread count
LC_MDS_MAX_THREADS
-# libcfs/include/libcfs/posix/libcfs.h
# lustre/utils/llverdev.c
-AC_CHECK_HEADERS([sys/user.h sys/vfs.h stdint.h blkid/blkid.h])
+AC_CHECK_HEADERS([blkid/blkid.h])
# libcfs/include/libcfs/linux/linux-prim.h, ...
AC_CHECK_HEADERS([linux/types.h sys/types.h linux/unistd.h unistd.h])
-# libcfs/libcfs/user-tcpip.c
-AC_CHECK_HEADERS([netinet/in.h])
-AC_CHECK_FUNCS([inet_ntoa])
-
# libcfs/include/libcfs/linux/linux-prim.h
AC_CHECK_HEADERS([linux/random.h], [], [],
[#ifdef HAVE_LINUX_TYPES_H
# utils/llverfs.c
AC_CHECK_HEADERS([ext2fs/ext2fs.h])
-# check for -lz support
-ZLIB=""
-AC_CHECK_LIB([z], [adler32],
- [AC_CHECK_HEADERS([zlib.h], [
- ZLIB="-lz"
- AC_DEFINE([HAVE_ADLER], 1,
- [support alder32 checksum type])
- ], [
- AC_MSG_WARN([
-
-No zlib-devel package found, unable to use adler32 checksum
-])
-])], [
- AC_MSG_WARN([
-
-No zlib package found, unable to use adler32 checksum
-])
-])
-AC_SUBST(ZLIB)
-
SELINUX=""
AC_CHECK_LIB([selinux], [is_selinux_enabled],
- [AC_CHECK_HEADERS([selinux.h],
+ [AC_CHECK_HEADERS([selinux/selinux.h],
[SELINUX="-lselinux"
AC_DEFINE([HAVE_SELINUX], 1,
[support for selinux ])],
[AC_MSG_WARN([
-No selinux-devel package found, unable to build selinux enabled tools
+No libselinux-devel package found, unable to build selinux enabled tools
])
])],
[AC_MSG_WARN([
lustre/include/Makefile
lustre/include/lustre_ver.h
lustre/include/linux/Makefile
-lustre/include/darwin/Makefile
lustre/include/lustre/Makefile
+lustre/kernel_patches/targets/3.10-rhel7.target
+lustre/kernel_patches/targets/2.6-rhel6.6.target
lustre/kernel_patches/targets/2.6-rhel6.target
lustre/kernel_patches/targets/2.6-rhel5.target
lustre/kernel_patches/targets/2.6-sles11.target
lustre/fid/autoMakefile
lustre/llite/Makefile
lustre/llite/autoMakefile
-lustre/lclient/Makefile
lustre/lov/Makefile
lustre/lov/autoMakefile
lustre/mdc/Makefile
lustre/lfsck/autoMakefile
lustre/mdt/Makefile
lustre/mdt/autoMakefile
-lustre/nodemap/Makefile
-lustre/nodemap/autoMakefile
lustre/mdd/Makefile
lustre/mdd/autoMakefile
lustre/fld/Makefile
lustre/osp/autoMakefile
lustre/lod/Makefile
lustre/lod/autoMakefile
-lustre/obdclass/darwin/Makefile
])
]) # LC_CONFIG_FILES