X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=build%2Fautoconf%2Flustre-build.m4;h=6005f117604dbb490adf715d728dc709895bebf2;hp=efd894c96ef7dbbd4ab0fea0a8f1b77558318440;hb=a0ba67661b96157b42f1ff75e8b6bc05740a11da;hpb=abd7a00a5cfcbd4fe8dc6eb90bde9e5ed9f4c47f diff --git a/build/autoconf/lustre-build.m4 b/build/autoconf/lustre-build.m4 index efd894c..6005f11 100644 --- a/build/autoconf/lustre-build.m4 +++ b/build/autoconf/lustre-build.m4 @@ -45,19 +45,6 @@ AS_IF([test AS_VAR_GET(lb_File) = yes], [$2], [$3])[]dnl AS_VAR_POPDEF([lb_File])dnl ])# LB_CHECK_FILE -# -# LB_CHECK_FILES -# -# LB_CHECK_FILE over multiple files -# -AC_DEFUN([LB_CHECK_FILES], -[AC_FOREACH([AC_FILE_NAME], [$1], - [LB_CHECK_FILE(AC_FILE_NAME, - [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]AC_FILE_NAME), 1, - [Define to 1 if you have the - file `]AC_File['.]) -$2], - [$3])])]) # # LB_ARG_LIBS_INCLUDES @@ -240,6 +227,10 @@ AC_SUBST(LDISKFS_DIR) AC_SUBST(LDISKFS_SUBDIR) AM_CONDITIONAL(LDISKFS_ENABLED, test x$with_ldiskfs != xno) +if test x$enable_ext4 = xyes ; then + AC_DEFINE(HAVE_EXT4_LDISKFS, 1, [build ext4 based ldiskfs]) +fi + # We have to configure even if we don't build here for make dist to work AC_CONFIG_SUBDIRS(ldiskfs) ]) @@ -273,6 +264,129 @@ AC_DEFUN([LB_DEFINE_LDISKFS_OPTIONS], AC_DEFINE(CONFIG_LDISKFS_FS_XATTR, 1, [enable extended attributes for ldiskfs]) AC_DEFINE(CONFIG_LDISKFS_FS_POSIX_ACL, 1, [enable posix acls for ldiskfs]) AC_DEFINE(CONFIG_LDISKFS_FS_SECURITY, 1, [enable fs security for ldiskfs]) + AC_DEFINE(CONFIG_LDISKFSDEV_FS_POSIX_ACL, 1, [enable posix acls for ldiskfs]) + AC_DEFINE(CONFIG_LDISKFSDEV_FS_XATTR, 1, [enable extented attributes for ldiskfs]) + AC_DEFINE(CONFIG_LDISKFSDEV_FS_SECURITY, 1, [enable fs security for ldiskfs]) +]) + +# +# LB_DEFINE_E2FSPROGS_NAMES +# +# Enable the use of alternate naming of ldiskfs-enabled e2fsprogs package. +# +AC_DEFUN([LB_DEFINE_E2FSPROGS_NAMES], +[AC_ARG_WITH([ldiskfsprogs], + AC_HELP_STRING([--with-ldiskfsprogs], + [use alternate names for ldiskfs-enabled e2fsprogs]), + [],[withval='no']) + +if test x$withval = xyes ; then + AC_DEFINE(HAVE_LDISKFSPROGS, 1, [enable use of ldiskfsprogs package]) + E2FSPROGS="ldiskfsprogs" + MKE2FS="mkfs.ldiskfs" + DEBUGFS="debug.ldiskfs" + TUNE2FS="tune.ldiskfs" + E2LABEL="label.ldiskfs" + DUMPE2FS="dump.ldiskfs" + E2FSCK="fsck.ldiskfs" + AC_MSG_RESULT([enabled]) +else + E2FSPROGS="e2fsprogs" + MKE2FS="mke2fs" + DEBUGFS="debugfs" + TUNE2FS="tune2fs" + E2LABEL="e2label" + DUMPE2FS="dumpe2fs" + E2FSCK="e2fsck" + AC_MSG_RESULT([disabled]) +fi + AC_DEFINE_UNQUOTED(E2FSPROGS, "$E2FSPROGS", [name of ldiskfs e2fsprogs package]) + AC_DEFINE_UNQUOTED(MKE2FS, "$MKE2FS", [name of ldiskfs mkfs program]) + AC_DEFINE_UNQUOTED(DEBUGFS, "$DEBUGFS", [name of ldiskfs debug program]) + AC_DEFINE_UNQUOTED(TUNE2FS, "$TUNE2FS", [name of ldiskfs tune program]) + AC_DEFINE_UNQUOTED(E2LABEL, "$E2LABEL", [name of ldiskfs label program]) + AC_DEFINE_UNQUOTED(DUMPE2FS,"$DUMPE2FS", [name of ldiskfs dump program]) + AC_DEFINE_UNQUOTED(E2FSCK, "$E2FSCK", [name of ldiskfs fsck program]) +]) + +# +# LB_DEFINE_E2FSPROGS_NAMES +# +# Enable the use of alternate naming of ldiskfs-enabled e2fsprogs package. +# +AC_DEFUN([LB_DEFINE_E2FSPROGS_NAMES], +[AC_ARG_WITH([ldiskfsprogs], + AC_HELP_STRING([--with-ldiskfsprogs], + [use alternate names for ldiskfs-enabled e2fsprogs]), + [],[withval='no']) + +if test x$withval = xyes ; then + AC_DEFINE(HAVE_LDISKFSPROGS, 1, [enable use of ldiskfsprogs package]) + E2FSPROGS="ldiskfsprogs" + MKE2FS="mkfs.ldiskfs" + DEBUGFS="debug.ldiskfs" + TUNE2FS="tune.ldiskfs" + E2LABEL="label.ldiskfs" + DUMPE2FS="dump.ldiskfs" + E2FSCK="fsck.ldiskfs" + AC_MSG_RESULT([enabled]) +else + E2FSPROGS="e2fsprogs" + MKE2FS="mke2fs" + DEBUGFS="debugfs" + TUNE2FS="tune2fs" + E2LABEL="e2label" + DUMPE2FS="dumpe2fs" + E2FSCK="e2fsck" + AC_MSG_RESULT([disabled]) +fi + AC_DEFINE_UNQUOTED(E2FSPROGS, "$E2FSPROGS", [name of ldiskfs e2fsprogs package]) + AC_DEFINE_UNQUOTED(MKE2FS, "$MKE2FS", [name of ldiskfs mkfs program]) + AC_DEFINE_UNQUOTED(DEBUGFS, "$DEBUGFS", [name of ldiskfs debug program]) + AC_DEFINE_UNQUOTED(TUNE2FS, "$TUNE2FS", [name of ldiskfs tune program]) + AC_DEFINE_UNQUOTED(E2LABEL, "$E2LABEL", [name of ldiskfs label program]) + AC_DEFINE_UNQUOTED(DUMPE2FS,"$DUMPE2FS", [name of ldiskfs dump program]) + AC_DEFINE_UNQUOTED(E2FSCK, "$E2FSCK", [name of ldiskfs fsck program]) +]) + +# +# LB_DEFINE_E2FSPROGS_NAMES +# +# Enable the use of alternate naming of ldiskfs-enabled e2fsprogs package. +# +AC_DEFUN([LB_DEFINE_E2FSPROGS_NAMES], +[AC_ARG_WITH([ldiskfsprogs], + AC_HELP_STRING([--with-ldiskfsprogs], + [use alternate names for ldiskfs-enabled e2fsprogs]), + [],[withval='no']) + +if test x$withval = xyes ; then + AC_DEFINE(HAVE_LDISKFSPROGS, 1, [enable use of ldiskfsprogs package]) + E2FSPROGS="ldiskfsprogs" + MKE2FS="mkfs.ldiskfs" + DEBUGFS="debug.ldiskfs" + TUNE2FS="tune.ldiskfs" + E2LABEL="label.ldiskfs" + DUMPE2FS="dump.ldiskfs" + E2FSCK="fsck.ldiskfs" + AC_MSG_RESULT([enabled]) +else + E2FSPROGS="e2fsprogs" + MKE2FS="mke2fs" + DEBUGFS="debugfs" + TUNE2FS="tune2fs" + E2LABEL="e2label" + DUMPE2FS="dumpe2fs" + E2FSCK="e2fsck" + AC_MSG_RESULT([disabled]) +fi + AC_DEFINE_UNQUOTED(E2FSPROGS, "$E2FSPROGS", [name of ldiskfs e2fsprogs package]) + AC_DEFINE_UNQUOTED(MKE2FS, "$MKE2FS", [name of ldiskfs mkfs program]) + AC_DEFINE_UNQUOTED(DEBUGFS, "$DEBUGFS", [name of ldiskfs debug program]) + AC_DEFINE_UNQUOTED(TUNE2FS, "$TUNE2FS", [name of ldiskfs tune program]) + AC_DEFINE_UNQUOTED(E2LABEL, "$E2LABEL", [name of ldiskfs label program]) + AC_DEFINE_UNQUOTED(DUMPE2FS,"$DUMPE2FS", [name of ldiskfs dump program]) + AC_DEFINE_UNQUOTED(E2FSCK, "$E2FSCK", [name of ldiskfs fsck program]) ]) # @@ -305,7 +419,7 @@ AC_ARG_ENABLE([bgl], [enable_bgl='yes'],[enable_bgl='no']) AC_MSG_RESULT([$enable_bgl]) if test x$enable_bgl != xno; then - AC_DEFINE(BGL_SUPPORT, 1, Enable BGL Features) + AC_DEFINE(HAVE_BGL_SUPPORT, 1, Enable BGL Features) enable_doc='no' enable_tests='no' enable_server='no' @@ -357,32 +471,75 @@ AM_CONDITIONAL(POSIX_OSD_ENABLED, test x$posix_osd = xyes) # # LB_PATH_DMU -# Support for --with-dmu # AC_DEFUN([LB_PATH_DMU], -[AC_MSG_CHECKING([whether to enable DMU]) -AC_ARG_WITH([dmu], - AC_HELP_STRING([--with-dmu=path], - [set path to a DMU tree (default is included zfs-lustre)]), - [ - DMU_SRC=$with_dmu - ], - [ - DMU_SRC="$PWD/zfs-lustre" - ]) -if test x$enable_uoss = xyes -a x$enable_posix_osd != xyes; then +[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$linux25$enable_server = xyesyes; 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) - AC_MSG_RESULT([yes]) - LB_CHECK_FILE([$DMU_SRC/src/.patched],[],[ - AC_MSG_ERROR([A complete (patched) DMU tree was not found.]) - ]) - AC_CONFIG_SUBDIRS(zfs-lustre) - dmu_osd='yes' -else - AC_MSG_RESULT([no]) + 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(DMU_SRC) +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) ]) # @@ -602,12 +759,19 @@ if test $ac_cv_sizeof_unsigned_long_long != 8 ; then AC_MSG_ERROR([** we assume that sizeof(long long) == 8. Tell phil@clusterfs.com]) fi +if test $target_cpu == "powerpc64"; then + AC_MSG_WARN([set compiler with -m64]) + CFLAGS="$CFLAGS -m64" + CC="$CC -m64" +fi + CPPFLAGS="-I\$(top_builddir)/$LIBCFS_INCLUDE_DIR -I\$(top_srcdir)/$LIBCFS_INCLUDE_DIR-I\$(top_builddir)/lnet/include -I\$(top_srcdir)/lnet/include -I\$(top_builddir)/lustre/include -I\$(top_srcdir)/lustre/include $CPPFLAGS" LLCPPFLAGS="-D__arch_lib__ -D_LARGEFILE64_SOURCE=1" AC_SUBST(LLCPPFLAGS) -LLCFLAGS="-g -Wall -fPIC" +# Add _GNU_SOURCE for strnlen on linux +LLCFLAGS="-g -Wall -fPIC -D_GNU_SOURCE" AC_SUBST(LLCFLAGS) # everyone builds against lnet and lustre @@ -686,25 +850,33 @@ LB_PROG_CC LB_UOSS LB_POSIX_OSD -LB_PATH_DMU LB_CONFIG_DOCS LB_CONFIG_UTILS LB_CONFIG_TESTS LC_CONFIG_CLIENT_SERVER -# three macros for cmd3 -LC_CONFIG_SPLIT -LC_CONFIG_LDISKFS -LIBCFS_CONFIG_CDEBUG +# two macros for cmd3 +m4_ifdef([LC_CONFIG_SPLIT], [LC_CONFIG_SPLIT]) +LN_CONFIG_CDEBUG +LC_QUOTA LB_CONFIG_MODULES +LN_CONFIG_USERSPACE + +LB_PATH_DMU LB_PATH_LIBSYSIO LB_PATH_SNMP LB_PATH_LDISKFS LB_PATH_LUSTREIOKIT +LB_DEFINE_E2FSPROGS_NAMES + +LB_DEFINE_E2FSPROGS_NAMES + +LB_DEFINE_E2FSPROGS_NAMES + LC_CONFIG_LIBLUSTRE LIBCFS_CONFIGURE LN_CONFIGURE