]) # LB_LIBCFS_DIR
#
+# LB_LIBMOUNT
+#
+# Check whether build with libmount for mount.lustre.
+# libmount is part of the util-linux since v2.18.
+# We need it to manipulate utab file.
+#
+AC_DEFUN([LB_LIBMOUNT], [
+AC_CHECK_HEADER([libmount/libmount.h], [
+ AC_CHECK_LIB([mount], [mnt_update_set_fs], [
+ LDLIBMOUNT="-lmount"
+ AC_SUBST(LDLIBMOUNT)
+ AC_DEFINE(HAVE_LIBMOUNT, 1, [build with libmount])
+ with_libmount="yes"
+ ],[with_libmount="no"])
+], [with_libmount="no"])
+AC_MSG_CHECKING([whether to build with libmount])
+AS_IF([test "x$with_libmount" = xyes], [
+ AC_MSG_RESULT([yes])
+], [
+ AC_MSG_RESULT([no])
+])
+]) # LB_LIBMOUNT
+
+#
# LB_PATH_SNMP
#
# check for in-tree snmp support
CC="$CC -m64"
])
-CPPFLAGS="-I$PWD/$LIBCFS_INCLUDE_DIR -I$PWD/lnet/include -I$PWD/lustre/include $CPPFLAGS"
+CPPFLAGS="-I$PWD/$LIBCFS_INCLUDE_DIR -I$PWD/lnet/include -I$PWD/lnet/include/uapi -I$PWD/lustre/include -I$PWD/lustre/include/uapi $CPPFLAGS"
CCASFLAGS="-Wall -fPIC -D_GNU_SOURCE"
AC_SUBST(CCASFLAGS)
]) # LB_PROG_CC
#
+# Check if gcc supports -Wno-format-truncation
+#
+# To supress many warnings with gcc7
+#
+AC_DEFUN([LB_CC_NO_FORMAT_TRUNCATION], [
+ AC_MSG_CHECKING([for -Wno-format-truncation support])
+
+ saved_flags="$CFLAGS"
+ CFLAGS="$CFLAGS -Wno-format-truncation"
+
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [
+ EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Wno-format-truncation"
+ AC_SUBST(EXTRA_KCFLAGS)
+ AC_MSG_RESULT([yes])
+ ], [
+ AC_MSG_RESULT([no])
+ ])
+
+ CFLAGS="$saved_flags"
+])
+
+#
+# Check if gcc supports -Wno-stringop-truncation
+#
+# To supress many warnings with gcc8
+#
+AC_DEFUN([LB_CC_NO_STRINGOP_TRUNCATION], [
+ AC_MSG_CHECKING([for -Wno-stringop-truncation support])
+
+ saved_flags="$CFLAGS"
+ CFLAGS="$CFLAGS -Wno-stringop-truncation"
+
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [
+ EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Wno-stringop-truncation"
+ AC_SUBST(EXTRA_KCFLAGS)
+ AC_MSG_RESULT([yes])
+ ], [
+ AC_MSG_RESULT([no])
+ ])
+
+ CFLAGS="$saved_flags"
+])
+
+#
+# Check if gcc supports -Wno-stringop-overflow
+#
+# To supress many warnings with gcc8
+#
+AC_DEFUN([LB_CC_NO_STRINGOP_OVERFLOW], [
+ AC_MSG_CHECKING([for -Wno-stringop-overflow support])
+
+ saved_flags="$CFLAGS"
+ CFLAGS="$CFLAGS -Wno-stringop-overflow"
+
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [
+ EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Wno-stringop-overflow"
+ AC_SUBST(EXTRA_KCFLAGS)
+ AC_MSG_RESULT([yes])
+ ], [
+ AC_MSG_RESULT([no])
+ ])
+
+ CFLAGS="$saved_flags"
+])
+
+#
# LB_CONDITIONALS
#
# AM_CONDITIONAL instances for everything
# (so that portals/lustre can disable some if needed)
#
AC_DEFUN([LB_CONDITIONALS], [
+AM_CONDITIONAL([PLUGINS], [test x$enable_shared = xyes])
AM_CONDITIONAL([MODULES], [test x$enable_modules = xyes])
AM_CONDITIONAL([UTILS], [test x$enable_utils = xyes])
AM_CONDITIONAL([TESTS], [test x$enable_tests = xyes])
AM_CONDITIONAL([DOC], [test x$ENABLE_DOC = x1])
AM_CONDITIONAL([MANPAGES], [test x$enable_manpages = xyes])
AM_CONDITIONAL([LINUX], [test x$lb_target_os = xlinux])
-AM_CONDITIONAL([USES_DPKG], [test x$uses_dpkg = xyes])
AM_CONDITIONAL([USE_QUILT], [test x$use_quilt = xyes])
AM_CONDITIONAL([RHEL], [test x$RHEL_KERNEL = xyes])
AM_CONDITIONAL([SUSE], [test x$SUSE_KERNEL = xyes])
+AM_CONDITIONAL([UBUNTU], [test x$UBUNTU_KERNEL = xyes])
# Sanity check for PCLMULQDQ instruction availability
# PCLMULQDQ instruction is a new instruction available beginning with
lustre-iokit/ior-survey/Makefile
lustre-iokit/stats-collect/Makefile
)
- AC_CONFIG_FILES([lustre/scripts/dkms.mkconf],
- [chmod +x lustre/scripts/dkms.mkconf])
])
#
AC_MSG_CHECKING([whether to build Lustre server support])
AC_MSG_RESULT([$enable_server])
-AS_IF([test x$enable_server = xyes],
- [AC_DEFINE(HAVE_SERVER_SUPPORT, 1, [support server])])
+AS_IF([test x$enable_server = xyes], [
+ AC_DEFINE(HAVE_SERVER_SUPPORT, 1, [support server])
+ AC_SUBST(ENABLE_SERVER, yes)
+], [
+ AC_SUBST(ENABLE_SERVER, no)
+])
]) # LB_CONFIG_SERVERS
#
-C | --cache-file=* ) ;;
--prefix=* | --*-prefix=* ) ;;
--enable-dist ) ;;
- --with-release=* ) ;;
--with-kmp-moddir=* ) ;;
--with-linux=* | --with-linux-obj=* ) ;;
--enable-shared | --disable-shared ) ;;
--enable-tests | --disable-tests ) ;;
--enable-utils | --disable-utils ) ;;
--enable-iokit | --disable-iokit ) ;;
- --enable-dlc | --disable-dlc ) ;;
--enable-manpages | --disable-manpages ) ;;
* ) CONFIGURE_ARGS="$CONFIGURE_ARGS '$arg'" ;;
esac
RPMBINARGS="$RPMBINARGS --define \"kobjdir $LINUX_OBJ\""
fi
fi
-if test -n "$KMP_MODDIR" ; then
- RPMBINARGS="$RPMBINARGS --define \"kmoddir $KMP_MODDIR\""
-fi
if test x$enable_modules != xyes ; then
RPMBINARGS="$RPMBINARGS --without lustre_modules"
fi
if test x$enable_zfs = xyes ; then
RPMBINARGS="$RPMBINARGS --with zfs"
fi
+if test x$enable_gss_keyring = xyes ; then
+ RPMBINARGS="$RPMBINARGS --with gss_keyring --with gss"
+fi
+if test x$enable_gss = xyes ; then
+ RPMBINARGS="$RPMBINARGS --with gss"
+ AC_SUBST(ENABLE_GSS, yes)
+elif test x$enable_gss = xno ; then
+ RPMBINARGS="$RPMBINARGS --without gss"
+ AC_SUBST(ENABLE_GSS, no)
+fi
if test x$enable_iokit != xyes ; then
RPMBINARGS="$RPMBINARGS --without lustre_iokit"
fi
-if test x$USE_DLC = xyes ; then
- RPMBINARGS="$RPMBINARGS --with lnet_dlc"
+if test x$enable_snmp != xyes ; then
+ RPMBINARGS="$RPMBINARGS --without snmp"
fi
if test x$enable_manpages != xyes ; then
RPMBINARGS="$RPMBINARGS --without manpages"
LB_PATH_DEFAULTS
LB_PROG_CC
+LB_CC_NO_FORMAT_TRUNCATION
+LB_CC_NO_STRINGOP_TRUNCATION
+LB_CC_NO_STRINGOP_OVERFLOW
LC_OSD_ADDON
# Tests depends from utils (multiop from liblustreapi)
AS_IF([test "x$enable_utils" = xno], [enable_tests="no"])
-m4_ifdef([LC_NODEMAP_PROC_DEBUG], [LC_NODEMAP_PROC_DEBUG])
LIBCFS_CONFIG_CDEBUG
LC_QUOTA
+LB_LIBMOUNT
LB_PATH_SNMP
LB_PATH_LUSTREIOKIT