# Copyright (C) 2001-2003 Cluster File Systems, Inc. # # This code is issued under the GNU General Public License. # See the file COPYING in this distribution AC_INIT AC_CANONICAL_SYSTEM AM_INIT_AUTOMAKE(lustre, b1_4) # 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_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_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 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) if test x$enable_snapfs = xyes ; then AC_DEFINE(CONFIG_SNAPFS, 1, [enable snap support]) fi sinclude(portals/build.m4) sinclude(portals/archdep.m4) if test x$enable_inkernel = xyes ; then find . -name Makefile.mk | sed 's/.mk$//' | xargs -n 1 \ sh -e -x -c '(cp -f $0.mk $0.in)' fi # 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 cmobd/Makefile cmobd/autoMakefile tests/Makefile utils/Lustre/Makefile utils/Makefile ])