1 # Copyright (C) 2001-2003 Cluster File Systems, Inc.
3 # This code is issued under the GNU General Public License.
4 # See the file COPYING in this distribution
8 AM_INIT_AUTOMAKE(lustre, HEAD)
11 # Four main targets: lustre kernel modules, utilities, tests, and liblustre
12 AC_MSG_CHECKING([whether to build kernel modules])
13 AC_ARG_ENABLE([modules],
14 AC_HELP_STRING([--disable-modules],
15 [disable building of Lustre kernel modules]),
16 [],[enable_modules='yes'])
17 AC_MSG_RESULT([$enable_modules])
18 AM_CONDITIONAL(MODULES, test x$enable_modules = xyes)
20 AC_MSG_CHECKING([whether to build utilities])
21 AC_ARG_ENABLE([utils],
22 AC_HELP_STRING([--disable-utils],
23 [disable building of Lustre utility programs]),
24 [],[enable_utils='yes'])
25 AC_MSG_RESULT([$enable_utils])
27 AC_MSG_CHECKING([whether to build Lustre tests])
28 AC_ARG_ENABLE([tests],
29 AC_HELP_STRING([--disable-tests],
30 [disable building of Lustre tests]),
31 [],[enable_tests='yes'])
32 AC_MSG_RESULT([$enable_tests])
34 # specify wether to build doc or not
35 AC_MSG_CHECKING([whether to build docs])
37 AC_HELP_STRING([--disable-doc],
38 [skip creation of pdf documentation]),
40 if test x$enable_doc = xyes ; then
49 AC_MSG_RESULT([$enable_doc])
50 AM_CONDITIONAL(DOC, test x$ENABLE_DOC = x1)
53 # default backing fs is ext3
56 # LLNL patches their ext3 and calls it extN
57 AC_MSG_CHECKING([whether to use extN])
59 AC_HELP_STRING([--enable-extN],
60 [use extN instead of ext3 for lustre backend]),
61 [BACKINGFS='extN'],[enable_extN='no'])
62 AC_MSG_RESULT([$enable_extN])
63 AM_CONDITIONAL(EXTN, test x$enable_extN = xyes)
66 AC_MSG_CHECKING([whether to enable ldiskfs])
67 AC_ARG_ENABLE([ldiskfs],
68 AC_HELP_STRING([--enable-ldiskfs],
69 [use ldiskfs for the Lustre backing FS]),
70 [BACKINGFS='ldiskfs'],[enable_ldiskfs='no'])
71 AC_MSG_RESULT([$enable_ldiskfs])
72 AM_CONDITIONAL(LDISKFS, test x$enable_ldiskfs = xyes)
74 AC_MSG_CHECKING([which backing filesystem to use])
75 AC_MSG_RESULT([$BACKINGFS])
78 # the pinger is temporary, until we have the recovery node in place
79 AC_MSG_CHECKING([whether to enable pinger support])
80 AC_ARG_ENABLE([pinger],
81 AC_HELP_STRING([--disable-pinger],
82 [disable recovery pinger support]),
83 [],[enable_pinger='yes'])
84 AC_MSG_RESULT([$enable_pinger])
85 if test x$enable_pinger != xno ; then
86 AC_DEFINE(ENABLE_PINGER, 1, Use the Pinger)
89 AC_MSG_CHECKING([maximum OBD ioctl size])
90 AC_ARG_WITH([obd-buffer-size],
91 AC_HELP_STRING([--with-obd-buffer-size=[size]],
92 [set lctl ioctl maximum bytes (default=8192)]),
94 OBD_BUFFER_SIZE=$with_obd_buffer_size
98 AC_MSG_RESULT([$OBD_BUFFER_SIZE bytes])
99 AC_DEFINE_UNQUOTED(OBD_MAX_IOCTL_BUFFER, $OBD_BUFFER_SIZE, [IOCTL Buffer Size])
101 # specify location of libsysio tree
102 AC_MSG_CHECKING([location of libsysio])
104 AC_HELP_STRING([--with-sysio=[path]],
105 [set path to libsysio source (default=../libsysio)]),
110 SYSIO='$(top_srcdir)/../libsysio'
111 SYSIO_PATH='../libsysio'
113 AC_MSG_RESULT([$SYSIO_PATH])
115 AC_MSG_CHECKING([libsysio exists and ready for use])
117 if test -r $SYSIO_PATH/src/libsysio.a; then
126 AC_MSG_CHECKING([whether to build Lustre library])
127 AC_ARG_ENABLE([liblustre],
128 AC_HELP_STRING([--disable-liblustre],
129 [disable building of Lustre library]),
130 [],[enable_liblustre='yes'])
132 if test x$valid_libsysio != xyes; then
134 AC_MSG_RESULT([$enable_liblustre])
136 echo "Nevertheless liblustre was enabled for build, \
137 no valid libsysio is found and liblustre building will be \
138 disabled. Make sure that valid libsysio exists and built \
141 AC_MSG_RESULT([$enable_liblustre])
144 AM_CONDITIONAL(LIBLUSTRE, test x$enable_liblustre = xyes)
147 AC_MSG_CHECKING([whether to build mpitests])
148 AC_ARG_ENABLE([mpitests],
149 AC_HELP_STRING([--enable-mpitests],
150 [build liblustre mpi tests]),
151 [],[enable_mpitests=no])
152 AC_MSG_RESULT([$enable_mpitests])
153 AM_CONDITIONAL(MPITESTS, test x$enable_mpitests = xyes, Build MPI Tests)
156 AC_MSG_CHECKING([whether to enable snapfs support])
157 AC_ARG_ENABLE([snapfs],
158 AC_HELP_STRING([--enable-snapfs],
160 [],[enable_snapfs='no'])
161 AC_MSG_RESULT([$enable_snapfs])
162 AM_CONDITIONAL(SNAPFS, test x$enable_snapfs = xyes)
165 AC_MSG_CHECKING([whether to enable smfs support])
166 AC_ARG_ENABLE([smfs],
167 AC_HELP_STRING([--enable-smfs],
169 [],[enable_smfs='no'])
170 AC_MSG_RESULT([$enable_smfs])
171 AM_CONDITIONAL(SMFS, test x$enable_smfs = xyes)
173 sinclude(portals/build.m4)
174 sinclude(portals/archdep.m4)
176 if test x$enable_inkernel = xyes ; then
177 find . -name Makefile.mk | sed 's/.mk$//' | xargs -n 1 \
178 sh -e -x -c '(cp -f $0.mk $0.in)'
181 # we need to pass a full path here for kernel makefiles
182 INCLUDE_RULES="include $PWD/Rules"
183 AC_SUBST(INCLUDE_RULES)
185 # ptlrpc kernel build requires this
189 # cray portals turns these off
190 AM_CONDITIONAL(UTILS, test x$enable_utils = xyes)
191 AM_CONDITIONAL(TESTS, test x$enable_tests = xyes)
193 AM_CONFIG_HEADER(include/config.h)
195 # files that are in AC_OUTPUT but need to be executable
196 AC_CONFIG_COMMANDS([chmod-lconf],[chmod +x utils/lconf])
206 include/linux/Makefile
207 include/lustre/Makefile
212 liblustre/tests/Makefile
224 obdclass/autoMakefile
228 obdfilter/autoMakefile
236 portals/knals/Makefile
237 portals/knals/gmnal/Makefile
238 portals/knals/gmnal/autoMakefile
239 portals/knals/ibnal/Makefile
240 portals/knals/ibnal/autoMakefile
241 portals/knals/qswnal/Makefile
242 portals/knals/qswnal/autoMakefile
243 portals/knals/scimacnal/Makefile
244 portals/knals/scimacnal/autoMakefile
245 portals/knals/socknal/Makefile
246 portals/knals/socknal/autoMakefile
247 portals/libcfs/Makefile
248 portals/libcfs/autoMakefile
249 portals/portals/Makefile
250 portals/portals/autoMakefile
251 portals/router/Makefile
252 portals/router/autoMakefile
253 portals/tests/Makefile
254 portals/tests/autoMakefile
255 portals/unals/Makefile
256 portals/utils/Makefile
263 scripts/version_tag.pl
268 snapfs/utils/Makefile
270 utils/Lustre/Makefile