Whamcloud - gitweb
efd894c96ef7dbbd4ab0fea0a8f1b77558318440
[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         solaris*)
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_LUSTREIOKIT
164 #
165 # Handle internal/external lustre-iokit
166 #
167 AC_DEFUN([LB_PATH_LUSTREIOKIT],
168 [AC_ARG_WITH([],
169         AC_HELP_STRING([--with-lustre-iokit=path],
170                         [set path to lustre-iokit source (default is included lustre-iokit)]),
171         [],[
172                         with_lustre_iokit='yes'
173         ])
174 AC_MSG_CHECKING([location of lustre-iokit])
175 enable_lustre_iokit="$with_lustre_iokit"
176 case x$with_lustre_iokit in
177         xyes)
178                 AC_MSG_RESULT([internal])
179                 LB_CHECK_FILE([$srcdir/lustre-iokit/ior-survey/ior-survey],[],[
180                         AC_MSG_ERROR([A complete internal lustre-iokit was not found.])
181                 ])
182                 LUSTREIOKIT_SUBDIR="lustre-iokit"
183                 LUSTREIOKIT="$PWD/lustre-iokit"
184                 ;;
185         xno)
186                 AC_MSG_RESULT([disabled])
187                 ;;
188         *)
189                 AC_MSG_RESULT([$with_lustre_iokit])
190                 LB_CHECK_FILE([$with_lustre_iokit/ior-survey/ior_survey],[],[
191                         AC_MSG_ERROR([A complete (built) external lustre-iokit was not found.])
192                 ])
193                 LUSTREIOKIT="$with_lustre_iokit"
194                 with_lustre_iokit="yes"
195                 ;;
196 esac
197 AC_SUBST(LUSTREIOKIT_SUBDIR)
198 # We have to configure even if we don't build here for make dist to work
199 AC_CONFIG_SUBDIRS(lustre-iokit)
200 ])
201
202 #
203 # LB_PATH_LDISKFS
204 #
205 # Handle internal/external ldiskfs
206 #
207 AC_DEFUN([LB_PATH_LDISKFS],
208 [AC_ARG_WITH([ldiskfs],
209         AC_HELP_STRING([--with-ldiskfs=path],
210                         [set path to ldiskfs source (default is included ldiskfs)]),
211         [],[
212                 if test x$linux25$enable_server = xyesyes ; then
213                         with_ldiskfs=yes
214                 else
215                         with_ldiskfs=no
216                 fi
217         ])
218 AC_MSG_CHECKING([location of ldiskfs])
219 case x$with_ldiskfs in
220         xyes)
221                 AC_MSG_RESULT([internal])
222                 LB_CHECK_FILE([$srcdir/ldiskfs/lustre-ldiskfs.spec.in],[],[
223                         AC_MSG_ERROR([A complete internal ldiskfs was not found.])
224                 ])
225                 LDISKFS_SUBDIR="ldiskfs"
226                 LDISKFS_DIR="$PWD/ldiskfs"
227                 ;;
228         xno)
229                 AC_MSG_RESULT([disabled])
230                 ;;
231         *)
232                 AC_MSG_RESULT([$with_ldiskfs])
233                 LB_CHECK_FILE([$with_ldiskfs/ldiskfs/linux/ldiskfs_fs.h],[],[
234                         AC_MSG_ERROR([A complete (built) external ldiskfs was not found.])
235                 ])
236                 LDISKFS_DIR=$with_ldiskfs
237                 ;;
238 esac
239 AC_SUBST(LDISKFS_DIR)
240 AC_SUBST(LDISKFS_SUBDIR)
241 AM_CONDITIONAL(LDISKFS_ENABLED, test x$with_ldiskfs != xno)
242
243 # We have to configure even if we don't build here for make dist to work
244 AC_CONFIG_SUBDIRS(ldiskfs)
245 ])
246
247 # Define no libcfs by default.
248 AC_DEFUN([LB_LIBCFS_DIR],
249 [
250 case x$libcfs_is_module in
251         xyes)
252           LIBCFS_INCLUDE_DIR="libcfs/include"
253           LIBCFS_SUBDIR="libcfs"
254           ;;
255         x*)
256           LIBCFS_INCLUDE_DIR="lnet/include"
257           LIBCFS_SUBDIR=""
258           ;;
259 esac
260 AC_SUBST(LIBCFS_SUBDIR)
261 AC_SUBST(LIBCFS_INCLUDE_DIR)
262 ])
263
264 #
265 # LB_DEFINE_LDISKFS_OPTIONS
266 #
267 # Enable config options related to ldiskfs.  These are used both by ldiskfs
268 # and lvfs (which includes ldiskfs headers.)
269 #
270 AC_DEFUN([LB_DEFINE_LDISKFS_OPTIONS],
271 [
272         AC_DEFINE(CONFIG_LDISKFS_FS_MODULE, 1, [build ldiskfs as a module])
273         AC_DEFINE(CONFIG_LDISKFS_FS_XATTR, 1, [enable extended attributes for ldiskfs])
274         AC_DEFINE(CONFIG_LDISKFS_FS_POSIX_ACL, 1, [enable posix acls for ldiskfs])
275         AC_DEFINE(CONFIG_LDISKFS_FS_SECURITY, 1, [enable fs security for ldiskfs])
276 ])
277
278 #
279 # LB_CONFIG_CRAY_XT3
280 #
281 # Enable Cray XT3 features
282 #
283 AC_DEFUN([LB_CONFIG_CRAY_XT3],
284 [AC_MSG_CHECKING([whether to build Cray XT3 features])
285 AC_ARG_ENABLE([cray_xt3],
286         AC_HELP_STRING([--enable-cray-xt3],
287                         [enable building of Cray XT3 features]),
288         [enable_cray_xt3='yes'],[enable_cray_xt3='no'])
289 AC_MSG_RESULT([$enable_cray_xt3])
290 if test x$enable_cray_xt3 != xno; then
291         AC_DEFINE(CRAY_XT3, 1, Enable Cray XT3 Features)
292 fi
293 ])
294
295 #
296 # LB_CONFIG_BGL
297 #
298 # Enable BGL features
299 #
300 AC_DEFUN([LB_CONFIG_BGL],
301 [AC_MSG_CHECKING([whether to build BGL features])
302 AC_ARG_ENABLE([bgl],
303         AC_HELP_STRING([--enable-bgl],
304                         [enable building of BGL features]),
305         [enable_bgl='yes'],[enable_bgl='no'])
306 AC_MSG_RESULT([$enable_bgl])
307 if test x$enable_bgl != xno; then
308         AC_DEFINE(BGL_SUPPORT, 1, Enable BGL Features)
309         enable_doc='no'
310         enable_tests='no'
311         enable_server='no'
312         enable_liblustre='no'
313         enable_libreadline='no'
314 fi
315 ])
316
317 #
318 # Support for --enable-uoss
319 #
320 AC_DEFUN([LB_UOSS],
321 [AC_MSG_CHECKING([whether to enable uoss])
322 AC_ARG_ENABLE([uoss],
323         AC_HELP_STRING([--enable-uoss],
324                         [enable userspace OSS]),
325         [enable_uoss='yes'],[enable_uoss='no'])
326 AC_MSG_RESULT([$enable_uoss])
327 if test x$enable_uoss = xyes; then
328         AC_DEFINE(UOSS_SUPPORT, 1, Enable user-level OSS)
329         AC_DEFINE(LUSTRE_ULEVEL_MT, 1, Multi-threaded user-level lustre port)
330         enable_uoss='yes'
331         enable_ulevel_mt='yes'
332         enable_modules='no'
333         enable_client='no'
334         enable_tests='no'
335         enable_liblustre='no'
336         with_ldiskfs='no'
337 fi
338 AC_SUBST(enable_uoss)
339 ])
340
341 #
342 # Support for --enable-posix-osd
343 #
344 AC_DEFUN([LB_POSIX_OSD],
345 [AC_MSG_CHECKING([whether to enable posix osd])
346 AC_ARG_ENABLE([posix-osd],
347         AC_HELP_STRING([--enable-posix-osd],
348                         [enable using of posix osd]),
349         [enable_posix_osd='yes'],[enable_posix_osd='no'])
350 AC_MSG_RESULT([$enable_posix_osd])
351 if test x$enable_uoss = xyes -a x$enable_posix_osd = xyes ; then
352         AC_DEFINE(POSIX_OSD, 1, Enable POSIX OSD)
353         posix_osd='yes'
354 fi
355 AM_CONDITIONAL(POSIX_OSD_ENABLED, test x$posix_osd = xyes)
356 ])
357
358 #
359 # LB_PATH_DMU
360 # Support for --with-dmu
361 #
362 AC_DEFUN([LB_PATH_DMU],
363 [AC_MSG_CHECKING([whether to enable DMU])
364 AC_ARG_WITH([dmu],
365         AC_HELP_STRING([--with-dmu=path],
366                        [set path to a DMU tree (default is included zfs-lustre)]),
367         [
368                 DMU_SRC=$with_dmu
369         ],
370         [
371                 DMU_SRC="$PWD/zfs-lustre"
372         ])
373 if test x$enable_uoss = xyes -a x$enable_posix_osd != xyes; then
374         AC_DEFINE(DMU_OSD, 1, Enable DMU OSD)
375         AC_MSG_RESULT([yes])
376         LB_CHECK_FILE([$DMU_SRC/src/.patched],[],[
377                 AC_MSG_ERROR([A complete (patched) DMU tree was not found.])
378         ])
379         AC_CONFIG_SUBDIRS(zfs-lustre)
380         dmu_osd='yes'
381 else
382         AC_MSG_RESULT([no])
383 fi
384 AC_SUBST(DMU_SRC)
385 AM_CONDITIONAL(DMU_OSD_ENABLED, test x$dmu_osd = xyes)
386 ])
387
388 #
389 # LB_PATH_SNMP
390 #
391 # check for in-tree snmp support
392 #
393 AC_DEFUN([LB_PATH_SNMP],
394 [LB_CHECK_FILE([$srcdir/snmp/lustre-snmp.c],[SNMP_DIST_SUBDIR="snmp"])
395 AC_SUBST(SNMP_DIST_SUBDIR)
396 AC_SUBST(SNMP_SUBDIR)
397 ])
398
399 #
400 # LB_CONFIG_MODULES
401 #
402 # Build kernel modules?
403 #
404 AC_DEFUN([LB_CONFIG_MODULES],
405 [AC_MSG_CHECKING([whether to build kernel modules])
406 AC_ARG_ENABLE([modules],
407         AC_HELP_STRING([--disable-modules],
408                         [disable building of Lustre kernel modules]),
409         [],[
410                 LC_TARGET_SUPPORTED([
411                         enable_modules='yes'
412                 ],[
413                         enable_modules='no'
414                 ])
415         ])
416 AC_MSG_RESULT([$enable_modules ($target_os)])
417
418 if test x$enable_modules = xyes ; then
419         case $target_os in
420                 linux*)
421                         LB_PROG_LINUX
422                         LIBCFS_PROG_LINUX
423                         LN_PROG_LINUX
424                         LC_PROG_LINUX
425                         ;;
426                 darwin*)
427                         LB_PROG_DARWIN
428                         LIBCFS_PROG_DARWIN
429                         ;;
430                 *)
431                         # This is strange - Lustre supports a target we don't
432                         AC_MSG_ERROR([Modules are not supported on $target_os])
433                         ;;
434         esac
435 fi
436 ])
437
438 #
439 # LB_CONFIG_UTILS
440 #
441 # Build utils?
442 #
443 AC_DEFUN([LB_CONFIG_UTILS],
444 [AC_MSG_CHECKING([whether to build utilities])
445 AC_ARG_ENABLE([utils],
446         AC_HELP_STRING([--disable-utils],
447                         [disable building of Lustre utility programs]),
448         [],[enable_utils='yes'])
449 AC_MSG_RESULT([$enable_utils])
450 if test x$enable_utils = xyes ; then 
451         LB_CONFIG_INIT_SCRIPTS
452 fi
453 ])
454
455 #
456 # LB_CONFIG_TESTS
457 #
458 # Build tests?
459 #
460 AC_DEFUN([LB_CONFIG_TESTS],
461 [AC_MSG_CHECKING([whether to build Lustre tests])
462 AC_ARG_ENABLE([tests],
463         AC_HELP_STRING([--disable-tests],
464                         [disable building of Lustre tests]),
465         [],
466         [
467                 enable_tests='yes'
468         ])
469 AC_MSG_RESULT([$enable_tests])
470 ])
471
472 #
473 # LB_CONFIG_DOCS
474 #
475 # Build docs?
476 #
477 AC_DEFUN([LB_CONFIG_DOCS],
478 [AC_MSG_CHECKING([whether to build docs])
479 AC_ARG_ENABLE(doc,
480         AC_HELP_STRING([--disable-doc],
481                         [skip creation of pdf documentation]),
482         [
483                 if test x$enable_doc = xyes ; then
484                     ENABLE_DOC=1           
485                 else
486                     ENABLE_DOC=0
487                 fi
488         ],[
489                 ENABLE_DOC=0
490                 enable_doc='no'
491         ])
492 AC_MSG_RESULT([$enable_doc])
493 AC_SUBST(ENABLE_DOC)
494 ])
495
496 #
497 # LB_CONFIG_INIT_SCRIPTS
498 #
499 # our init scripts only work on red hat linux
500 #
501 AC_DEFUN([LB_CONFIG_INIT_SCRIPTS],
502 [ENABLE_INIT_SCRIPTS=0
503 if test x$enable_utils = xyes ; then
504         AC_MSG_CHECKING([whether to install init scripts])
505         # our scripts only work on red hat systems
506         if test -f /etc/init.d/functions -a -f /etc/sysconfig/network ; then
507                 ENABLE_INIT_SCRIPTS=1
508                 AC_MSG_RESULT([yes])
509         else
510                 AC_MSG_RESULT([no])
511         fi
512 fi
513 AC_SUBST(ENABLE_INIT_SCRIPTS)
514 ])
515
516 #
517 # LB_CONFIG_HEADERS
518 #
519 # add -include config.h
520 #
521 AC_DEFUN([LB_CONFIG_HEADERS],
522 [AC_CONFIG_HEADERS([config.h])
523 CPPFLAGS="-include \$(top_builddir)/config.h $CPPFLAGS"
524 EXTRA_KCFLAGS="-include $PWD/config.h $EXTRA_KCFLAGS"
525 AC_SUBST(EXTRA_KCFLAGS)
526 ])
527
528 #
529 # LB_INCLUDE_RULES
530 #
531 # defines for including the toplevel Rules
532 #
533 AC_DEFUN([LB_INCLUDE_RULES],
534 [INCLUDE_RULES="include $PWD/Rules"
535 AC_SUBST(INCLUDE_RULES)
536 ])
537
538 #
539 # LB_PATH_DEFAULTS
540 #
541 # 'fixup' default paths
542 #
543 AC_DEFUN([LB_PATH_DEFAULTS],
544 [# directories for binaries
545 AC_PREFIX_DEFAULT([/usr])
546
547 sysconfdir='/etc'
548 AC_SUBST(sysconfdir)
549
550 # Directories for documentation and demos.
551 docdir='${datadir}/doc/$(PACKAGE)'
552 AC_SUBST(docdir)
553
554 LIBCFS_PATH_DEFAULTS
555 LN_PATH_DEFAULTS
556 LC_PATH_DEFAULTS
557
558 ])
559
560 #
561 # LB_PROG_CC
562 #
563 # checks on the C compiler
564 #
565 AC_DEFUN([LB_PROG_CC],
566 [AC_PROG_RANLIB
567 AC_MSG_CHECKING([for buggy compiler])
568 CC_VERSION=`$CC -v 2>&1 | grep "^gcc version"`
569 bad_cc() {
570         AC_MSG_RESULT([buggy compiler found!])
571         echo
572         echo "   '$CC_VERSION'"
573         echo "  has been known to generate bad code, "
574         echo "  please get an updated compiler."
575         AC_MSG_ERROR([sorry])
576 }
577 case "$CC_VERSION" in
578         "gcc version 2.95"*)
579                 bad_cc
580                 ;;
581         # ost_pack_niobuf putting 64bit NTOH temporaries on the stack
582         # without "sub    $0xc,%esp" to protect the stack from being
583         # stomped on by interrupts (bug 606)
584         "gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)")
585                 bad_cc
586                 ;;
587         # mandrake's similar sub 0xc compiler bug
588         # http://marc.theaimsgroup.com/?l=linux-kernel&m=104748366226348&w=2
589         "gcc version 2.96 20000731 (Mandrake Linux 8.1 2.96-0.62mdk)")
590                 bad_cc
591                 ;;
592         *)
593                 AC_MSG_RESULT([no known problems])
594                 ;;
595 esac
596
597 # ---------  unsigned long long sane? -------
598 AC_CHECK_SIZEOF(unsigned long long, 0)
599 echo "---> size SIZEOF $SIZEOF_unsigned_long_long"
600 echo "---> size SIZEOF $ac_cv_sizeof_unsigned_long_long"
601 if test $ac_cv_sizeof_unsigned_long_long != 8 ; then
602         AC_MSG_ERROR([** we assume that sizeof(long long) == 8.  Tell phil@clusterfs.com])
603 fi
604
605 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"
606
607 LLCPPFLAGS="-D__arch_lib__ -D_LARGEFILE64_SOURCE=1"
608 AC_SUBST(LLCPPFLAGS)
609
610 LLCFLAGS="-g -Wall -fPIC"
611 AC_SUBST(LLCFLAGS)
612
613 # everyone builds against lnet and lustre
614 EXTRA_KCFLAGS="$EXTRA_KCFLAGS -g -I$PWD/$LIBCFS_INCLUDE_DIR -I$PWD/lnet/include -I$PWD/lustre/include"
615 AC_SUBST(EXTRA_KCFLAGS)
616 ])
617
618 #
619 # LB_CONTITIONALS
620 #
621 # AM_CONDITIONAL instances for everything
622 # (so that portals/lustre can disable some if needed)
623 AC_DEFUN([LB_CONDITIONALS],
624 [AM_CONDITIONAL(MODULES, test x$enable_modules = xyes)
625 AM_CONDITIONAL(UTILS, test x$enable_utils = xyes)
626 AM_CONDITIONAL(TESTS, test x$enable_tests = xyes)
627 AM_CONDITIONAL(DOC, test x$ENABLE_DOC = x1)
628 AM_CONDITIONAL(INIT_SCRIPTS, test x$ENABLE_INIT_SCRIPTS = "x1")
629 AM_CONDITIONAL(LINUX, test x$lb_target_os = "xlinux")
630 AM_CONDITIONAL(DARWIN, test x$lb_target_os = "xdarwin")
631 AM_CONDITIONAL(CRAY_XT3, test x$enable_cray_xt3 = "xyes")
632 AM_CONDITIONAL(SUNOS, test x$lb_target_os = "xSunOS")
633
634 # this lets lustre cancel libsysio, per-branch or if liblustre is
635 # disabled
636 if test "x$LIBSYSIO_SUBDIR" = xlibsysio ; then
637         if test "x$with_sysio" != xyes ; then
638                 SYSIO=""
639                 LIBSYSIO_SUBDIR=""
640         fi
641 fi
642 AC_SUBST(LIBSYSIO_SUBDIR)
643 AC_SUBST(SYSIO)
644
645 LB_LINUX_CONDITIONALS
646 LB_DARWIN_CONDITIONALS
647
648 LIBCFS_CONDITIONALS
649 LN_CONDITIONALS
650 LC_CONDITIONALS
651 ])
652
653 #
654 # LB_CONFIG_FILES
655 #
656 # build-specific config files
657 #
658 AC_DEFUN([LB_CONFIG_FILES],
659 [
660 AC_CONFIG_FILES(
661 [Makefile
662 autoMakefile
663 ]
664 [Rules:build/Rules.in]
665 AC_PACKAGE_TARNAME[.spec]
666 )
667 ])
668
669 #
670 # LB_CONFIGURE
671 #
672 # main configure steps
673 #
674 AC_DEFUN([LB_CONFIGURE],
675 [LB_CANONICAL_SYSTEM
676
677 LB_LIBCFS_DIR
678
679 LB_INCLUDE_RULES
680
681 LB_CONFIG_CRAY_XT3
682 LB_CONFIG_BGL
683 LB_PATH_DEFAULTS
684
685 LB_PROG_CC
686
687 LB_UOSS
688 LB_POSIX_OSD
689 LB_PATH_DMU
690
691 LB_CONFIG_DOCS
692 LB_CONFIG_UTILS
693 LB_CONFIG_TESTS
694 LC_CONFIG_CLIENT_SERVER
695
696 # three macros for cmd3 
697 LC_CONFIG_SPLIT
698 LC_CONFIG_LDISKFS
699 LIBCFS_CONFIG_CDEBUG
700
701 LB_CONFIG_MODULES
702
703 LB_PATH_LIBSYSIO
704 LB_PATH_SNMP
705 LB_PATH_LDISKFS
706 LB_PATH_LUSTREIOKIT
707
708 LC_CONFIG_LIBLUSTRE
709 LIBCFS_CONFIGURE
710 LN_CONFIGURE
711
712 LC_CONFIGURE
713
714 if test "$SNMP_DIST_SUBDIR" ; then
715         LS_CONFIGURE
716 fi
717
718
719 LB_CONDITIONALS
720 LB_CONFIG_HEADERS
721
722 LIBCFS_CONFIG_FILES
723 LB_CONFIG_FILES
724 LN_CONFIG_FILES
725 LC_CONFIG_FILES
726 if test "$SNMP_DIST_SUBDIR" ; then
727         LS_CONFIG_FILES
728 fi
729
730 AC_SUBST(ac_configure_args)
731
732 MOSTLYCLEANFILES='.*.cmd .*.flags *.o *.ko *.mod.c .depend .*.1.* Modules.symvers Module.symvers'
733 AC_SUBST(MOSTLYCLEANFILES)
734
735 AC_OUTPUT
736
737 cat <<_ACEOF
738
739 CC:            $CC
740 LD:            $LD
741 CPPFLAGS:      $CPPFLAGS
742 LLCPPFLAGS:    $LLCPPFLAGS
743 CFLAGS:        $CFLAGS
744 EXTRA_KCFLAGS: $EXTRA_KCFLAGS
745 LLCFLAGS:      $LLCFLAGS
746
747 Type 'make' to build Lustre.
748 _ACEOF
749 ])