Whamcloud - gitweb
a3acf7041922c608983f98969cbb2c0eae8d01bb
[fs/lustre-release.git] / build / autoconf / lustre-build.m4
1 #
2 # LB_CHECK_VERSION
3 #
4 # Verify that LUSTRE_VERSION was defined properly
5 #
6 AC_DEFUN([LB_CHECK_VERSION],
7 [if test "LUSTRE_VERSION" = "LUSTRE""_VERSION" ; then
8         AC_MSG_ERROR([This script was not built with a version number.])
9 fi
10 ])
11
12 #
13 # LB_CANONICAL_SYSTEM
14 #
15 # fixup $target_os for use in other places
16 #
17 AC_DEFUN([LB_CANONICAL_SYSTEM],
18 [case $target_os in
19         linux*)
20                 lb_target_os="linux"
21                 ;;
22         darwin*)
23                 lb_target_os="darwin"
24                 ;;
25         solaris2.11*)
26                 lb_target_os="SunOS"
27                 ;;esac
28 AC_SUBST(lb_target_os)
29 ])
30
31 #
32 # LB_CHECK_FILE
33 #
34 # Check for file existance even when cross compiling
35 #
36 AC_DEFUN([LB_CHECK_FILE],
37 [AS_VAR_PUSHDEF([lb_File], [lb_cv_file_$1])dnl
38 AC_CACHE_CHECK([for $1], lb_File,
39 [if test -r "$1"; then
40   AS_VAR_SET(lb_File, yes)
41 else
42   AS_VAR_SET(lb_File, no)
43 fi])
44 AS_IF([test AS_VAR_GET(lb_File) = yes], [$2], [$3])[]dnl
45 AS_VAR_POPDEF([lb_File])dnl
46 ])# LB_CHECK_FILE
47
48 #
49 # LB_CHECK_FILES
50 #
51 # LB_CHECK_FILE over multiple files
52 #
53 AC_DEFUN([LB_CHECK_FILES],
54 [AC_FOREACH([AC_FILE_NAME], [$1],
55   [LB_CHECK_FILE(AC_FILE_NAME,
56                  [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]AC_FILE_NAME), 1,
57                                     [Define to 1 if you have the
58                                      file `]AC_File['.])
59 $2],
60                  [$3])])])
61
62 #
63 # LB_ARG_LIBS_INCLUDES
64 #
65 # support for --with-foo, --with-foo-includes, and --with-foo-libs in
66 # a single magical macro
67 #
68 AC_DEFUN([LB_ARG_LIBS_INCLUDES],
69 [lb_pathvar="m4_bpatsubst([$2], -, _)"
70 AC_MSG_CHECKING([for $1])
71 AC_ARG_WITH([$2],
72         AC_HELP_STRING([--with-$2=path],
73                 [path to $1]),
74         [],[withval=$4])
75
76 if test x$withval = xyes ; then
77         eval "$lb_pathvar='$3'"
78 else
79         eval "$lb_pathvar='$withval'"
80 fi
81 AC_MSG_RESULT([${!lb_pathvar:-no}])
82
83 if test x${!lb_pathvar} != x -a x${!lb_pathvar} != xno ; then
84         AC_MSG_CHECKING([for $1 includes])
85         AC_ARG_WITH([$2-includes],
86                 AC_HELP_STRING([--with-$2-includes=path],
87                         [path to $1 includes]),
88                 [],[withval='yes'])
89
90         lb_includevar="${lb_pathvar}_includes"
91         if test x$withval = xyes ; then
92                 eval "${lb_includevar}='${!lb_pathvar}/include'"
93         else
94                 eval "${lb_includevar}='$withval'"
95         fi
96         AC_MSG_RESULT([${!lb_includevar}])
97
98         AC_MSG_CHECKING([for $1 libs])
99         AC_ARG_WITH([$2-libs],
100                 AC_HELP_STRING([--with-$2-libs=path],
101                         [path to $1 libs]),
102                 [],[withval='yes'])
103
104         lb_libvar="${lb_pathvar}_libs"
105         if test x$withval = xyes ; then
106                 eval "${lb_libvar}='${!lb_pathvar}/lib'"
107         else
108                 eval "${lb_libvar}='$withval'"
109         fi
110         AC_MSG_RESULT([${!lb_libvar}])
111 fi
112 ])
113 ])
114
115 #
116 # LB_PATH_LIBSYSIO
117 #
118 # Handle internal/external libsysio
119 #
120 AC_DEFUN([LB_PATH_LIBSYSIO],
121 [AC_ARG_WITH([sysio],
122         AC_HELP_STRING([--with-sysio=path],
123                         [set path to libsysio source (default is included libsysio)]),
124         [],[
125                 case $lb_target_os in
126                         linux)
127                                 with_sysio='yes'
128                                 ;;
129                         *)
130                                 with_sysio='no'
131                                 ;;
132                 esac
133         ])
134 AC_MSG_CHECKING([location of libsysio])
135 enable_sysio="$with_sysio"
136 case x$with_sysio in
137         xyes)
138                 AC_MSG_RESULT([internal])
139                 LB_CHECK_FILE([$srcdir/libsysio/src/rmdir.c],[],[
140                         AC_MSG_ERROR([A complete internal libsysio was not found.])
141                 ])
142                 LIBSYSIO_SUBDIR="libsysio"
143                 SYSIO="$PWD/libsysio"
144                 ;;
145         xno)
146                 AC_MSG_RESULT([disabled])
147                 ;;
148         *)
149                 AC_MSG_RESULT([$with_sysio])
150                 LB_CHECK_FILE([$with_sysio/lib/libsysio.a],[],[
151                         AC_MSG_ERROR([A complete (built) external libsysio was not found.])
152                 ])
153                 SYSIO=$with_sysio
154                 with_sysio="yes"
155                 ;;
156 esac
157
158 # We have to configure even if we don't build here for make dist to work
159 AC_CONFIG_SUBDIRS(libsysio)
160 ])
161
162 #
163 # LB_PATH_LDISKFS
164 #
165 # Handle internal/external ldiskfs
166 #
167 AC_DEFUN([LB_PATH_LDISKFS],
168 [AC_ARG_WITH([ldiskfs],
169         AC_HELP_STRING([--with-ldiskfs=path],
170                         [set path to ldiskfs source (default is included ldiskfs)]),
171         [],[
172                 if test x$linux25$enable_server = xyesyes ; then
173                         with_ldiskfs=yes
174                 else
175                         with_ldiskfs=no
176                 fi
177         ])
178 AC_MSG_CHECKING([location of ldiskfs])
179 case x$with_ldiskfs in
180         xyes)
181                 AC_MSG_RESULT([internal])
182                 LB_CHECK_FILE([$srcdir/ldiskfs/lustre-ldiskfs.spec.in],[],[
183                         AC_MSG_ERROR([A complete internal ldiskfs was not found.])
184                 ])
185                 LDISKFS_SUBDIR="ldiskfs"
186                 LDISKFS_DIR="$PWD/ldiskfs"
187                 ;;
188         xno)
189                 AC_MSG_RESULT([disabled])
190                 ;;
191         *)
192                 AC_MSG_RESULT([$with_ldiskfs])
193                 LB_CHECK_FILE([$with_ldiskfs/ldiskfs/linux/ldiskfs_fs.h],[],[
194                         AC_MSG_ERROR([A complete (built) external ldiskfs was not found.])
195                 ])
196                 LDISKFS_DIR=$with_ldiskfs
197                 ;;
198 esac
199 AC_SUBST(LDISKFS_DIR)
200 AC_SUBST(LDISKFS_SUBDIR)
201
202 # We have to configure even if we don't build here for make dist to work
203 AC_CONFIG_SUBDIRS(ldiskfs)
204 ])
205
206 #
207 # LB_DEFINE_LDISKFS_OPTIONS
208 #
209 # Enable config options related to ldiskfs.  These are used both by ldiskfs
210 # and lvfs (which includes ldiskfs headers.)
211 #
212 AC_DEFUN([LB_DEFINE_LDISKFS_OPTIONS],
213 [
214         AC_DEFINE(CONFIG_LDISKFS_FS_MODULE, 1, [build ldiskfs as a module])
215         AC_DEFINE(CONFIG_LDISKFS_FS_XATTR, 1, [enable extended attributes for ldiskfs])
216         AC_DEFINE(CONFIG_LDISKFS_FS_POSIX_ACL, 1, [enable posix acls for ldiskfs])
217         AC_DEFINE(CONFIG_LDISKFS_FS_SECURITY, 1, [enable fs security for ldiskfs])
218 ])
219
220 #
221 # LB_CONFIG_CRAY_XT3
222 #
223 # Enable Cray XT3 features
224 #
225 AC_DEFUN([LB_CONFIG_CRAY_XT3],
226 [AC_MSG_CHECKING([whether to build Cray XT3 features])
227 AC_ARG_ENABLE([cray_xt3],
228         AC_HELP_STRING([--enable-cray-xt3],
229                         [enable building of Cray XT3 features]),
230         [enable_cray_xt3='yes'],[enable_cray_xt3='no'])
231 AC_MSG_RESULT([$enable_cray_xt3])
232 if test x$enable_cray_xt3 != xno; then
233         AC_DEFINE(CRAY_XT3, 1, Enable Cray XT3 Features)
234 fi
235 ])
236
237 #
238 # LB_CONFIG_BGL
239 #
240 # Enable BGL features
241 #
242 AC_DEFUN([LB_CONFIG_BGL],
243 [AC_MSG_CHECKING([whether to build BGL features])
244 AC_ARG_ENABLE([bgl],
245         AC_HELP_STRING([--enable-bgl],
246                         [enable building of BGL features]),
247         [enable_bgl='yes'],[enable_bgl='no'])
248 AC_MSG_RESULT([$enable_bgl])
249 if test x$enable_bgl != xno; then
250         AC_DEFINE(BGL_SUPPORT, 1, Enable BGL Features)
251         enable_doc='no'
252         enable_tests='no'
253         enable_server='no'
254         enable_liblustre='no'
255         enable_libreadline='no'
256 fi
257 ])
258
259
260 #
261 # LB_PATH_DMU
262 # Support for --with-dmu
263 #
264 AC_DEFUN([LB_PATH_DMU],
265 [AC_ARG_WITH([dmu],
266         AC_HELP_STRING([--with-dmu=path],
267                        [set path to a built dmu]),
268         [
269                 DMU_SRC=$with_dmu
270                 enable_dmu_osd=yes
271         ],
272         [
273                 enable_dmu_osd=no
274                 DMU_SRC=""
275         ])
276 AC_MSG_RESULT([$dmu])
277 if test x$enable_dmu_osd != xno; then
278         AC_DEFINE(ENABLE_DMU, 1, Enable DMU OSD)
279         AC_DEFINE(DMU_OSD, 1, Enable DMU OSD)
280         AC_DEFINE(UOSS_SUPPORT, 1, Enable user-level OSS)
281         AC_DEFINE(LUSTRE_ULEVEL_MT, 1, Multi-threaded user-level lustre port)
282         enable_uoss='yes'
283         enable_ulevel_mt='yes'
284         enable_modules='no'
285         enable_client='no'
286         enable_tests='no'
287         enable_liblustre='no'
288         with_ldiskfs=no
289 fi
290 AC_SUBST(DMU_SRC)
291 ])
292
293 #
294 # Support for --enable-posix-dmu
295 #
296 AC_DEFUN([LB_POSIX_OSD],
297 [AC_MSG_CHECKING([whether to posix osd])
298 AC_ARG_ENABLE([posix-osd],
299         AC_HELP_STRING([--enable-posix-osd],
300                         [enable using of posix osd]),
301         [enable_posix_osd='yes'],[enable_posix_osd='no'])
302 AC_MSG_RESULT([$enable_posix_osd])
303 if test x$enable_posix_osd != xno; then
304         AC_DEFINE(POSIX_OSD, 1, Enable POSIX OSD)
305         AC_DEFINE(UOSS_SUPPORT, 1, Enable user-level OSS)
306         AC_DEFINE(LUSTRE_ULEVEL_MT, 1, Multi-threaded user-level lustre port)
307         enable_uoss='yes'
308         enable_ulevel_mt='yes'
309         enable_modules='no'
310         enable_client='no'
311         enable_tests='no'
312         enable_liblustre='no'
313         with_ldiskfs=no
314 fi
315 ])
316
317 #
318 # LB_PATH_SNMP
319 #
320 # check for in-tree snmp support
321 #
322 AC_DEFUN([LB_PATH_SNMP],
323 [LB_CHECK_FILE([$srcdir/snmp/lustre-snmp.c],[SNMP_DIST_SUBDIR="snmp"])
324 AC_SUBST(SNMP_DIST_SUBDIR)
325 AC_SUBST(SNMP_SUBDIR)
326 ])
327
328 #
329 # LB_CONFIG_MODULES
330 #
331 # Build kernel modules?
332 #
333 AC_DEFUN([LB_CONFIG_MODULES],
334 [AC_MSG_CHECKING([whether to build kernel modules])
335 AC_ARG_ENABLE([modules],
336         AC_HELP_STRING([--disable-modules],
337                         [disable building of Lustre kernel modules]),
338         [],[
339                 LC_TARGET_SUPPORTED([
340                         enable_modules='yes'
341                 ],[
342                         enable_modules='no'
343                 ])
344         ])
345 AC_MSG_RESULT([$enable_modules ($target_os)])
346
347 if test x$enable_modules = xyes ; then
348         case $target_os in
349                 linux*)
350                         LB_PROG_LINUX
351                         LN_PROG_LINUX
352                         LC_PROG_LINUX
353                         ;;
354                 darwin*)
355                         LB_PROG_DARWIN
356                         ;;
357                 *)
358                         # This is strange - Lustre supports a target we don't
359                         AC_MSG_ERROR([Modules are not supported on $target_os])
360                         ;;
361         esac
362 fi
363 ])
364
365 #
366 # LB_CONFIG_UTILS
367 #
368 # Build utils?
369 #
370 AC_DEFUN([LB_CONFIG_UTILS],
371 [AC_MSG_CHECKING([whether to build utilities])
372 AC_ARG_ENABLE([utils],
373         AC_HELP_STRING([--disable-utils],
374                         [disable building of Lustre utility programs]),
375         [],[enable_utils='yes'])
376 AC_MSG_RESULT([$enable_utils])
377 if test x$enable_utils = xyes ; then 
378         LB_CONFIG_INIT_SCRIPTS
379 fi
380 ])
381
382 #
383 # LB_CONFIG_TESTS
384 #
385 # Build tests?
386 #
387 AC_DEFUN([LB_CONFIG_TESTS],
388 [AC_MSG_CHECKING([whether to build Lustre tests])
389 AC_ARG_ENABLE([tests],
390         AC_HELP_STRING([--disable-tests],
391                         [disable building of Lustre tests]),
392         [],
393         [
394                 enable_tests='yes'
395         ])
396 AC_MSG_RESULT([$enable_tests])
397 ])
398
399 #
400 # LB_CONFIG_DOCS
401 #
402 # Build docs?
403 #
404 AC_DEFUN([LB_CONFIG_DOCS],
405 [AC_MSG_CHECKING([whether to build docs])
406 AC_ARG_ENABLE(doc,
407         AC_HELP_STRING([--disable-doc],
408                         [skip creation of pdf documentation]),
409         [
410                 if test x$enable_doc = xyes ; then
411                     ENABLE_DOC=1           
412                 else
413                     ENABLE_DOC=0
414                 fi
415         ],[
416                 ENABLE_DOC=0
417                 enable_doc='no'
418         ])
419 AC_MSG_RESULT([$enable_doc])
420 AC_SUBST(ENABLE_DOC)
421 ])
422
423 #
424 # LB_CONFIG_INIT_SCRIPTS
425 #
426 # our init scripts only work on red hat linux
427 #
428 AC_DEFUN([LB_CONFIG_INIT_SCRIPTS],
429 [ENABLE_INIT_SCRIPTS=0
430 if test x$enable_utils = xyes ; then
431         AC_MSG_CHECKING([whether to install init scripts])
432         # our scripts only work on red hat systems
433         if test -f /etc/init.d/functions -a -f /etc/sysconfig/network ; then
434                 ENABLE_INIT_SCRIPTS=1
435                 AC_MSG_RESULT([yes])
436         else
437                 AC_MSG_RESULT([no])
438         fi
439 fi
440 AC_SUBST(ENABLE_INIT_SCRIPTS)
441 ])
442
443 #
444 # LB_CONFIG_HEADERS
445 #
446 # add -include config.h
447 #
448 AC_DEFUN([LB_CONFIG_HEADERS],
449 [AC_CONFIG_HEADERS([config.h])
450 CPPFLAGS="-include \$(top_builddir)/config.h $CPPFLAGS"
451 EXTRA_KCFLAGS="-include $PWD/config.h $EXTRA_KCFLAGS"
452 AC_SUBST(EXTRA_KCFLAGS)
453 ])
454
455 #
456 # LB_INCLUDE_RULES
457 #
458 # defines for including the toplevel Rules
459 #
460 AC_DEFUN([LB_INCLUDE_RULES],
461 [INCLUDE_RULES="include $PWD/Rules"
462 AC_SUBST(INCLUDE_RULES)
463 ])
464
465 #
466 # LB_PATH_DEFAULTS
467 #
468 # 'fixup' default paths
469 #
470 AC_DEFUN([LB_PATH_DEFAULTS],
471 [# directories for binaries
472 AC_PREFIX_DEFAULT([/usr])
473
474 sysconfdir='/etc'
475 AC_SUBST(sysconfdir)
476
477 # Directories for documentation and demos.
478 docdir='${datadir}/doc/$(PACKAGE)'
479 AC_SUBST(docdir)
480
481 LN_PATH_DEFAULTS
482 LC_PATH_DEFAULTS
483
484 ])
485
486 #
487 # LB_PROG_CC
488 #
489 # checks on the C compiler
490 #
491 AC_DEFUN([LB_PROG_CC],
492 [AC_PROG_RANLIB
493 AC_MSG_CHECKING([for buggy compiler])
494 CC_VERSION=`$CC -v 2>&1 | grep "^gcc version"`
495 bad_cc() {
496         AC_MSG_RESULT([buggy compiler found!])
497         echo
498         echo "   '$CC_VERSION'"
499         echo "  has been known to generate bad code, "
500         echo "  please get an updated compiler."
501         AC_MSG_ERROR([sorry])
502 }
503 case "$CC_VERSION" in
504         "gcc version 2.95"*)
505                 bad_cc
506                 ;;
507         # ost_pack_niobuf putting 64bit NTOH temporaries on the stack
508         # without "sub    $0xc,%esp" to protect the stack from being
509         # stomped on by interrupts (bug 606)
510         "gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)")
511                 bad_cc
512                 ;;
513         # mandrake's similar sub 0xc compiler bug
514         # http://marc.theaimsgroup.com/?l=linux-kernel&m=104748366226348&w=2
515         "gcc version 2.96 20000731 (Mandrake Linux 8.1 2.96-0.62mdk)")
516                 bad_cc
517                 ;;
518         *)
519                 AC_MSG_RESULT([no known problems])
520                 ;;
521 esac
522
523 # ---------  unsigned long long sane? -------
524 AC_CHECK_SIZEOF(unsigned long long, 0)
525 echo "---> size SIZEOF $SIZEOF_unsigned_long_long"
526 echo "---> size SIZEOF $ac_cv_sizeof_unsigned_long_long"
527 if test $ac_cv_sizeof_unsigned_long_long != 8 ; then
528         AC_MSG_ERROR([** we assume that sizeof(long long) == 8.  Tell phil@clusterfs.com])
529 fi
530
531 # FIXME
532 AC_CHECK_DECL([__i386__], [], [
533
534 if test x$enable_bgl != xyes; then
535 AC_MSG_CHECKING([if $CC accepts -m64])
536 CC_save="$CC"
537 CC="$CC -m64"
538 AC_TRY_COMPILE([],[],[
539         AC_MSG_RESULT([yes])
540 ],[
541         AC_MSG_RESULT([no])
542         CC="$CC_save"
543 ])
544 fi
545
546 ])
547
548 CPPFLAGS="-I\$(top_builddir)/lnet/include -I\$(top_srcdir)/lnet/include -I\$(top_builddir)/lustre/include -I\$(top_srcdir)/lustre/include $CPPFLAGS"
549
550 LLCPPFLAGS="-D__arch_lib__ -D_LARGEFILE64_SOURCE=1"
551 AC_SUBST(LLCPPFLAGS)
552
553 LLCFLAGS="-g -Wall -fPIC"
554 AC_SUBST(LLCFLAGS)
555
556 # everyone builds against lnet and lustre
557 EXTRA_KCFLAGS="$EXTRA_KCFLAGS -g -I$PWD/lnet/include -I$PWD/lustre/include"
558 AC_SUBST(EXTRA_KCFLAGS)
559 ])
560
561 #
562 # LB_CONTITIONALS
563 #
564 # AM_CONDITIONAL instances for everything
565 # (so that portals/lustre can disable some if needed)
566 AC_DEFUN([LB_CONDITIONALS],
567 [AM_CONDITIONAL(MODULES, test x$enable_modules = xyes)
568 AM_CONDITIONAL(UTILS, test x$enable_utils = xyes)
569 AM_CONDITIONAL(TESTS, test x$enable_tests = xyes)
570 AM_CONDITIONAL(DOC, test x$ENABLE_DOC = x1)
571 AM_CONDITIONAL(INIT_SCRIPTS, test x$ENABLE_INIT_SCRIPTS = "x1")
572 AM_CONDITIONAL(LINUX, test x$lb_target_os = "xlinux")
573 AM_CONDITIONAL(DARWIN, test x$lb_target_os = "xdarwin")
574 AM_CONDITIONAL(CRAY_XT3, test x$enable_cray_xt3 = "xyes")
575 AM_CONDITIONAL(SUNOS, test x$lb_target_os = "xSunOS")
576
577 # this lets lustre cancel libsysio, per-branch or if liblustre is
578 # disabled
579 if test "x$LIBSYSIO_SUBDIR" = xlibsysio ; then
580         if test "x$with_sysio" != xyes ; then
581                 SYSIO=""
582                 LIBSYSIO_SUBDIR=""
583         fi
584 fi
585 AC_SUBST(LIBSYSIO_SUBDIR)
586 AC_SUBST(SYSIO)
587
588 LB_LINUX_CONDITIONALS
589 LB_DARWIN_CONDITIONALS
590
591 LN_CONDITIONALS
592 LC_CONDITIONALS
593 ])
594
595 #
596 # LB_CONFIG_FILES
597 #
598 # build-specific config files
599 #
600 AC_DEFUN([LB_CONFIG_FILES],
601 [
602 AC_CONFIG_FILES(
603 [Makefile
604 autoMakefile
605 ]
606 [Rules:build/Rules.in]
607 AC_PACKAGE_TARNAME[.spec]
608 )
609 ])
610
611 #
612 # LB_CONFIGURE
613 #
614 # main configure steps
615 #
616 AC_DEFUN([LB_CONFIGURE],
617 [LB_CANONICAL_SYSTEM
618
619 LB_INCLUDE_RULES
620
621 LB_CONFIG_CRAY_XT3
622 LB_CONFIG_BGL
623 LB_PATH_DEFAULTS
624
625 LB_PROG_CC
626
627 LB_PATH_DMU
628 LB_POSIX_OSD
629
630 LB_CONFIG_DOCS
631 LB_CONFIG_UTILS
632 LB_CONFIG_TESTS
633 LC_CONFIG_CLIENT_SERVER
634
635 # three macros for cmd3 
636 LC_CONFIG_SPLIT
637 LC_CONFIG_LDISKFS
638 LN_CONFIG_CDEBUG
639
640 LB_CONFIG_MODULES
641
642 LB_PATH_LIBSYSIO
643 LB_PATH_SNMP
644 LB_PATH_LDISKFS
645
646 LC_CONFIG_LIBLUSTRE
647 LN_CONFIGURE
648
649 LC_CONFIGURE
650
651 if test "$SNMP_DIST_SUBDIR" ; then
652         LS_CONFIGURE
653 fi
654
655 LB_CONDITIONALS
656 LB_CONFIG_HEADERS
657
658 LB_CONFIG_FILES
659 LN_CONFIG_FILES
660 LC_CONFIG_FILES
661 if test "$SNMP_DIST_SUBDIR" ; then
662         LS_CONFIG_FILES
663 fi
664
665 AC_SUBST(ac_configure_args)
666
667 MOSTLYCLEANFILES='.*.cmd .*.flags *.o *.ko *.mod.c .depend .*.1.* Modules.symvers Module.symvers'
668 AC_SUBST(MOSTLYCLEANFILES)
669
670 AC_OUTPUT
671
672 cat <<_ACEOF
673
674 CC:            $CC
675 LD:            $LD
676 CPPFLAGS:      $CPPFLAGS
677 LLCPPFLAGS:    $LLCPPFLAGS
678 CFLAGS:        $CFLAGS
679 EXTRA_KCFLAGS: $EXTRA_KCFLAGS
680 LLCFLAGS:      $LLCFLAGS
681
682 Type 'make' to build Lustre.
683 _ACEOF
684 ])