there was an #include directive missing
[openmpi-llc.git] / configure.ac
blob5570e876523dc1bb8165811a78459646e9704dde
1 # -*- shell-script -*-
3 # Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
4 #                         University Research and Technology
5 #                         Corporation.  All rights reserved.
6 # Copyright (c) 2004-2005 The University of Tennessee and The University
7 #                         of Tennessee Research Foundation.  All rights
8 #                         reserved.
9 # Copyright (c) 2004-2006 High Performance Computing Center Stuttgart, 
10 #                         University of Stuttgart.  All rights reserved.
11 # Copyright (c) 2004-2005 The Regents of the University of California.
12 #                         All rights reserved.
13 # Copyright (c) 2006      Cisco Systems, Inc.  All rights reserved.
14 # $COPYRIGHT$
15
16 # Additional copyrights may follow
17
18 # $HEADER$
22 ############################################################################
23 # Initialization, version number, and other random setup/init stuff
24 ############################################################################
26 # Init autoconf
28 # We don't have the version number to put in here yet, and we can't
29 # call OMPI_GET_VERSION (etc.) before AC_INIT.  So use the shell
30 # version.
32 AC_INIT([Open MPI], 
33         [m4_normalize(esyscmd([config/ompi_get_version.sh VERSION --base]))],
34         [http://www.open-mpi.org/community/help/], [openmpi])
35 AC_PREREQ(2.58)
36 AC_CONFIG_AUX_DIR(./config)
37 AC_CONFIG_MACRO_DIR(./config)
39 # Get our platform support file.  This has to be done very, very early
40 # because it twiddles random bits of autoconf
41 OMPI_LOAD_PLATFORM
44 # Init automake
47 AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects no-define])
49 # Make configure depend on the VERSION file, since it's used in AC_INIT
50 AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/VERSION'])
53 # Start it up
56 OMPI_CONFIGURE_SETUP
57 ompi_show_title "Configuring Open MPI"
59 ompi_show_subtitle "Checking versions"
61 # Get the version of OMPI that we are installing
63 OMPI_SAVE_VERSION([OMPI], [Open MPI], [$srcdir/VERSION],
64                   [ompi/include/ompi/version.h])
66 OMPI_SAVE_VERSION([ORTE], [Open Run-Time Environment], [$srcdir/VERSION],
67                   [orte/include/orte/version.h])
69 OMPI_SAVE_VERSION([OPAL], [Open Portable Access Layer], [$srcdir/VERSION],
70                   [opal/include/opal/version.h])
72 # override/fixup the version numbers set by AC_INIT, since on
73 # developer builds, there's no good way to know what the version is
74 # before running configure :(.  We only use the base version number
75 # (ie, no svn r numbers) for the version set in AC_INIT.  This will
76 # always match reality because we add the VERSION file (the only way
77 # to change the major.minor.release{greek}) into the configure
78 # dependencies.  PACKAGE_VERSION the AC_DEFINE doesn't change once set
79 # the first time -- AC_INIT's input (so it doesn't have an r number in
80 # it).  PACKAGE_VERSION the AC_SUBST can be rewritten along the way,
81 # and we'd like it to have the r number in it so that it shows up in
82 # the tarball name, so it is set to the full version here.
83 PACKAGE_VERSION="$OPAL_VERSION"
84 PACKAGE_STRING="${PACKAGE_NAME} ${PACKAGE_VERSION}"
85 VERSION="${PACKAGE_VERSION}"
87 ompi_show_subtitle "Initialization, setup"
89 OMPI_TOP_BUILDDIR="`pwd`"
90 AC_SUBST(OMPI_TOP_BUILDDIR)
91 cd "$srcdir"
92 OMPI_TOP_SRCDIR="`pwd`"
93 AC_SUBST(OMPI_TOP_SRCDIR)
94 cd "$OMPI_TOP_BUILDDIR"
96 AC_MSG_NOTICE([builddir: $OMPI_TOP_BUILDDIR])
97 AC_MSG_NOTICE([srcdir: $OMPI_TOP_SRCDIR])
98 if test "$OMPI_TOP_BUILDDIR" != "$OMPI_TOP_SRCDIR"; then
99     AC_MSG_NOTICE([Detected VPATH build])
102 # Setup the top of the opal/include/opal_config.h file
104 AH_TOP([/* -*- c -*-
106  * Copyright (c) 2004-2005 The Trustees of Indiana University.
107  *                         All rights reserved.
108  * Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
109  *                         All rights reserved.
110  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 
111  *                         University of Stuttgart.  All rights reserved.
112  * Copyright (c) 2004-2005 The Regents of the University of California.
113  *                         All rights reserved.
114  * $COPYRIGHT$
115  * 
116  * Additional copyrights may follow
117  * 
118  * $HEADER$
120  * Function: - OS, CPU and compiler dependent configuration 
121  */
123 #ifndef OPAL_CONFIG_H
124 #define OPAL_CONFIG_H
126 AH_BOTTOM([
127 #include "opal_config_bottom.h"
128 #endif /* OPAL_CONFIG_H */
131 # Other basic setup stuff (shared with components)
133 OMPI_BASIC_SETUP
135 top_ompi_srcdir="$OMPI_TOP_SRCDIR"
136 AC_SUBST(top_ompi_srcdir)
137 top_ompi_builddir="$OMPI_TOP_BUILDDIR"
138 AC_SUBST(top_ompi_builddir)
140 ############################################################################
141 # Configuration options
142 ############################################################################
144 OMPI_CONFIGURE_OPTIONS
146 ############################################################################
147 # Libtool: part one
148 # (before C compiler setup)
149 ############################################################################
152 # Part one of libtool magic.  Enable static so that we have the --with
153 # tests done up here and can check for OS.  Save the values of
154 # $enable_static and $enable_shared before setting the defaults,
155 # because if the user specified --[en|dis]able-[static|shared] on the
156 # command line, they'll already be set.  In this way, we can tell if
157 # the user requested something or if the default was set here.
160 ompi_enable_shared="$enable_shared"
161 ompi_enable_static="$enable_static"
162 AM_ENABLE_SHARED
163 AM_DISABLE_STATIC
165 OMPI_SETUP_WRAPPER_INIT
168 ############################################################################
169 # Check for compilers and preprocessors
170 ############################################################################
171 ompi_show_title "Compiler and preprocessor tests"
173 ##################################
174 # C compiler characteristics
175 ##################################
177 OMPI_SETUP_CC
179 # If we build on a windows environment with the windows compiler and linker
180 # then we need some translation functions from the opal/win32 directory.
181 AM_CONDITIONAL(OMPI_NEED_WINDOWS_REPLACEMENTS,
182                test "$ompi_cv_c_compiler_vendor" = "microsoft" )
185 # Check for some types
188 AC_CHECK_TYPES(long long)
189 AC_CHECK_TYPES(long double)
190 AC_CHECK_TYPES(int8_t)
191 AC_CHECK_TYPES(uint8_t)
192 AC_CHECK_TYPES(int16_t)
193 AC_CHECK_TYPES(uint16_t)
194 AC_CHECK_TYPES(int32_t)
195 AC_CHECK_TYPES(uint32_t)
196 AC_CHECK_TYPES(int64_t)
197 AC_CHECK_TYPES(uint64_t)
198 AC_CHECK_TYPES(intptr_t)
199 AC_CHECK_TYPES(uintptr_t)
200 AC_CHECK_TYPES(mode_t)
204 # Check for type sizes
207 AC_CHECK_SIZEOF(char)
208 AC_CHECK_SIZEOF(short)
209 AC_CHECK_SIZEOF(int)
210 AC_CHECK_SIZEOF(long)
211 if test $ac_cv_type_long_long = yes; then
212     AC_CHECK_SIZEOF(long long)
214 if test $ac_cv_type_long_double = yes; then
215     AC_CHECK_SIZEOF(long double)
217 AC_CHECK_SIZEOF(float)
218 AC_CHECK_SIZEOF(double)
219 AC_CHECK_SIZEOF(void *)
220 AC_CHECK_SIZEOF(size_t)
223 # Check for type alignments
226 OMPI_C_GET_ALIGNMENT(char, OMPI_ALIGNMENT_CHAR)
227 OMPI_C_GET_ALIGNMENT(short, OMPI_ALIGNMENT_SHORT)
228 OMPI_C_GET_ALIGNMENT(wchar_t, OMPI_ALIGNMENT_WCHAR)
229 OMPI_C_GET_ALIGNMENT(int, OMPI_ALIGNMENT_INT)
230 OMPI_C_GET_ALIGNMENT(long, OMPI_ALIGNMENT_LONG)
231 if test $ac_cv_type_long_long = yes; then
232     OMPI_C_GET_ALIGNMENT(long long, OMPI_ALIGNMENT_LONG_LONG)
234 OMPI_C_GET_ALIGNMENT(float, OMPI_ALIGNMENT_FLOAT)
235 OMPI_C_GET_ALIGNMENT(double, OMPI_ALIGNMENT_DOUBLE)
236 if test $ac_cv_type_long_double = yes; then
237     OMPI_C_GET_ALIGNMENT(long double, OMPI_ALIGNMENT_LONG_DOUBLE)
239 OMPI_C_GET_ALIGNMENT(void *, OMPI_ALIGNMENT_VOID_P)
242 # Does the C compiler native support "bool"? (i.e., without
243 # <stdbool.h> or any other help)
246 AC_MSG_CHECKING(for C bool type)
247 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
248 AC_INCLUDES_DEFAULT]],
249 [[bool bar, foo = true; bar = foo;]]),
250 [OMPI_NEED_C_BOOL=0 MSG=yes],[OMPI_NEED_C_BOOL=1 MSG=no])
251 AC_DEFINE_UNQUOTED(OMPI_NEED_C_BOOL, $OMPI_NEED_C_BOOL,
252     [Whether the C compiler supports "bool" without any other help (such as <stdbool.h>)])
253 AC_MSG_RESULT([$MSG])
256 # Check for other compiler characteristics
259 if test "$GCC" = "yes"; then
261     # gcc 2.96 will emit oodles of warnings if you use "inline" with
262     # -pedantic (which we do in developer builds).  However,
263     # "__inline__" is ok.  So we have to force gcc to select the
264     # right one.  If you use -pedantic, the AC_C_INLINE test will fail
265     # (because it names a function foo() -- without the (void)).  So
266     # we turn off all the picky flags, turn on -ansi mode (which is
267     # implied by -pedantic), and set warnings to be errors.  Hence,
268     # this does the following (for 2.96):
269     #
270     # - causes the check for "inline" to emit a warning, which then
271     # fails
272     # - checks for __inline__, which then emits no error, and works
273     #
274     # This also works nicely for gcc 3.x because "inline" will work on
275     # the first check, and all is fine.  :-)
277     CFLAGS_save="$CFLAGS"
278     CFLAGS="$OMPI_CFLAGS_BEFORE_PICKY -Werror -ansi"
280 AC_C_INLINE
281 AC_C_RESTRICT
282 OMPI_C_WEAK_SYMBOLS
283 if test "$GCC" = "yes"; then
284     CFLAGS="$CFLAGS_save"
287 if test "x$CC" = "xicc"; then
288   OMPI_CHECK_ICC_VARARGS
291 # If we want the profiling layer:
292 # - If the C compiler has weak symbols, use those.
293 # - If not, then set to compile the code again with #define's in a
294 #   separate directory.
296 if test "$WANT_WEAK_SYMBOLS" = "0"; then
297     OMPI_C_HAVE_WEAK_SYMBOLS=0
299 if test "$WANT_MPI_PROFILING" = "1"; then
300     if test "$OMPI_C_HAVE_WEAK_SYMBOLS" = "1"; then
301         OMPI_PROFILING_COMPILE_SEPARATELY=0
302     else
303         OMPI_PROFILING_COMPILE_SEPARATELY=1
304     fi
305 else
306     OMPI_PROFILING_COMPILE_SEPARATELY=0
310 # There are 2 layers to the MPI Language binidings One layer generates
311 # MPI_* bindings. The other layer generates PMPI_* bindings. The
312 # following conditions determine whether each (or both) these layers
313 # are built.
314 # 1. MPI_* bindings are needed if:
315 #       - Profiling is not required
316 #   - Profiling is required but weak symbols are not
317 #         supported
318 # 2. PMPI_* bindings are needed if profiling is required.  Hence we
319 # define 2 conditionals which tell us whether each of these layers
320 # need to be built or NOT
323 AM_CONDITIONAL(WANT_MPI_BINDINGS_LAYER,
324         test "$WANT_MPI_PROFILING" = 0 -o "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1)
326 AM_CONDITIONAL(WANT_PMPI_BINDINGS_LAYER,
327         test "$WANT_MPI_PROFILING" = 1)
328 AM_CONDITIONAL(COMPILE_PROFILING_SEPARATELY, 
329     test "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1)
330 AC_DEFINE_UNQUOTED(OMPI_ENABLE_MPI_PROFILING, $WANT_MPI_PROFILING,
331     [Whether we want MPI profiling or not])
332 AC_DEFINE_UNQUOTED(OMPI_HAVE_WEAK_SYMBOLS, $OMPI_C_HAVE_WEAK_SYMBOLS,
333     [Wehther we have weak symbols or not])
336 ##################################
337 # C++ compiler characteristics
338 ##################################
340 OMPI_SETUP_CXX
342 # check for type sizes
344 AC_LANG_PUSH(C++)
345 AC_CHECK_SIZEOF(bool)
347 # check for type alignments
349 OMPI_C_GET_ALIGNMENT(bool, OMPI_ALIGNMENT_CXX_BOOL)
350 AC_LANG_POP(C++)
352 # check if we want C++ support                                                  
354 AM_CONDITIONAL(WANT_MPI_CXX_BINDINGS,
355     test "$WANT_MPI_CXX_SUPPORT" = 1)
356 AC_DEFINE_UNQUOTED(OMPI_WANT_CXX_BINDINGS, $WANT_MPI_CXX_SUPPORT,
357     [Whether we want MPI cxx support or not])
358     
360 ##################################
361 # Assembler Configuration
362 ##################################
364 ompi_show_subtitle "Assembler" 
366 AM_PROG_AS
367 OMPI_CONFIG_ASM
370 ##################################
371 # Fortran
372 ##################################
374 #-----------
375 # Fortran 77
376 #-----------
378 OMPI_SETUP_F77
379 OMPI_F77_FIND_EXT_SYMBOL_CONVENTION
381 # This allows us to mark bogus types, but still have them be a valid
382 # [sentinel] value
384 AC_DEFINE([ompi_fortran_bogus_type_t], [int],
385           [A bogus type that allows us to have sentinel type values that are still valid])
387 # We want to set the #define's for all of these, so invoke the macros
388 # regardless of whether we have F77 support or not.
390 OMPI_F77_CHECK([LOGICAL], [yes], 
391                [char, int32_t, int, int64_t, long long, long], [-1])
392 OMPI_F77_CHECK([INTEGER], [yes], 
393                [int32_t, int, int64_t, long long, long], [-1])
394 OMPI_F77_CHECK([INTEGER*1], [no], 
395                [char, int8_t, short, int, int64_t, long long, long], [1])
396 OMPI_F77_CHECK([INTEGER*2], [no],
397                [short, int16_t, int32_t, int, int64_t, long long, long], [2])
398 OMPI_F77_CHECK([INTEGER*4], [no],
399                [int32_t, int, int64_t, long long, long], [4])
400 OMPI_F77_CHECK([INTEGER*8], [no],
401                [int, int64_t, long long, long], [8])
402 OMPI_F77_CHECK([INTEGER*16], [no],
403                [int, int64_t, long long, long], [16])
405 OMPI_F77_CHECK([REAL], [yes],
406                [float, double, long double], [-1])
407 OMPI_F77_CHECK([REAL*4], [no],
408                [float, double, long double], [4])
409 OMPI_F77_CHECK([REAL*8], [no],
410                [float, double, long double], [8])
411 OMPI_F77_CHECK([REAL*16], [no],
412                [float, double, long double], [16])
413 OMPI_F77_CHECK([DOUBLE PRECISION], [yes],
414                [float, double, long double], [-1])
416 OMPI_F77_CHECK([COMPLEX], [yes], [], [-1])
418 # The complex*N tests are a bit different (note: the complex tests are
419 # the same as all the rest, because complex is a composite of two
420 # reals, which we *have* to have.  It's only the complex*N tests that
421 # are different).  The fortran complex types are composites of the
422 # real*(N/2) types.  So for us to support complex*N, two conditions
423 # must be true:
425 # a) we must support real*(N/2) (i.e., compiler supports it and we
426 #    have a back-end C type for it)
427 # b) compiler supports complex*N
429 OMPI_F77_CHECK([COMPLEX*8], [no], [], [8])
430 OMPI_F77_CHECK([COMPLEX*16], [no], [], [16])
431 OMPI_F77_CHECK([COMPLEX*32], [no], [], [32])
433 # Regardless of whether we have fortran bindings, or even a fortran
434 # compiler, get the max value for a fortran MPI handle (this macro
435 # handles the case where we don't have a fortran compiler).
437 OMPI_F77_GET_FORTRAN_HANDLE_MAX
440 # Check for Fortran compilers value of TRUE and for the correct assumption
441 # on LOGICAL for conversion into what C considers to be a true value
443 OMPI_F77_GET_VALUE_TRUE
444 OMPI_F77_CHECK_LOGICAL_ARRAY
447 # There are 2 layers to the MPI f77 layer. The only extra thing that
448 # determine f77 bindings is that fortran can be disabled by user. In
449 # such cases, we need to not build the target at all.  One layer
450 # generates MPI_f77* bindings. The other layer generates PMPI_f77*
451 # bindings. The following conditions determine whether each (or both)
452 # these layers are built.
454 # Superceeding clause:
455 #   - fortran77 bindings should be enabled, else everything is
456 #     disabled
457 # 1. MPI_f77* bindings are needed if:
458 #   - Profiling is not required
459 #   - Profiling is required but weak symbols are not
460 #     supported
461 # 2. PMPI_* bindings are needed if profiling is required.  Hence we
462 # define 2 conditionals which tell us whether each of these layers
463 # need to be built or NOT
465 AM_CONDITIONAL(WANT_MPI_F77_BINDINGS_LAYER,
466                test \( "$WANT_MPI_PROFILING" = 0 -o "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1 \) -a "$OMPI_WANT_F77_BINDINGS" = 1)
467                     
468 AM_CONDITIONAL(WANT_PMPI_F77_BINDINGS_LAYER,
469                test "$OMPI_WANT_F77_BINDINGS" = 1 -a "$WANT_MPI_PROFILING" = 1)
471 #-----------
472 # Fortran 90
473 #-----------
475 OMPI_SETUP_F90
477 # Look for the fortran module compiler flag
478 OMPI_F90_FIND_MODULE_INCLUDE_FLAG
480 # Look for all the types
481 OMPI_F90_IKINDS=""
482 OMPI_F90_RKINDS=""
483 OMPI_F90_CKINDS=""
485 # LOGICAL and friends
486 OMPI_F90_CHECK([LOGICAL])
488 # INTEGER and friends
489 OMPI_F90_CHECK([INTEGER])
490 OMPI_F90_CHECK([INTEGER*1], [1])
491 OMPI_F90_CHECK([INTEGER*2], [2])
492 OMPI_F90_CHECK([INTEGER*4], [4])
493 OMPI_F90_CHECK([INTEGER*8], [8])
494 OMPI_F90_CHECK([INTEGER*16], [16])
496 # REAL, DOUBLE PRECISION, REAL*4, *8, *16
497 OMPI_F90_CHECK([REAL])
498 OMPI_F90_CHECK([REAL*4], [4], [1])
499 OMPI_F90_CHECK([REAL*8], [8], [1])
500 OMPI_F90_CHECK([REAL*16], [16], [1])
501 OMPI_F90_CHECK([DOUBLE PRECISION])
503 # COMPLEX, DOUBLE COMPLEX, COMPLEX*8, *16, *32
504 OMPI_F90_CHECK([COMPLEX])
505 OMPI_F90_CHECK([COMPLEX*8], [8])
506 OMPI_F90_CHECK([COMPLEX*16], [16])
507 OMPI_F90_CHECK([COMPLEX*32], [32])
508 OMPI_F90_CHECK([DOUBLE COMPLEX])
510 AC_SUBST(OMPI_F90_IKINDS)
511 AC_SUBST(OMPI_F90_RKINDS)
512 AC_SUBST(OMPI_F90_CKINDS)
514 # get kind value for Fortran MPI_INTEGER_KIND (corresponding to
515 # whatever is the same size as a F77 INTEGER -- for the
516 # most-likely-will-never-occur case where F77 INTEGER is smaller than
517 # an F90 INTEGER; see MPI-2 4.12.6.5
518 if test "$OMPI_SIZEOF_FORTRAN_INTEGER" = "2"; then
519     OMPI_F90_GET_INT_KIND(MPI_INTEGER_KIND, 4, OMPI_MPI_INTEGER_KIND)
520 elif test "$OMPI_SIZEOF_FORTRAN_INTEGER" = "4"; then
521     OMPI_F90_GET_INT_KIND(MPI_INTEGER_KIND, 9, OMPI_MPI_INTEGER_KIND)
522 elif test "$OMPI_SIZEOF_FORTRAN_INTEGER" = "8"; then
523     OMPI_F90_GET_INT_KIND(MPI_INTEGER_KIND, 18, OMPI_MPI_INTEGER_KIND)
524 elif test "$OMPI_SIZEOF_FORTRAN_INTEGER" = "16"; then
525     OMPI_F90_GET_INT_KIND(MPI_INTEGER_KIND, 19, OMPI_MPI_INTEGER_KIND)
526     AC_MSG_ERROR([Cannot support Fortran MPI_INTEGER_KIND!])
528 AC_SUBST(OMPI_MPI_INTEGER_KIND)
530 # get kind value for Fortran MPI_ADDRESS_KIND (corresponding to
531 # whatever is big enough to hold (void*))
532 if test "$ac_cv_sizeof_void_p" = "2"; then
533     OMPI_F90_GET_INT_KIND(MPI_ADDRESS_KIND, 4, OMPI_MPI_ADDRESS_KIND)
534 elif test "$ac_cv_sizeof_void_p" = "4"; then
535     OMPI_F90_GET_INT_KIND(MPI_ADDRESS_KIND, 9, OMPI_MPI_ADDRESS_KIND)
536 elif test "$ac_cv_sizeof_void_p" = "8"; then
537     OMPI_F90_GET_INT_KIND(MPI_ADDRESS_KIND, 18, OMPI_MPI_ADDRESS_KIND)
538 elif test "$ac_cv_sizeof_void_p" = "16"; then
539     OMPI_F90_GET_INT_KIND(MPI_ADDRESS_KIND, 19, OMPI_MPI_ADDRESS_KIND)
540 else
541     AC_MSG_ERROR([Cannot support Fortran MPI_ADDRESS_KIND!])
543 AC_SUBST(OMPI_MPI_ADDRESS_KIND)
545 # get kind value for Fortran MPI_OFFSET_KIND (corresponding to INTEGER*8)
546 OMPI_F90_GET_INT_KIND(MPI_OFFSET_KIND, 18, OMPI_MPI_OFFSET_KIND)
547 AC_SUBST(OMPI_MPI_OFFSET_KIND)
549 # checkpoint results
550 AC_CACHE_SAVE
552 ##################################
553 # Header files
554 ##################################
556 ompi_show_title "Header file tests"
558 AC_CHECK_HEADERS([alloca.h aio.h arpa/inet.h dirent.h \
559     dlfcn.h execinfo.h err.h fcntl.h grp.h inttypes.h libgen.h \
560     libutil.h netdb.h netinet/in.h netinet/tcp.h \
561     poll.h pthread.h pty.h pwd.h sched.h stdint.h \
562     string.h strings.h stropts.h sys/fcntl.h sys/ipc.h \
563     sys/ioctl.h sys/mman.h  sys/param.h sys/queue.h \
564     sys/resource.h sys/select.h sys/socket.h sys/sockio.h \
565     sys/stat.h sys/statvfs.h sys/time.h sys/tree.h \
566     sys/types.h sys/uio.h sys/utsname.h sys/wait.h syslog.h \
567     time.h termios.h ulimit.h unistd.h util.h utmp.h malloc.h])
569 # Needed to work around Darwin requiring sys/socket.h for
570 # net/if.h
571 AC_CHECK_HEADERS([net/if.h], [], [],
572     [#include <stdio.h>
573 #if STDC_HEADERS
574 # include <stdlib.h>
575 # include <stddef.h>
576 #else
577 # if HAVE_STDLIB_H
578 #  include <stdlib.h>
579 # endif
580 #endif
581 #if HAVE_SYS_SOCKET_H
582 # include <sys/socket.h>
583 #endif
586 # Note that sometimes we have <stdbool.h>, but it doesn't work (e.g.,
587 # have both Portland and GNU installed; using pgcc will find GNU's
588 # <stdbool.h>, which all it does -- by standard -- is define "bool" to
589 # "_Bool" [see
590 # http://www.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html],
591 # and Portland has no idea what to do with _Bool).
593 # So first figure out if we have <stdbool.h> (i.e., check the value of
594 # the macro HAVE_STDBOOL_H from the result of AC_CHECK_HEADERS,
595 # above).  If we do have it, then check to see if it actually works.
596 # Define OMPI_USE_STDBOOL_H as approrpaite.
597 AC_CHECK_HEADERS([stdbool.h], [have_stdbool_h=1], [have_stdbool_h=0])
598 AC_MSG_CHECKING([if <stdbool.h> works])
599 if test "$have_stdbool_h" = "1"; then
600     AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
601 AC_INCLUDES_DEFAULT
602 #if HAVE_STDBOOL_H
603 #include <stdbool.h>
604 #endif]], 
605 [[bool bar, foo = true; bar = foo;]]),
606 [OMPI_USE_STDBOOL_H=1 MSG=yes],[OMPI_USE_STDBOOL_H=0 MSG=no])
607 else
608     OMPI_USE_STDBOOL_H=0
609     MSG="no (don't have <stdbool.h>)"
611 AC_DEFINE_UNQUOTED(OMPI_USE_STDBOOL_H, $OMPI_USE_STDBOOL_H,
612     [Whether to use <stdbool.h> or not])
613 AC_MSG_RESULT([$MSG])
615 # checkpoint results
616 AC_CACHE_SAVE
619 ##################################
620 # Types
621 ##################################
623 ompi_show_title "Type tests"
625 # Size of pid_t
626 AC_CHECK_SIZEOF(pid_t)
628 AC_CHECK_TYPES([socklen_t], [AC_DEFINE([HAVE_SOCKLEN_T], [1], 
629                                        [Whether we have socklen_t or not])],
630                [], [AC_INCLUDES_DEFAULT
631 #include <sys/socket.h>])
633 AC_CHECK_TYPES([struct sockaddr_in], [], [], [AC_INCLUDES_DEFAULT
634 #ifdef HAVE_NETINET_IN_H
635 #include <netinet/in.h>
636 #endif])
638 # SA_RESTART in signal.h
639 AC_MSG_CHECKING([if SA_RESTART defined in signal.h])
640 AC_EGREP_CPP(yes, [
641 #include <signal.h>
642 #ifdef SA_RESTART
643     yes
644 #endif ], [MSG=yes VALUE=1], [MSG=no VALUE=0])
645 AC_DEFINE_UNQUOTED(OMPI_HAVE_SA_RESTART, $VALUE, 
646     [Whether we have SA_RESTART in <signal.h> or not])
647 AC_MSG_RESULT([$MSG])
649 # sa_len in struct sockaddr
650 AC_MSG_CHECKING([for sa_len in struct sockaddr])
651 AC_TRY_COMPILE([#include <sys/types.h>
652 #include <sys/socket.h>], [struct sockaddr s; s.sa_len;],
653 [MSG=yes VALUE=1], [MSG=no VALUE=0])
654 AC_DEFINE_UNQUOTED(OMPI_HAVE_SA_LEN, $VALUE,
655     [Whether we have the sa_len struct in <sys/socket.h> or not])
656 AC_MSG_RESULT([$MSG])
658 AC_CHECK_MEMBERS([struct dirent.d_type], [], [], [
659 #include <sys/types.h>
660 #include <dirent.h>])
662 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
663 AC_CHECK_MEMBERS([siginfo_t.si_band],,,[#include <signal.h>])
666 # checkpoint results
667 AC_CACHE_SAVE
670 ##################################
671 # Libraries
672 ##################################
674 ompi_show_title "Library and Function tests"
676 AC_CHECK_LIB([util], [openpty])
678 AC_CHECK_LIB([nsl], [gethostbyname])
680 AC_CHECK_LIB([socket], [socket])
682 # Solaris has sched_yeild in -lrt, usually in libc
683 OMPI_CHECK_FUNC_LIB([sched_yield], [rt])
685 # FreeBSD has backtrace in -lexecinfo, usually in libc
686 OMPI_CHECK_FUNC_LIB([backtrace], [execinfo])
688 # IRIX has dirname in -lgen, usually in libc
689 OMPI_CHECK_FUNC_LIB([dirname], [gen])
691 # Darwin doesn't need -lm, as it's a symlink to libSystem.dylib
692 OMPI_CHECK_FUNC_LIB([ceil], [m])
694 AC_CHECK_FUNCS([asprintf snprintf vasprintf vsnprintf openpty isatty htonl ntohl htons ntohs getpwuid fork waitpid execve pipe ptsname setsid mmap mallopt tcgetpgrp])
697 # Make sure we can copy va_lists (need check declared, not linkable)
700 AC_CHECK_DECL(va_copy, OMPI_HAVE_VA_COPY=1, OMPI_HAVE_VA_COPY=0, 
701               [#include <stdarg.h>])
702 AC_DEFINE_UNQUOTED(OMPI_HAVE_VA_COPY, $OMPI_HAVE_VA_COPY,
703     [Whether we have va_copy or not])
705 AC_CHECK_DECL(__va_copy, OMPI_HAVE_UNDERSCORE_VA_COPY=1,
706               OMPI_HAVE_UNDERSCORE_VA_COPY=0, [#include <stdarg.h>])
707 AC_DEFINE_UNQUOTED(OMPI_HAVE_UNDERSCORE_VA_COPY, $OMPI_HAVE_UNDERSCORE_VA_COPY,
708     [Whether we have __va_copy or not])
710 AC_CHECK_DECLS(__func__)
712 # checkpoint results
713 AC_CACHE_SAVE
716 ##################################
717 # System-specific tests
718 ##################################
720 ompi_show_title "System-specific tests"
723 # Test to determine type of MPI_Offset. This is searched in the following order
724 # int64_t, long long, long, int. If none of these are 8 bytes, then we should
725 # search for int32_t, long long, long, int.
727 MPI_OFFSET_TYPE="not found"
728 MPI_OFFSET_DATATYPE="not found"
729 AC_MSG_CHECKING([checking for type of MPI_Offset])
730 if test "$ac_cv_type_long_long" = "yes" -a "$ac_cv_sizeof_long_long" = 8; then
731         MPI_OFFSET_TYPE="long long"
732         MPI_OFFSET_DATATYPE=MPI_LONG_LONG
733         MPI_OFFSET_SIZE=8
734 elif test "$ac_cv_type_long" = "yes" -a "$ac_cv_sizeof_long" = 8; then
735         MPI_OFFSET_TYPE="long"
736         MPI_OFFSET_DATATYPE=MPI_LONG
737         MPI_OFFSET_SIZE=8
738 elif test "ac_cv_sizeof_int" = 8; then
739         MPI_OFFSET_TYPE=int
740         MPI_OFFSET_DATATYPE=MPI_INT
741         MPI_OFFSET_SIZE=8
742 elif test "$ac_cv_type_long_long" = "yes" -a "$ac_cv_sizeof_long_long" = 4; then
743         MPI_OFFSET_TYPE="long long"
744         MPI_OFFSET_DATATYPE=MPI_LONG_LONG
745         MPI_OFFSET_SIZE=4
746 elif test "$ac_cv_type_long" = "yes" -a "$ac_cv_sizeof_long" = 4; then
747         MPI_OFFSET_TYPE="long"
748         MPI_OFFSET_DATATYPE=MPI_LONG
749         MPI_OFFSET_SIZE=4
750 elif test "ac_cv_sizeof_int" = 4; then
751         MPI_OFFSET_TYPE=int
752         MPI_OFFSET_DATATYPE=MPI_INT
753         MPI_OFFSET_SIZE=4
755 AC_MSG_RESULT([$MPI_OFFSET_TYPE])
756 if test "$MPI_OFFSET_TYPE" = "not found"; then
757         AC_MSG_WARN([*** Unable to find the right definition for MPI_Offset])
758         AC_MSG_ERROR([Cannot continue])
760 AC_DEFINE_UNQUOTED(OMPI_MPI_OFFSET_TYPE, $MPI_OFFSET_TYPE, [Type of MPI_Offset -- has to be defined here and typedef'ed later because mpi.h does not get AC SUBST's])
763 # If we haven't already, figure out an MPI datatype that corresponds
764 # to the back-end C type of MPI_Offset.
766 AC_MSG_CHECKING([checking for an MPI datatype for MPI_Offset])
767 AC_MSG_RESULT([$MPI_OFFSET_DATATYPE])
768 if test "$MPI_OFFSET_DATATYPE" = "not found"; then
769         AC_MSG_WARN([*** Unable to find an MPI datatype corresponding to MPI_Offset])
770         AC_MSG_ERROR([Cannot continue])
772 AC_DEFINE_UNQUOTED(OMPI_OFFSET_DATATYPE, $MPI_OFFSET_DATATYPE, [MPI datatype corresponding to MPI_Offset])
774 # all: endian
776 AC_C_BIGENDIAN
778 OMPI_CHECK_BROKEN_QSORT
780 # all: SYSV semaphores
781 # all: SYSV shared memory
782 # all: size of FD_SET
783 # all: sizeof struct stat members
784 # all: type of getsockopt optlen
785 # all: type of recvfrom optlen
788 # Check out what thread support we have
791 OMPI_CONFIG_THREADS
792 CFLAGS="$CFLAGS $THREAD_CFLAGS"
793 CXXFLAGS="$CXXFLAGS $THREAD_CXXFLAGS"
794 CPPFLAGS="$CPPFLAGS $THREAD_CPPFLAGS"
795 CXXCPPFLAGS="$CXXCPPFLAGS $THREAD_CXXCPPFLAGS"
796 LDFLAGS="$LDFLAGS $THREAD_LDFLAGS"
797 LIBS="$LIBS $THREAD_LIBS"
800 WRAPPER_EXTRA_CPPFLAGS="$WRAPPER_EXTRA_CPPFLAGS $THREAD_CPPFLAGS"
801 WRAPPER_EXTRA_CFLAGS="$WRAPPER_EXTRA_CFLAGS $THREAD_CFLAGS"
802 WRAPPER_EXTRA_CXXFLAGS="$WRAPPER_EXTRA_CXXFLAGS $THREAD_CXXFLAGS"
803 WRAPPER_EXTRA_FFLAGS="$WRAPPER_EXTRA_FFLAGS $THREAD_FFLAGS"
804 WRAPPER_EXTRA_FCFLAGS="$WRAPPER_EXTRA_FCFLAGS $THREAD_FFLAGS"
805 WRAPPER_EXTRA_LDFLAGS="$WRAPPER_EXTRA_LDFLAGS $THREAD_LDFLAGS"
806 # no need to update WRAPPER_EXTRA_LIBS - we'll get it from LT later
809 # What is the local equivalent of "ln -s"
812 AC_PROG_LN_S
815 # We need as and lex
817 AM_PROG_AS
818 AM_PROG_LEX
820 # If we don't have GNU Flex and we don't have a generated .c file
821 # (distribution tarballs will have the .c file included, but SVN
822 # checkouts will not), then error.  Must have GNU Flex -- other
823 # versions of Lex are not workable (all things being equal, since this
824 # is *only* required for developers, we decided that it really was not
825 # worth it to be portable between different versions of lex ;-).
827 if test -z "$LEX" -o -n "`echo $LEX | grep missing`" -o \
828     "`basename $LEX`" != "flex"; then
829     if test ! -f "$srcdir/opal/util/show_help_lex.c"; then
830         AC_MSG_WARN([*** Could not find GNU Flex on your system.])
831         AC_MSG_WARN([*** GNU Flex required for developer builds of Open MPI.])
832         AC_MSG_WARN([*** Other versions of Lex are not supported.])
833         AC_MSG_WARN([*** YOU DO NOT NEED FLEX FOR DISTRIBUTION TARBALLS!])
834         AC_MSG_WARN([*** If you absolutely cannot install GNU Flex on this system])
835         AC_MSG_WARN([*** consider using a distribution tarball, or generate the])
836         AC_MSG_WARN([*** following files on another system (using Flex) and])
837         AC_MSG_WARN([*** copy them here:])
838         for lfile in `find . -name \*.l -print`; do
839             cfile="`echo $lfile | cut -d. -f-2`"
840             AC_MSG_WARN([***     $cfile.c])
841         done
842         AC_MSG_ERROR([Cannot continue])
843     fi
847 # File system case sensitivity
850 OMPI_CASE_SENSITIVE_FS_SETUP
852 # AIX: FIONBIO in sys/ioctl.h
853 # glibc: memcpy
855 # checkpoint results
856 AC_CACHE_SAVE
859 ##################################
860 # MCA
861 ##################################
863 ompi_show_title "Modular Component Architecture (MCA) setup" 
865 AC_MSG_CHECKING([for subdir args])
866 OMPI_CONFIG_SUBDIR_ARGS([ompi_subdir_args])
867 AC_MSG_RESULT([$ompi_subdir_args])
869 OMPI_MCA
871 # checkpoint results
872 AC_CACHE_SAVE
875 ############################################################################
876 # Final top-level OMPI configuration
877 ############################################################################
879 ompi_show_title "Final top-level OMPI configuration"
881 ############################################################################
882 # Libevent setup
883 ############################################################################
885 ompi_show_subtitle "Libevent 3rd party event handler"
886 CFLAGS_save="$CFLAGS"
887 CFLAGS="$OMPI_CFLAGS_BEFORE_PICKY"
888 OMPI_SETUP_LIBEVENT
889 CFLAGS="$CFLAGS_save"
892 ############################################################################
893 # Libtool: part two
894 # (after C compiler setup)
895 ############################################################################
897 ompi_show_subtitle "Libtool configuration"
899 # Use convenience libltdl for the moment, because we need to force the
900 # use of the newest libltdl (i.e., the one that ships with libtool
901 # 1.5) because it has support for a lot more things than older
902 # versions of libtool (which are generally installed by default).
903 AS_IF([test "$OMPI_ENABLE_DLOPEN_SUPPORT" = "1"], 
904        [AC_LIBLTDL_CONVENIENCE(opal/libltdl)
905         AC_LIBTOOL_DLOPEN])
906 AC_SUBST(LTDLINCL)
907 AC_SUBST(LIBLTDL)
908 AM_PROG_LIBTOOL
910 # AC_CONFIG_SUBDIRS appears to be broken for non-gcc compilers (i.e.,
911 # passing precious variables down to the sub-configure).  
913 # Note that we also did some magic scripty-foo in autogen.sh to rename
914 # the output libtool library "libompi_ltdl", so add -lompi_ltdl here.
915 # This is because so many systems have older versions of libltdl
916 # installed very early in ld.so's search path; if we installed our own
917 # libltdl in some non-standard path (e.g., $HOME/local or even
918 # /usr/local), the libltdl in /usr/lib might get found first.  And if
919 # it's older -- or just not matching the version that we need, Bad
920 # Things happen.  [sigh]
922 # Finally, make libompi_ltdl follow the same shared/static convention
923 # that was user for the main OMPI libraries.  So manually examine
924 # $enable_shared and $enable_static and pass down the corresponding
925 # flags.
927 ompi_show_subtitle "GNU libltdl setup" 
929 if test "$OMPI_ENABLE_DLOPEN_SUPPORT" = "1" ; then
930     ompi_subdir_args="$ompi_subdir_args --enable-ltdl-convenience --disable-ltdl-install"
931     if test "$enable_shared" = "yes"; then
932         ompi_subdir_args="$ompi_subdir_args --enable-shared"
933     else
934         ompi_subdir_args="$ompi_subdir_args --disable-shared"
935     fi
936     if test "$enable_static" = "yes"; then
937         ompi_subdir_args="$ompi_subdir_args --enable-static"
938     else
939         ompi_subdir_args="$ompi_subdir_args --disable-static"
940     fi
942     CFLAGS_save="$CFLAGS"
943     CFLAGS="$OMPI_CFLAGS_BEFORE_PICKY"
944     OMPI_CONFIG_SUBDIR(opal/libltdl, [$ompi_subdir_args], [HAPPY=1], [HAPPY=0])
945     if test "$HAPPY" = "1"; then
946         LIBLTDL_SUBDIR=libltdl
947         LIBLTDL_LTLIB=libltdl/libltdlc.la
948         WANT_LIBLTDL=1
950         # Arrgh.  This is gross.  But I can't think of any other way to do
951         # it.  :-(
953         flags="`egrep ^LIBADD_DL opal/libltdl/Makefile | cut -d= -f2-`"
954         OMPI_CHECK_LINKER_FLAGS([opal/libltdl/libtool], [-export-dynamic $flags])
955         WRAPPER_EXTRA_LIBS="$WRAPPER_EXTRA_LIBS $extra_ldflags"
956         LDFLAGS="-export-dynamic $LDFLAGS"
957     else
958         AC_MSG_ERROR([Failed to build GNU libltdl.  This usually means that something
959 is incorrectly setup with your environment.  There may be useful information in
960 opal/libltdl/config.log.  You can also disable GNU libltdl (which will disable
961 dynamic shared object loading) by configuring with --disable-dlopen.])
962     fi
963     CFLAGS="$CFLAGS_save"
964     OPAL_LTDL_CPPFLAGS='-I$(top_srcdir)/opal/libltdl'
965 else
966     AC_MSG_WARN([libltdl support disabled (by --disable-dlopen)])
968     LIBLTDL_SUBDIR=
969     LIBLTDL_LTLIB=
970     WANT_LIBLTDL=0
971     OPAL_LTDL_CPPFLAGS=
973     # append instead of prepend, since LIBS are going to be system
974     # type things needed by everyone.  Normally, libltdl will push
975     # these into LIBS, but since we've disabled libltdl, we need
976     # to do it here.
977     WRAPPER_EXTRA_LIBS="$WRAPPER_EXTRA_LIBS $LIBS"
980 AC_SUBST(LIBLTDL_SUBDIR)
981 AC_SUBST(LIBLTDL_LTLIB)
982 # Have a variable that can be used to indicate where ltdl.h lives.  Do
983 # this specifically so that we get the included ltdl.h (which we know
984 # will work properly with the compiled code, including libltdl), not
985 # the system one (which is likely to be far too old and buggy).
986 AC_SUBST(OPAL_LTDL_CPPFLAGS)
988 AM_CONDITIONAL(WANT_LIBLTDL, test "$WANT_LIBLTDL" = "1")
989 AC_DEFINE_UNQUOTED(OMPI_WANT_LIBLTDL, $WANT_LIBLTDL,
990     [Whether to include support for libltdl or not])
993 ############################################################################
994 # final compiler config
995 ############################################################################
997 ompi_show_subtitle "Compiler flags"
1000 # This is needed for VPATH builds, so that it will -I the appropriate
1001 # include directory.  We delayed doing it until now just so that
1002 # '-I$(top_srcdir)' doesn't show up in any of the configure output --
1003 # purely aesthetic.
1005 # Because opal_config.h, orte_config.h, and ompi_config.h are all
1006 # created by AC_CONFIG_HEADERS, we don't need to -I the builddir for
1007 # <project>/include.  If we VPATH building, we do need to include the
1008 # source directories, however.
1010 if test "$OMPI_TOP_BUILDDIR" != "$OMPI_TOP_SRCDIR"; then
1011     CPPFLAGS='-I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/opal/include -I$(top_srcdir)/orte/include -I$(top_srcdir)/ompi/include'" $CPPFLAGS"
1012     CXXCPPFLAGS='-I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/opal/include -I$(top_srcdir)/orte/include -I$(top_srcdir)/ompi/include'" $CXXCPPFLAGS"
1013 else
1014     CPPFLAGS='-I$(top_srcdir)'" $CPPFLAGS"
1015     CXXCPPFLAGS='-I$(top_srcdir)'" $CXXCPPFLAGS"
1019 # Do a final process of the CFLAGS to make a WITHOUT_OPTFLAGS version.
1020 # We need this so that we can guarantee to build the TotalView stuff
1021 # with -g and nothing else.
1024 OMPI_MAKE_STRIPPED_FLAGS($CFLAGS)
1025 CFLAGS_WITHOUT_OPTFLAGS="$s_result"
1026 if test "$with_tv_debug_flags" != ""; then
1027     TOTALVIEW_DEBUG_FLAGS="$with_tv_debug_flags"
1028 else
1029     TOTALVIEW_DEBUG_FLAGS="-g"
1031 AC_MSG_CHECKING([which of CFLAGS are ok for TotalView modules])
1032 AC_MSG_RESULT([$CFLAGS_WITHOUT_OPTFLAGS])
1033 AC_MSG_CHECKING([extra CFLAGS for TotalView modules])
1034 AC_MSG_RESULT([$TOTALVIEW_DEBUG_FLAGS])
1036 AC_SUBST(CFLAGS_WITHOUT_OPTFLAGS)
1037 AC_SUBST(TOTALVIEW_DEBUG_FLAGS)
1041 # Delayed the substitution of CFLAGS and CXXFLAGS until now because
1042 # they may have been modified throughout the course of this script.
1045 AC_SUBST(CFLAGS)
1046 AC_SUBST(CPPFLAGS)
1047 AC_SUBST(CXXFLAGS)
1048 AC_SUBST(CXXCPPFLAGS)
1049 AC_SUBST(FFLAGS)
1050 AC_SUBST(FCFLAGS)
1052 ############################################################################
1053 # final wrapper compiler config
1054 ############################################################################
1056 ompi_show_subtitle "Wrapper compiler flags"
1057 OMPI_SETUP_WRAPPER_FINAL
1059 ############################################################################
1060 # Party on
1061 ############################################################################
1063 ompi_show_subtitle "Final output" 
1065 OMPI_INSTALL_DIRS(opal/include/opal/install_dirs.h)
1067 AM_CONFIG_HEADER([opal/include/opal_config.h orte/include/orte_config.h ompi/include/ompi_config.h ompi/include/mpi.h])
1068 AC_CONFIG_FILES([
1069     Makefile
1071     config/Makefile
1073     contrib/Makefile
1075     opal/Makefile
1076     opal/etc/Makefile
1077     opal/include/Makefile
1078     opal/asm/Makefile
1079     opal/event/Makefile
1080     opal/event/compat/Makefile
1081     opal/event/compat/sys/Makefile
1082     opal/util/Makefile
1083     opal/util/keyval/Makefile
1084     opal/mca/base/Makefile
1085     opal/tools/wrappers/Makefile
1086     opal/tools/wrappers/opalcc-wrapper-data.txt
1087     opal/tools/wrappers/opalc++-wrapper-data.txt
1089     orte/Makefile
1090     orte/include/Makefile
1091     orte/etc/Makefile
1093     orte/tools/orted/Makefile
1094     orte/tools/orterun/Makefile
1095     orte/tools/wrappers/Makefile
1096     orte/tools/wrappers/ortecc-wrapper-data.txt
1097     orte/tools/wrappers/ortec++-wrapper-data.txt
1099     ompi/Makefile
1100     ompi/etc/Makefile
1101     ompi/include/Makefile
1102     ompi/include/mpif.h
1103     ompi/include/mpif-config.h
1105     ompi/datatype/Makefile
1106     ompi/debuggers/Makefile
1108     ompi/mpi/Makefile
1109     ompi/mpi/c/Makefile
1110     ompi/mpi/c/profile/Makefile
1111     ompi/mpi/cxx/Makefile
1112     ompi/mpi/f77/Makefile
1113     ompi/mpi/f77/profile/Makefile
1114     ompi/mpi/f90/Makefile
1115     ompi/mpi/f90/fortran_kinds.sh
1116     ompi/mpi/f90/fortran_sizes.h
1117     ompi/mpi/f90/scripts/Makefile
1119     ompi/tools/ompi_info/Makefile
1120     ompi/tools/wrappers/Makefile
1121     ompi/tools/wrappers/mpicc-wrapper-data.txt
1122     ompi/tools/wrappers/mpic++-wrapper-data.txt
1123     ompi/tools/wrappers/mpif77-wrapper-data.txt
1124     ompi/tools/wrappers/mpif90-wrapper-data.txt
1126     test/Makefile
1127     test/asm/Makefile
1128     test/class/Makefile
1129     test/dss/Makefile
1130     test/mca/Makefile
1131     test/mca/gpr/Makefile
1132     test/mca/gpr/remote/Makefile
1133     test/mca/ns/Makefile
1134     test/mca/oob/Makefile
1135     test/mca/ras/Makefile
1136     test/mca/rds/Makefile
1137     test/mca/rmaps/Makefile
1138     test/mca/rmgr/Makefile
1139     test/mca/schema/Makefile
1140     test/mca/soh/Makefile
1141     test/memory/Makefile
1142     test/runtime/Makefile
1143     test/support/Makefile
1144     test/threads/Makefile
1145     test/util/Makefile
1146     test/peruse/Makefile
1148 AC_OUTPUT