X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fconfigure.in;h=3373fd0e05ae7a61d9e1d3222e70aad2079b23f3;hp=50f82c8e0e60130b80894ff3121b11a045f70d34;hb=c95a014885978a091ebff8b31d07a06b54f02611;hpb=a2a0746305449dbd925879b14dc2c0d6040bb8bf diff --git a/lustre/configure.in b/lustre/configure.in index 50f82c8..3373fd0 100644 --- a/lustre/configure.in +++ b/lustre/configure.in @@ -5,30 +5,147 @@ AC_INIT AC_CANONICAL_SYSTEM +AM_INIT_AUTOMAKE(lustre, HEAD) +# AM_MAINTAINER_MODE -# Automake variables. Steal the version number from lustre.spec.in. -AM_INIT_AUTOMAKE(lustre, builtin([esyscmd], [sed -ne '/^%define version /{ s/.*version //; p; q; }' scripts/lustre.spec.in])) -#AM_MAINTAINER_MODE +# Four main targets: lustre kernel modules, utilities, tests, and liblustre +AC_MSG_CHECKING([whether to build kernel modules]) +AC_ARG_ENABLE([modules], + AC_HELP_STRING([--disable-modules], + [disable building of Lustre kernel modules]), + [],[enable_modules='yes']) +AC_MSG_RESULT([$enable_modules]) +AM_CONDITIONAL(MODULES, test x$enable_modules = xyes) + +AC_MSG_CHECKING([whether to build Lustre library]) +AC_ARG_ENABLE([liblustre], + AC_HELP_STRING([--disable-liblustre], + [disable building of Lustre library]), + [],[enable_liblustre='yes']) +AC_MSG_RESULT([$enable_liblustre]) +AM_CONDITIONAL(LIBLUSTRE, test x$enable_liblustre = xyes) + +AC_MSG_CHECKING([whether to build utilities]) +AC_ARG_ENABLE([utils], + AC_HELP_STRING([--disable-utils], + [disable building of Lustre utility programs]), + [],[enable_utils='yes']) +AC_MSG_RESULT([$enable_utils]) + +AC_MSG_CHECKING([whether to build Lustre tests]) +AC_ARG_ENABLE([tests], + AC_HELP_STRING([--disable-tests], + [disable building of Lustre tests]), + [],[enable_tests='yes']) +AC_MSG_RESULT([$enable_tests]) + +# specify wether to build doc or not +AC_MSG_CHECKING([whether to build docs]) +AC_ARG_ENABLE(doc, + AC_HELP_STRING([--disable-doc], + [skip creation of pdf documentation]), + [ + if test x$enable_doc = xyes ; then + ENABLE_DOC=1 + else + ENABLE_DOC=0 + fi + ],[ + ENABLE_DOC=0 + enable_doc='no' + ]) +AC_MSG_RESULT([$enable_doc]) +AM_CONDITIONAL(DOC, test x$ENABLE_DOC = x1) +AC_SUBST(ENABLE_DOC) + +# default backing fs is ext3 +BACKINGFS='ext3' # LLNL patches their ext3 and calls it extN -AC_ARG_ENABLE(extN, [ --enable-extN use extN instead of ext3 for lustre backend]) +AC_MSG_CHECKING([whether to use extN]) +AC_ARG_ENABLE([extN], + AC_HELP_STRING([--enable-extN], + [use extN instead of ext3 for lustre backend]), + [BACKINGFS='extN'],[enable_extN='no']) +AC_MSG_RESULT([$enable_extN]) AM_CONDITIONAL(EXTN, test x$enable_extN = xyes) +# SuSE gets ldiskfs +AC_MSG_CHECKING([whether to enable ldiskfs]) +AC_ARG_ENABLE([ldiskfs], + AC_HELP_STRING([--enable-ldiskfs], + [use ldiskfs for the Lustre backing FS]), + [BACKINGFS='ldiskfs'],[enable_ldiskfs='no']) +AC_MSG_RESULT([$enable_ldiskfs]) +AM_CONDITIONAL(LDISKFS, test x$enable_ldiskfs = xyes) + +AC_MSG_CHECKING([which backing filesystem to use]) +AC_MSG_RESULT([$BACKINGFS]) +AC_SUBST(BACKINGFS) + # the pinger is temporary, until we have the recovery node in place -AC_ARG_ENABLE(pinger, [ --enable-pinger recovery pinger support]) -if test x$enable_pinger = xyes ; then +AC_MSG_CHECKING([whether to enable pinger support]) +AC_ARG_ENABLE([pinger], + AC_HELP_STRING([--disable-pinger], + [disable recovery pinger support]), + [],[enable_pinger='yes']) +AC_MSG_RESULT([$enable_pinger]) +if test x$enable_pinger != xno ; then AC_DEFINE(ENABLE_PINGER, 1, Use the Pinger) fi -# very experimental orphan support -AC_ARG_ENABLE(orphans, [ --enable-orphans very experimental orphan recovery support]) -if test x$enable_orphans = xyes ; then - AC_DEFINE(ENABLE_ORPHANS, 1, Compile with orphan support) -fi - -AC_ARG_WITH(obd-buffer-size, [ --with-obd-buffer-size=[size] set lctl ioctl maximum (default=8K)],OBD_BUFFER_SIZE=$with_obd_buffer_size,OBD_BUFFER_SIZE=8192) +AC_MSG_CHECKING([maximum OBD ioctl size]) +AC_ARG_WITH([obd-buffer-size], + AC_HELP_STRING([--with-obd-buffer-size=[size]], + [set lctl ioctl maximum bytes (default=8192)]), + [ + OBD_BUFFER_SIZE=$with_obd_buffer_size + ],[ + OBD_BUFFER_SIZE=8192 + ]) +AC_MSG_RESULT([$OBD_BUFFER_SIZE bytes]) AC_DEFINE_UNQUOTED(OBD_MAX_IOCTL_BUFFER, $OBD_BUFFER_SIZE, [IOCTL Buffer Size]) +# specify location of libsysio tree +AC_MSG_CHECKING([location of libsysio]) +AC_ARG_WITH([sysio], + AC_HELP_STRING([--with-sysio=[path]], + [set path to libsysio source (default=../libsysio)]), + [ + SYSIO=$with_sysio + SYSIO_PATH=$SYSIO + ],[ + SYSIO='$(top_srcdir)/../libsysio' + SYSIO_PATH='../libsysio' + ]) +AC_MSG_RESULT([$SYSIO_PATH]) + +AC_CHECK_FILE([$SYSIO_PATH/src/libsysio.a],[], + [ + if test x$enable_liblustre = xyes ; then + AC_MSG_ERROR([A built libsysio tree is required for building liblustre.]) + fi + ]) +AC_SUBST(SYSIO) + +#build mpi-tests +AC_MSG_CHECKING([whether to build mpitests]) +AC_ARG_ENABLE([mpitests], + AC_HELP_STRING([--enable-mpitests], + [build liblustre mpi tests]), + [],[enable_mpitests=no]) +AC_MSG_RESULT([$enable_mpitests]) +AM_CONDITIONAL(MPITESTS, test x$enable_mpitests = xyes, Build MPI Tests) + +# snap compilation +AC_MSG_CHECKING([whether to enable snapfs support]) +AC_ARG_ENABLE([snapfs], + AC_HELP_STRING([--enable-snapfs], + [build snapfs]), + [],[enable_snapfs='no']) +AC_MSG_RESULT([$enable_snapfs]) +AM_CONDITIONAL(SNAPFS, test x$enable_snapfs = xyes) + sinclude(portals/build.m4) sinclude(portals/archdep.m4) @@ -37,18 +154,97 @@ if test x$enable_inkernel = xyes ; then sh -e -x -c '(cp -f $0.mk $0.in)' fi -AM_CONFIG_HEADER(portals/include/config.h) - -AC_OUTPUT([Makefile portals/Makefile portals/Kernelenv \ - portals/libcfs/Makefile portals/portals/Makefile \ - portals/unals/Makefile portals/knals/Makefile \ - portals/router/Makefile portals/knals/socknal/Makefile \ - portals/knals/gmnal/Makefile portals/knals/qswnal/Makefile \ - portals/knals/scimacnal/Makefile portals/knals/toenal/Makefile \ - portals/utils/Makefile portals/tests/Makefile portals/doc/Makefile \ - ldlm/Makefile obdecho/Makefile ptlrpc/Makefile liblustre/Makefile \ - lov/Makefile osc/Makefile mdc/Makefile mds/Makefile ost/Makefile \ - cobd/Makefile ptlbd/Makefile conf/Makefile tests/Makefile \ - utils/Makefile utils/Lustre/Makefile obdfilter/Makefile \ - obdclass/Makefile llite/Makefile doc/Makefile scripts/Makefile \ - scripts/lustre.spec]) +# we need to pass a full path here for kernel makefiles +INCLUDE_RULES="include $PWD/Rules" +AC_SUBST(INCLUDE_RULES) + +# ptlrpc kernel build requires this +LUSTRE="$PWD" +AC_SUBST(LUSTRE) + +# +AM_CONDITIONAL(UTILS, test x$enable_utils = xyes) +AM_CONDITIONAL(TESTS, test x$enable_tests = xyes) + +AM_CONFIG_HEADER(include/config.h) + +AC_OUTPUT([ +Makefile +Rules +autoMakefile +cobd/Makefile +cobd/autoMakefile +conf/Makefile +doc/Makefile +include/Makefile +include/linux/Makefile +include/lustre/Makefile +ldiskfs/Makefile +ldiskfs/autoMakefile +ldlm/Makefile +liblustre/Makefile +liblustre/tests/Makefile +llite/Makefile +llite/autoMakefile +lov/Makefile +lov/autoMakefile +lmv/Makefile +lmv/autoMakefile +lvfs/Makefile +lvfs/autoMakefile +mdc/Makefile +mdc/autoMakefile +mds/Makefile +mds/autoMakefile +obdclass/Makefile +obdclass/autoMakefile +obdecho/Makefile +obdecho/autoMakefile +obdfilter/Makefile +obdfilter/autoMakefile +osc/Makefile +osc/autoMakefile +ost/Makefile +ost/autoMakefile +portals/Kernelenv +portals/Makefile +portals/autoMakefile +portals/doc/Makefile +portals/knals/Makefile +portals/knals/autoMakefile +portals/knals/gmnal/Makefile +portals/knals/gmnal/autoMakefile +portals/knals/ibnal/Makefile +portals/knals/ibnal/autoMakefile +portals/knals/qswnal/Makefile +portals/knals/qswnal/autoMakefile +portals/knals/socknal/Makefile +portals/knals/socknal/autoMakefile +portals/libcfs/Makefile +portals/libcfs/autoMakefile +portals/portals/Makefile +portals/portals/autoMakefile +portals/router/Makefile +portals/router/autoMakefile +portals/tests/Makefile +portals/tests/autoMakefile +portals/unals/Makefile +portals/utils/Makefile +ptlbd/Makefile +ptlbd/autoMakefile +ptlrpc/Makefile +ptlrpc/autoMakefile +scripts/Makefile +scripts/lustre.spec +scripts/version_tag.pl +smfs/Makefile +smfs/autoMakefile +snapfs/Makefile +snapfs/autoMakefile +snapfs/utils/Makefile +cmobd/Makefile +cmobd/autoMakefile +tests/Makefile +utils/Lustre/Makefile +utils/Makefile +])