2003-11-22 19:36:58 +03:00
|
|
|
# -*- shell-script -*-
|
|
|
|
#
|
2004-01-07 10:49:23 +03:00
|
|
|
# $HEADER$
|
2003-11-22 19:36:58 +03:00
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Initialization, version number, and other random setup/init stuff
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
# Init autoconf
|
|
|
|
|
2004-01-11 00:32:32 +03:00
|
|
|
AC_INIT(./src/mpi/interface/c/init.c)
|
2003-11-22 19:36:58 +03:00
|
|
|
AC_PREREQ(2.52)
|
|
|
|
AC_CONFIG_AUX_DIR(./config)
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
# Get the version of LAM that we are installing
|
|
|
|
|
|
|
|
LAM_GET_VERSION($srcdir/config, $srcdir/VERSION, LAM)
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(LAM_MAJOR_VERSION, $LAM_MAJOR_VERSION,
|
|
|
|
[Major LAM version])
|
|
|
|
AC_DEFINE_UNQUOTED(LAM_MINOR_VERSION, $LAM_MINOR_VERSION,
|
|
|
|
[Minor LAM version])
|
|
|
|
AC_DEFINE_UNQUOTED(LAM_RELEASE_VERSION, $LAM_RELEASE_VERSION,
|
|
|
|
[Release LAM version])
|
|
|
|
AC_DEFINE_UNQUOTED(LAM_ALPHA_VERSION, $LAM_ALPHA_VERSION,
|
|
|
|
[Alpha LAM version])
|
|
|
|
AC_DEFINE_UNQUOTED(LAM_BETA_VERSION, $LAM_BETA_VERSION,
|
|
|
|
[Beta LAM version])
|
|
|
|
AC_DEFINE_UNQUOTED(LAM_CVS_VERSION, $LAM_CVS_VERSION,
|
|
|
|
[CVS LAM version])
|
|
|
|
AC_DEFINE_UNQUOTED(LAM_VERSION, "$LAM_VERSION",
|
|
|
|
[Overall LAM version number])
|
|
|
|
|
|
|
|
AC_SUBST(LAM_MAJOR_VERSION)
|
|
|
|
AC_SUBST(LAM_MINOR_VERSION)
|
|
|
|
AC_SUBST(LAM_RELEASE_VERSION)
|
|
|
|
AC_SUBST(LAM_ALPHA_VERSION)
|
|
|
|
AC_SUBST(LAM_BETA_VERSION)
|
|
|
|
AC_SUBST(LAM_CVS_VERSION)
|
|
|
|
AC_SUBST(LAM_VERSION)
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# Start it up
|
|
|
|
#
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
LAM_CONFIGURE_SETUP
|
|
|
|
lam_show_title "Configuring LAM version $LAM_VERSION"
|
|
|
|
lam_show_subtitle "Initialization, setup"
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# Init automake
|
|
|
|
# The third argument to AM_INIT_AUTOMAKE surpresses the PACKAGE and
|
|
|
|
# VERSION macors
|
|
|
|
#
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
AM_INIT_AUTOMAKE(lam, $LAM_VERSION, 'no')
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
LAM_TOP_BUILDDIR="`pwd`"
|
|
|
|
AC_SUBST(LAM_TOP_BUILDDIR)
|
2003-11-22 19:36:58 +03:00
|
|
|
cd "$srcdir"
|
2003-12-22 19:29:21 +03:00
|
|
|
LAM_TOP_SRCDIR="`pwd`"
|
|
|
|
AC_SUBST(LAM_TOP_SRCDIR)
|
|
|
|
cd "$LAM_TOP_BUILDDIR"
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
AC_MSG_NOTICE([builddir: $LAM_TOP_BUILDDIR])
|
|
|
|
AC_MSG_NOTICE([srcdir: $LAM_TOP_SRCDIR])
|
|
|
|
if test "$LAM_TOP_BUILDDIR" != "$LAM_TOP_SRCDIR"; then
|
2003-11-22 19:36:58 +03:00
|
|
|
AC_MSG_NOTICE([Detected VPATH build])
|
|
|
|
fi
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
# Setup the top of the src/include/lam_config.h file
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
AH_TOP([/* -*- c -*-
|
|
|
|
*
|
2004-01-07 17:55:23 +03:00
|
|
|
* $HEADER$
|
2003-11-22 19:36:58 +03:00
|
|
|
*
|
|
|
|
* Function: - OS, CPU and compiler dependent configuration
|
|
|
|
*/
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
#ifndef LAM_CONFIG_H
|
|
|
|
#define LAM_CONFIG_H
|
|
|
|
])
|
|
|
|
AH_BOTTOM([
|
2004-01-14 22:57:37 +03:00
|
|
|
#include "lam_config_bottom.h"
|
2003-12-22 19:29:21 +03:00
|
|
|
#endif /* LAM_CONFIG_H */
|
2003-11-22 19:36:58 +03:00
|
|
|
])
|
|
|
|
|
2004-01-21 02:16:25 +03:00
|
|
|
# Other basic setup stuff (shared with modules)
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2004-01-21 02:16:25 +03:00
|
|
|
LAM_BASIC_SETUP
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Configuration options
|
|
|
|
############################################################################
|
|
|
|
|
2004-01-07 10:49:23 +03:00
|
|
|
LAM_CONFIGURE_OPTIONS
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Libtool: part one
|
|
|
|
# (before C compiler setup)
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
#
|
|
|
|
# Part one of libtool magic. Enable static so that we have the --with
|
|
|
|
# tests done up here and can check for OS. Save the values of
|
|
|
|
# $enable_static and $enable_shared before setting the defaults,
|
|
|
|
# because if the user specified --[en|dis]able-[static|shared] on the
|
|
|
|
# command line, they'll already be set. In this way, we can tell if
|
|
|
|
# the user requested something or if the default was set here.
|
|
|
|
#
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
lam_enable_shared="$enable_shared"
|
|
|
|
lam_enable_static="$enable_static"
|
2003-11-22 19:36:58 +03:00
|
|
|
AM_DISABLE_SHARED
|
|
|
|
AM_ENABLE_STATIC
|
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Check for compilers and preprocessors
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
##################################
|
|
|
|
# C compiler characteristics
|
|
|
|
##################################
|
|
|
|
|
2004-01-07 10:49:23 +03:00
|
|
|
LAM_SETUP_CC
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
# force ANSI prototypes
|
|
|
|
# check for STDC
|
|
|
|
# check for some types
|
2004-01-09 04:17:00 +03:00
|
|
|
AC_CHECK_TYPES(long long)
|
|
|
|
AC_CHECK_TYPES(int8_t)
|
|
|
|
AC_CHECK_TYPES(uint8_t)
|
|
|
|
AC_CHECK_TYPES(int16_t)
|
|
|
|
AC_CHECK_TYPES(uint16_t)
|
|
|
|
AC_CHECK_TYPES(int32_t)
|
|
|
|
AC_CHECK_TYPES(uint32_t)
|
|
|
|
AC_CHECK_TYPES(int64_t)
|
|
|
|
AC_CHECK_TYPES(uint64_t)
|
|
|
|
AC_CHECK_TYPES(intptr_t)
|
|
|
|
AC_CHECK_TYPES(uintptr_t)
|
2003-11-22 19:36:58 +03:00
|
|
|
# check for type sizes
|
2004-01-09 04:17:00 +03:00
|
|
|
AC_CHECK_SIZEOF(char)
|
|
|
|
AC_CHECK_SIZEOF(short)
|
|
|
|
AC_CHECK_SIZEOF(int)
|
|
|
|
AC_CHECK_SIZEOF(long)
|
|
|
|
AC_CHECK_SIZEOF(long long)
|
|
|
|
AC_CHECK_SIZEOF(void *)
|
2003-11-22 19:36:58 +03:00
|
|
|
# check for type alignments
|
2004-01-07 10:49:23 +03:00
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
AC_C_INLINE
|
2004-01-14 20:35:41 +03:00
|
|
|
AC_C_RESTRICT
|
2004-01-07 22:33:37 +03:00
|
|
|
AC_CHECK_HEADERS(stdbool.h)
|
2004-01-08 16:36:14 +03:00
|
|
|
LAM_C_WEAK_SYMBOLS
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2004-01-08 16:36:14 +03:00
|
|
|
# If we want the profiling layer:
|
|
|
|
# - If the C compiler has weak symbols, use those.
|
|
|
|
# - If not, then set to compile the code again with #define's in a
|
|
|
|
# separate directory.
|
|
|
|
|
|
|
|
if test "$WANT_WEAK_SYMBOLS" = "0"; then
|
2004-01-15 04:11:59 +03:00
|
|
|
LAM_C_HAVE_WEAK_SYMBOLS=0
|
2004-01-08 16:36:14 +03:00
|
|
|
fi
|
|
|
|
if test "$WANT_MPI_PROFILING" = "1"; then
|
|
|
|
if test "$LAM_C_HAVE_WEAK_SYMBOLS" = "1"; then
|
|
|
|
LAM_PROFILING_COMPILE_SEPARATELY=0
|
|
|
|
else
|
|
|
|
LAM_PROFILING_COMPILE_SEPARATELY=1
|
|
|
|
fi
|
|
|
|
else
|
2004-01-08 16:52:27 +03:00
|
|
|
LAM_PROFILING_COMPILE_SEPARATELY=0
|
2004-01-08 16:36:14 +03:00
|
|
|
fi
|
2004-01-15 04:11:59 +03:00
|
|
|
#
|
|
|
|
# There are 2 layers to the MPI Language binidings
|
|
|
|
# One layer generates MPI_* bindings. The other layer
|
|
|
|
# generates PMPI_* bindings. The following conditions
|
|
|
|
# determine whether each (or both) these layers are
|
|
|
|
# built.
|
|
|
|
# 1. MPI_* bindings are needed if:
|
|
|
|
# - Profiling is not required
|
|
|
|
# - Profiling is required but weak symbols are not
|
|
|
|
# supported
|
|
|
|
# 2. PMPI_* bindings are needed if profiling is required.
|
|
|
|
# Hence we define 2 AM_CONDITIONALs which tell us whether
|
|
|
|
# each of these layers need to be built or NOT
|
|
|
|
#
|
|
|
|
AM_CONDITIONAL(WANT_MPI_BINDINGS_LAYER,
|
|
|
|
test "$WANT_MPI_PROFILING" = 0 -o "$LAM_PROFILING_COMPILE_SEPARATELY" = 1)
|
|
|
|
|
|
|
|
AM_CONDITIONAL(WANT_PMPI_BINDINGS_LAYER,
|
|
|
|
test "$WANT_MPI_PROFILING" = 1)
|
2004-01-08 18:51:54 +03:00
|
|
|
AM_CONDITIONAL(COMPILE_PROFILING_SEPARATELY,
|
|
|
|
test "$LAM_PROFILING_COMPILE_SEPARATELY" = 1)
|
2004-01-08 16:36:14 +03:00
|
|
|
AC_DEFINE_UNQUOTED(LAM_WANT_MPI_PROFILING, $WANT_MPI_PROFILING,
|
2004-01-08 18:51:54 +03:00
|
|
|
[Whether we want MPI profiling or not])
|
2004-01-08 16:36:14 +03:00
|
|
|
AC_DEFINE_UNQUOTED(LAM_HAVE_WEAK_SYMBOLS, $LAM_C_HAVE_WEAK_SYMBOLS,
|
2004-01-08 18:51:54 +03:00
|
|
|
[Wehther we have weak symbols or not])
|
2004-01-08 16:36:14 +03:00
|
|
|
|
2004-01-07 10:49:23 +03:00
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
##################################
|
|
|
|
# C++ compiler characteristics
|
|
|
|
##################################
|
|
|
|
|
2004-01-07 10:49:23 +03:00
|
|
|
LAM_SETUP_CXX
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
# check for STL
|
|
|
|
# check for bool (and corresponding C type)
|
|
|
|
# check for true/false
|
|
|
|
# check for type sizes
|
|
|
|
# check for type alignments
|
|
|
|
# check for template repository
|
|
|
|
|
2004-01-07 10:49:23 +03:00
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
##################################
|
|
|
|
# Fortran
|
|
|
|
##################################
|
|
|
|
|
2004-01-08 16:36:14 +03:00
|
|
|
LAM_SETUP_F77
|
2004-01-09 11:25:18 +03:00
|
|
|
if test -n "$F77"; then
|
|
|
|
LAM_F77_FIND_EXT_SYMBOL_CONVENTION($F77)
|
2004-01-21 02:16:25 +03:00
|
|
|
|
|
|
|
# checking the sizeof fortran interger. This is needed to define
|
|
|
|
# MPI_Fint. This is needed for C bindings and hence there is no
|
|
|
|
# bearing of --enable-fortran flag on this test.
|
|
|
|
|
|
|
|
LAM_SIZEOF_FORTRAN_INT=0
|
|
|
|
LAM_GET_SIZEOF_FORTRAN_TYPE(INTEGER, LAM_SIZEOF_FORTRAN_INT)
|
2004-01-09 11:25:18 +03:00
|
|
|
fi
|
|
|
|
|
2004-01-08 16:36:14 +03:00
|
|
|
LAM_SETUP_F90
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
|
|
|
|
##################################
|
|
|
|
# Header files
|
|
|
|
##################################
|
|
|
|
|
|
|
|
# snprintf declaration
|
|
|
|
# gethostname declaration
|
|
|
|
# headers:
|
|
|
|
# stropts.h grh.h netinet/tcp.h sys/select.h sys/resource.h pty.h util.h
|
|
|
|
# rpc/types.h rpc/xdr.h sched.h strings.h
|
|
|
|
|
|
|
|
# SA_RESTART in signal.h
|
|
|
|
# sa_len in struct sockaddr
|
|
|
|
# union semun in sys/sem.h
|
|
|
|
|
|
|
|
|
|
|
|
##################################
|
|
|
|
# Libraries
|
|
|
|
##################################
|
|
|
|
|
|
|
|
# -lsocket
|
|
|
|
# -lnsl
|
|
|
|
# -lutil (openpty)
|
|
|
|
# openpty
|
|
|
|
# atexit
|
|
|
|
# getcwd
|
|
|
|
# snprintf
|
|
|
|
# atoll
|
|
|
|
# strtoll
|
|
|
|
# yield
|
|
|
|
# sched_yield
|
|
|
|
# vscanf
|
2004-01-14 09:39:55 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# Make sure we can copy va_lists (need check declared, not linkable)
|
|
|
|
#
|
|
|
|
|
|
|
|
AC_CHECK_DECL(va_copy, LAM_HAVE_VA_COPY=1, LAM_HAVE_VA_COPY=0,
|
|
|
|
[#include <stdarg.h>])
|
|
|
|
AC_DEFINE_UNQUOTED(LAM_HAVE_VA_COPY, $LAM_HAVE_VA_COPY,
|
|
|
|
[Whether we have va_copy or not])
|
|
|
|
|
|
|
|
AC_CHECK_DECL(__va_copy, LAM_HAVE_UNDERSCORE_VA_COPY=1,
|
|
|
|
LAM_HAVE_UNDERSCORE_VA_COPY=0, [#include <stdarg.h>])
|
|
|
|
AC_DEFINE_UNQUOTED(LAM_HAVE_UNDERSCORE_VA_COPY, $LAM_HAVE_UNDERSCORE_VA_COPY,
|
|
|
|
[Whether we have __va_copy or not])
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
##################################
|
|
|
|
# System-specific tests
|
|
|
|
##################################
|
|
|
|
|
2004-01-09 08:32:21 +03:00
|
|
|
lam_show_title "System-specific tests"
|
2004-01-17 01:16:25 +03:00
|
|
|
#
|
|
|
|
# Determine what MPI_Fint shout be defined as. If the size of
|
|
|
|
# fortran integer is 4 then it is defined to either
|
|
|
|
# int32_t or int. Similarly if the size of fortran integer
|
|
|
|
# is 8 bytes then it is defined to either int64_t or int.
|
|
|
|
# ac_cv_type_int32_t=yes implies that unint_32 was present.
|
|
|
|
# similary ac_cv_type_int64_t=yes. Similarly the values
|
|
|
|
# of ac_cv_sizeof_int will contain the size of int and later
|
|
|
|
# this will be #defined to SIZEOF_INT.
|
2004-01-19 04:33:03 +03:00
|
|
|
# NOTE:
|
|
|
|
# This test should be carried out ONLY if there is a f77 compiler
|
|
|
|
# available. Else we should default to MPI_Fint being an int.
|
2004-01-17 01:16:25 +03:00
|
|
|
#
|
2004-01-19 04:33:03 +03:00
|
|
|
if test -n "$F77"; then
|
|
|
|
MPI_FINT_TYPE="not found"
|
|
|
|
AC_MSG_CHECKING([checking for type of MPI_Fint])
|
|
|
|
if test "$LAM_SIZEOF_FORTRAN_INT" = 4 ; then
|
2004-01-21 02:16:25 +03:00
|
|
|
if test "$ac_cv_type_int32_t" = "yes"; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_FINT_TYPE=int32_t
|
2004-01-21 02:16:25 +03:00
|
|
|
elif test "$ac_cv_sizeof_int" = 4 ; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_FINT_TYPE=int
|
2004-01-21 02:16:25 +03:00
|
|
|
fi
|
2004-01-19 04:33:03 +03:00
|
|
|
elif test "$LAM_SIZEOF_FORTRAN_INT" = 8 ; then
|
2004-01-21 02:16:25 +03:00
|
|
|
if test "$ac_cv_type_int64_t" = "yes"; then
|
|
|
|
MPI_FINT_TYPE=int64_t
|
|
|
|
elif test "$ac_cv_type_long_long" = "yes" -a "$ac_cv_sizeof_long_long" = 8; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_FINT_TYPE="long long"
|
2004-01-21 02:16:25 +03:00
|
|
|
elif test "$ac_cv_sizeof_long" = 8; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_FINT_TYPE="long"
|
2004-01-21 02:16:25 +03:00
|
|
|
elif test "$ac_cv_sizeof_int" = 8 ; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_FINT_TYPE=int
|
2004-01-21 02:16:25 +03:00
|
|
|
fi
|
2004-01-19 04:33:03 +03:00
|
|
|
fi
|
|
|
|
AC_MSG_RESULT([$MPI_FINT_TYPE])
|
|
|
|
if test "$MPI_FINT_TYPE" = "not found"; then
|
2004-01-21 02:16:25 +03:00
|
|
|
AC_MSG_WARN([*** WARNING: Unable to find the right definition for MPI_Fint])
|
|
|
|
AC_MSG_ERROR([Cannot continue])
|
2004-01-19 04:33:03 +03:00
|
|
|
fi
|
|
|
|
AC_DEFINE_UNQUOTED(MPI_Fint, $MPI_FINT_TYPE, [Type of MPI_Fint])
|
|
|
|
else
|
2004-01-21 02:16:25 +03:00
|
|
|
AC_MSG_WARN([*** WARNING: Could not detect a f77 compiler. MPI_Fint will be defined as an int])
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_FINT_TYPE=int
|
|
|
|
AC_DEFINE_UNQUOTED(MPI_Fint, $MPI_FINT_TYPE, [Type of MPI_Fint])
|
|
|
|
fi
|
|
|
|
|
|
|
|
#
|
|
|
|
# Test to determine type of MPI_Offset. This is searched in the following order
|
|
|
|
# int64_t, long long, long, int. If none of these are 8 bytes, then we should
|
|
|
|
# search for int32_t, long long, long, int.
|
|
|
|
#
|
|
|
|
MPI_OFFSET_TYPE="not found"
|
|
|
|
AC_MSG_CHECKING([checking for type of MPI_Offset])
|
|
|
|
if test "$ac_cv_type_int64_t" == "yes"; then
|
|
|
|
MPI_OFFSET_TYPE=int64_t
|
|
|
|
elif test "$ac_cv_type_long_long_t" == "yes" -a "$ac_cv_sizeof_long_long" = 8; then
|
|
|
|
MPI_OFFSET_TYPE="long long"
|
|
|
|
elif test "$ac_cv_type_long_t" == "yes" -a "$ac_cv_sizeof_long" = 8; then
|
|
|
|
MPI_OFFSET_TYPE="long"
|
|
|
|
elif test "ac_cv_sizeof_int" = 8; then
|
|
|
|
MPI_OFFSET_TYPE=int
|
|
|
|
elif test "$ac_cv_type_int32_t" == "yes"; then
|
|
|
|
MPI_OFFSET_TYPE=int32_t
|
|
|
|
elif test "$ac_cv_type_long_long_t" == "yes" -a "$ac_cv_sizeof_long_long" = 4; then
|
|
|
|
MPI_OFFSET_TYPE="long long"
|
|
|
|
elif test "$ac_cv_type_long_t" == "yes" -a "$ac_cv_sizeof_long" = 4; then
|
|
|
|
MPI_OFFSET_TYPE="long"
|
|
|
|
elif test "ac_cv_sizeof_int" = 4; then
|
|
|
|
MPI_OFFSET_TYPE=int
|
2004-01-17 01:16:25 +03:00
|
|
|
fi
|
2004-01-19 04:33:03 +03:00
|
|
|
AC_MSG_RESULT([$MPI_OFFSET_TYPE])
|
2004-01-17 07:10:01 +03:00
|
|
|
if test "$MPI_FINT_TYPE" = "not found"; then
|
2004-01-19 04:33:03 +03:00
|
|
|
AC_MSG_WARN([*** WARNING: Unable to find the right definition for MPI_Offset])
|
|
|
|
AC_MSG_ERROR([Cannot continue])
|
2004-01-17 01:16:25 +03:00
|
|
|
fi
|
2004-01-19 04:33:03 +03:00
|
|
|
AC_DEFINE_UNQUOTED(MPI_Offset, $MPI_OFFSET_TYPE, [Type of MPI_Offset])
|
|
|
|
|
2004-01-17 01:16:25 +03:00
|
|
|
|
2004-01-09 08:32:21 +03:00
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
# all: endian
|
|
|
|
# all: SYSV semaphores
|
|
|
|
# all: SYSV shared memory
|
|
|
|
# all: thread flavor
|
|
|
|
# all: size of FD_SET
|
|
|
|
# all: FD passing (or not!!)
|
|
|
|
# all: BSD vs. SYSV ptys
|
|
|
|
# all: sizeof struct stat members
|
|
|
|
# all: type of getsockopt optlen
|
|
|
|
# all: type of recvfrom optlen
|
2004-01-09 08:08:31 +03:00
|
|
|
|
2004-01-14 10:06:57 +03:00
|
|
|
#
|
|
|
|
# Check out what thread support we have
|
|
|
|
#
|
|
|
|
|
|
|
|
LAM_CONFIG_THREADS
|
|
|
|
|
2004-01-09 11:25:18 +03:00
|
|
|
#
|
2004-01-09 08:08:31 +03:00
|
|
|
# File system case sensitivity
|
2004-01-09 11:25:18 +03:00
|
|
|
#
|
2004-01-09 08:08:31 +03:00
|
|
|
|
|
|
|
LAM_CASE_SENSITIVE_FS_SETUP
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
# AIX: FIONBIO in sys/ioctl.h
|
|
|
|
# glibc: memcpy
|
|
|
|
|
|
|
|
|
2004-01-12 00:35:37 +03:00
|
|
|
##################################
|
|
|
|
# MCA
|
|
|
|
##################################
|
|
|
|
|
|
|
|
lam_show_title "MPI Component Architecture (MCA) setup"
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([for subdir args])
|
|
|
|
LAM_CONFIG_SUBDIR_ARGS([lam_subdir_args])
|
|
|
|
AC_MSG_RESULT([$lam_subdir_args])
|
|
|
|
|
|
|
|
LAM_MCA
|
|
|
|
|
|
|
|
|
2004-01-16 04:31:50 +03:00
|
|
|
############################################################################
|
|
|
|
# Final top-level LAM configuration
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
lam_show_title "Final top-level LAM configuration"
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
############################################################################
|
|
|
|
# Libtool: part two
|
|
|
|
# (after C compiler setup)
|
|
|
|
############################################################################
|
|
|
|
|
2004-01-16 04:31:50 +03:00
|
|
|
lam_show_subtitle "Libtool / libltdl configuration"
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2004-01-15 02:50:58 +03:00
|
|
|
# Use convenience libltdl for the moment, because we need to force the
|
|
|
|
# use of the newest libltdl (i.e., the one that ships with libtool
|
|
|
|
# 1.5) because it has support for a lot more things than older
|
|
|
|
# versions of libtool (which are generally installed by default).
|
|
|
|
|
|
|
|
AC_LIBLTDL_CONVENIENCE(src/mca/libltdl)
|
|
|
|
AC_SUBST(LTDLINCL)
|
|
|
|
AC_SUBST(LIBLTDL)
|
|
|
|
AC_LIBTOOL_DLOPEN
|
2003-11-22 19:36:58 +03:00
|
|
|
AM_PROG_LIBTOOL
|
|
|
|
|
2004-01-15 02:50:58 +03:00
|
|
|
# AC_CONFIG_SUBDIRS appears to be broken for non-gcc compilers (i.e.,
|
|
|
|
# passing precious variables down to the sub-configure).
|
|
|
|
#
|
|
|
|
# Note that we also did some magic scripty-foo in autogen.sh to rename
|
|
|
|
# the output libtool library "liblamltdl", so add -llamltdl here.
|
|
|
|
# This is because so many systems have older versions of libltdl
|
|
|
|
# installed very early in ld.so's search path; if we installed our own
|
|
|
|
# libltdl in some non-standard path (e.g., $HOME/local or even
|
|
|
|
# /usr/local), the libltdl in /usr/lib might get found first. And if
|
|
|
|
# it's older -- or just not matching the version that we need, Bad
|
|
|
|
# Things happen. [sigh]
|
|
|
|
#
|
|
|
|
# Finally, make liblamltdl follow the same shared/static convention
|
|
|
|
# that was user for the main LAM libraries. So manually examine
|
|
|
|
# $enable_shared and $enable_static and pass down the corresponding
|
|
|
|
# flags.
|
|
|
|
|
|
|
|
lam_show_subtitle "GNU libltdl setup"
|
|
|
|
|
|
|
|
lam_subdir_args="$lam_subdir_args --enable-ltdl-convenience --disable-ltdl-install"
|
|
|
|
if test "$enable_shared" = "yes"; then
|
|
|
|
lam_subdir_args="$lam_subdir_args --enable-shared"
|
|
|
|
else
|
|
|
|
lam_subdir_args="$lam_subdir_args --disable-shared"
|
|
|
|
fi
|
|
|
|
if test "$enable_static" = "yes"; then
|
|
|
|
lam_subdir_args="$lam_subdir_args --enable-static"
|
|
|
|
else
|
|
|
|
lam_subdir_args="$lam_subdir_args --disable-static"
|
|
|
|
fi
|
|
|
|
|
2004-01-16 04:31:50 +03:00
|
|
|
CFLAGS_save="$CFLAGS"
|
|
|
|
CFLAGS="$LAM_CFLAGS_BEFORE_PICKY"
|
2004-01-15 02:50:58 +03:00
|
|
|
LAM_CONFIG_SUBDIR(src/mca/libltdl, [$lam_subdir_args], [HAPPY=1], [HAPPY=0])
|
|
|
|
if test "$HAPPY" = "1"; then
|
|
|
|
LIBLTDL_SUBDIR=libltdl
|
|
|
|
LIBLTDL_LTLIB=libltdl/libltdlc.la
|
|
|
|
WANT_LIBLTDL=1
|
|
|
|
|
|
|
|
# Arrgh. This is gross. But I can't think of any other way to do
|
|
|
|
# it. :-(
|
|
|
|
|
|
|
|
flags="`egrep ^LIBADD_DL src/mca/libltdl/Makefile | cut -d= -f2-`"
|
|
|
|
LAM_CHECK_LINKER_FLAGS([src/mca/libltdl/libtool], [-export-dynamic $flags])
|
|
|
|
WRAPPER_EXTRA_LIBS="$WRAPPER_EXTRA_LIBS $extra_ldflags"
|
|
|
|
LDFLAGS="-export-dynamic $LDFLAGS"
|
|
|
|
else
|
|
|
|
LIBLTDL_SUBDIR=
|
|
|
|
LIBLTDL_LTLIB=
|
|
|
|
WANT_LIBLTDL=0
|
|
|
|
fi
|
2004-01-16 04:31:50 +03:00
|
|
|
CFLAGS="$CFLAGS_save"
|
2004-01-15 02:50:58 +03:00
|
|
|
AC_SUBST(LIBLTDL_SUBDIR)
|
|
|
|
AC_SUBST(LIBLTDL_LTLIB)
|
|
|
|
AM_CONDITIONAL(WANT_LIBLTDL, test "$WANT_LIBLTDL" = "1")
|
|
|
|
AC_DEFINE_UNQUOTED(LAM_WANT_LIBLTDL, $WANT_LIBLTDL,
|
|
|
|
[Whether to include support for libltdl or not])
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# final wrapper compiler config
|
|
|
|
############################################################################
|
|
|
|
|
2004-01-16 04:31:50 +03:00
|
|
|
lam_show_subtitle "Wrapper compiler flags"
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# This is needed for VPATH builds, so that it will -I the appropriate
|
|
|
|
# include directory (don't know why automake doesn't do this
|
|
|
|
# automatically). We delayed doing it until now just so that
|
|
|
|
# '-I$(top_srcdir)' doesn't show up in any of the configure output --
|
|
|
|
# purely aesthetic.
|
|
|
|
#
|
|
|
|
|
2004-01-14 22:57:37 +03:00
|
|
|
CPPFLAGS='-I$(top_srcdir)/src -I$(top_srcdir)/src/include'" $CPPFLAGS"
|
|
|
|
CXXCPPFLAGS='-I$(top_srcdir)/src -I$(top_srcdir)/src/include'" $CXXCPPFLAGS"
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2004-01-12 10:08:37 +03:00
|
|
|
#
|
|
|
|
# Adding WRAPPER_* flags so that extra flags needed for wrappper compilers
|
|
|
|
#
|
|
|
|
# WRAPPER_EXTRA_CFLAGS
|
|
|
|
#
|
2004-01-16 05:03:41 +03:00
|
|
|
AC_MSG_CHECKING([for mpicc CFLAGS])
|
2004-01-12 10:08:37 +03:00
|
|
|
LAM_UNIQ(WRAPPER_EXTRA_CFLAGS)
|
|
|
|
AC_SUBST(WRAPPER_EXTRA_CFLAGS)
|
|
|
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_CFLAGS, "$WRAPPER_EXTRA_CFLAGS",
|
|
|
|
[Additional CFLAGS to pass through the wrapper compilers])
|
2004-01-16 05:03:41 +03:00
|
|
|
AC_MSG_RESULT([$WRAPPER_EXTRA_CFLAGS])
|
2004-01-12 10:08:37 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# WRAPPER_EXTRA_CXXFLAGS
|
|
|
|
#
|
2004-01-16 05:03:41 +03:00
|
|
|
AC_MSG_CHECKING([for mpiCC CXXFLAGS])
|
2004-01-12 10:08:37 +03:00
|
|
|
LAM_UNIQ(WRAPPER_EXTRA_CXXFLAGS)
|
|
|
|
AC_SUBST(WRAPPER_EXTRA_CXXFLAGS)
|
|
|
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_CXXFLAGS, "$WRAPPER_EXTRA_CXXFLAGS",
|
|
|
|
[Additional CXXFLAGS to pass through the wrapper compilers])
|
2004-01-16 05:03:41 +03:00
|
|
|
AC_MSG_RESULT([$WRAPPER_EXTRA_CXXFLAGS])
|
2004-01-12 10:08:37 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# WRAPPER_EXTRA_FFLAGS
|
|
|
|
#
|
2004-01-16 05:03:41 +03:00
|
|
|
AC_MSG_CHECKING([for mpif77/mpif90 FFLAGS])
|
2004-01-12 10:08:37 +03:00
|
|
|
LAM_UNIQ(WRAPPER_EXTRA_FFLAGS)
|
|
|
|
AC_SUBST(WRAPPER_EXTRA_FFLAGS)
|
|
|
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_FFLAGS, "$WRAPPER_EXTRA_FFLAGS",
|
|
|
|
[Additional FFLAGS to pass through the wrapper compilers])
|
2004-01-16 05:03:41 +03:00
|
|
|
AC_MSG_RESULT([$WRAPPER_EXTRA_FFLAGS])
|
2004-01-12 10:08:37 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# WRAPPER_EXTRA_LDFLAGS
|
|
|
|
#
|
2004-01-16 05:03:41 +03:00
|
|
|
AC_MSG_CHECKING([for wrapper compiler LDFLAGS])
|
2004-01-12 10:08:37 +03:00
|
|
|
LAM_UNIQ(WRAPPER_EXTRA_LDFLAGS)
|
|
|
|
AC_SUBST(WRAPPER_EXTRA_LDFLAGS)
|
|
|
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_LDFLAGS, "$WRAPPER_EXTRA_LDFLAGS",
|
|
|
|
[Additional LDFLAGS to pass through the wrapper compilers])
|
2004-01-16 05:03:41 +03:00
|
|
|
AC_MSG_RESULT([$WRAPPER_EXTRA_LDFLAGS])
|
2004-01-12 10:08:37 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# WRAPPER_EXTRA_LIBS
|
|
|
|
#
|
2004-01-16 05:03:41 +03:00
|
|
|
AC_MSG_CHECKING([for wrapper compiler LIBS])
|
2004-01-12 10:08:37 +03:00
|
|
|
AC_SUBST(WRAPPER_EXTRA_LIBS)
|
|
|
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_LIBS, "$WRAPPER_EXTRA_LIBS",
|
|
|
|
[Additional LIBS to pass through the wrapper compilers])
|
2004-01-16 05:03:41 +03:00
|
|
|
AC_MSG_RESULT([$WRAPPER_EXTRA_LIBS])
|
2004-01-12 10:08:37 +03:00
|
|
|
|
2004-01-19 04:41:40 +03:00
|
|
|
#
|
|
|
|
# Delayed the substitution of CFLAGS and CXXFLAGS until now because
|
|
|
|
# they may have been modified throughout the course of this script.
|
|
|
|
#
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
AC_SUBST(CFLAGS)
|
|
|
|
AC_SUBST(CPPFLAGS)
|
|
|
|
AC_SUBST(CXXFLAGS)
|
|
|
|
AC_SUBST(CXXCPPFLAGS)
|
|
|
|
AC_SUBST(FFLAGS)
|
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Party on
|
|
|
|
############################################################################
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
lam_show_subtitle "Final output"
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
AM_CONFIG_HEADER([src/include/lam_config.h])
|
2003-11-22 19:36:58 +03:00
|
|
|
AC_CONFIG_FILES([
|
|
|
|
Makefile
|
|
|
|
|
|
|
|
config/Makefile
|
|
|
|
|
|
|
|
src/Makefile
|
|
|
|
src/include/Makefile
|
2003-11-22 19:57:54 +03:00
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
src/lam/Makefile
|
2004-01-07 21:58:24 +03:00
|
|
|
src/lam/ctnetwork/Makefile
|
2004-01-07 10:49:23 +03:00
|
|
|
src/lam/lfc/Makefile
|
2003-12-22 19:29:21 +03:00
|
|
|
src/lam/mem/Makefile
|
2004-01-07 17:55:23 +03:00
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
src/lam/os/Makefile
|
2004-01-07 17:55:23 +03:00
|
|
|
src/lam/os/cygwin/Makefile
|
|
|
|
src/lam/os/darwin/Makefile
|
2004-01-09 00:42:18 +03:00
|
|
|
src/lam/os/darwin/ppc_32/Makefile
|
2004-01-07 17:55:23 +03:00
|
|
|
src/lam/os/darwin/ppc_64/Makefile
|
|
|
|
src/lam/os/irix/Makefile
|
|
|
|
src/lam/os/irix/sn0/Makefile
|
|
|
|
src/lam/os/linux/Makefile
|
|
|
|
src/lam/os/linux/alpha/Makefile
|
|
|
|
src/lam/os/linux/i686/Makefile
|
|
|
|
src/lam/os/linux/ia64/Makefile
|
|
|
|
src/lam/os/linux/x86_64/Makefile
|
|
|
|
src/lam/os/tru64/Makefile
|
|
|
|
|
2004-01-15 09:12:34 +03:00
|
|
|
src/lam/runtime/Makefile
|
2003-12-22 19:29:21 +03:00
|
|
|
src/lam/threads/Makefile
|
|
|
|
src/lam/util/Makefile
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
src/mpi/Makefile
|
2004-01-13 02:54:05 +03:00
|
|
|
src/mpi/attribute/Makefile
|
2004-01-11 00:32:32 +03:00
|
|
|
src/mpi/communicator/Makefile
|
|
|
|
src/mpi/datatype/Makefile
|
2004-01-13 02:54:05 +03:00
|
|
|
src/mpi/errhandler/Makefile
|
2004-01-11 03:10:44 +03:00
|
|
|
src/mpi/group/Makefile
|
|
|
|
src/mpi/info/Makefile
|
2004-01-11 00:32:32 +03:00
|
|
|
src/mpi/interface/Makefile
|
|
|
|
src/mpi/interface/c/Makefile
|
|
|
|
src/mpi/interface/c/profile/Makefile
|
|
|
|
src/mpi/interface/cxx/Makefile
|
|
|
|
src/mpi/interface/f77/Makefile
|
|
|
|
src/mpi/interface/f77/profile/Makefile
|
|
|
|
src/mpi/interface/f90/Makefile
|
2004-01-11 03:10:44 +03:00
|
|
|
src/mpi/op/Makefile
|
|
|
|
src/mpi/proc/Makefile
|
|
|
|
src/mpi/request/Makefile
|
2004-01-15 09:12:34 +03:00
|
|
|
src/mpi/runtime/Makefile
|
2003-11-22 19:57:54 +03:00
|
|
|
|
2004-01-09 00:42:18 +03:00
|
|
|
src/mca/Makefile
|
2004-01-12 00:35:37 +03:00
|
|
|
|
2004-01-09 00:42:18 +03:00
|
|
|
src/mca/lam/Makefile
|
2004-01-12 00:35:37 +03:00
|
|
|
src/mca/lam/base/Makefile
|
|
|
|
src/mca/lam/common_lam/Makefile
|
|
|
|
src/mca/lam/common_lam/base/Makefile
|
2004-01-10 07:44:43 +03:00
|
|
|
src/mca/lam/oob/Makefile
|
|
|
|
src/mca/lam/oob/base/Makefile
|
|
|
|
src/mca/lam/pcm/Makefile
|
|
|
|
src/mca/lam/pcm/base/Makefile
|
|
|
|
src/mca/lam/registry/Makefile
|
|
|
|
src/mca/lam/registry/base/Makefile
|
2004-01-12 00:35:37 +03:00
|
|
|
|
2004-01-09 00:42:18 +03:00
|
|
|
src/mca/mpi/Makefile
|
2004-01-12 00:35:37 +03:00
|
|
|
src/mca/mpi/base/Makefile
|
2004-01-09 00:42:18 +03:00
|
|
|
src/mca/mpi/coll/Makefile
|
2004-01-09 11:25:18 +03:00
|
|
|
src/mca/mpi/coll/base/Makefile
|
2004-01-12 00:35:37 +03:00
|
|
|
src/mca/mpi/common_mpi/Makefile
|
|
|
|
src/mca/mpi/common_mpi/base/Makefile
|
2004-01-09 00:42:18 +03:00
|
|
|
src/mca/mpi/io/Makefile
|
2004-01-09 11:25:18 +03:00
|
|
|
src/mca/mpi/io/base/Makefile
|
2004-01-09 00:42:18 +03:00
|
|
|
src/mca/mpi/one/Makefile
|
2004-01-09 11:25:18 +03:00
|
|
|
src/mca/mpi/one/base/Makefile
|
2004-01-09 00:42:18 +03:00
|
|
|
src/mca/mpi/pml/Makefile
|
2004-01-09 11:25:18 +03:00
|
|
|
src/mca/mpi/pml/base/Makefile
|
2004-01-09 00:42:18 +03:00
|
|
|
src/mca/mpi/ptl/Makefile
|
2004-01-09 11:25:18 +03:00
|
|
|
src/mca/mpi/ptl/base/Makefile
|
2004-01-09 00:42:18 +03:00
|
|
|
src/mca/mpi/topo/Makefile
|
2004-01-09 11:25:18 +03:00
|
|
|
src/mca/mpi/topo/base/Makefile
|
2004-01-09 00:42:18 +03:00
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
src/tools/Makefile
|
2004-01-19 08:47:09 +03:00
|
|
|
src/tools/laminfo/Makefile
|
2004-01-14 11:38:51 +03:00
|
|
|
src/tools/mpirun/Makefile
|
2003-11-22 19:36:58 +03:00
|
|
|
src/tools/wrappers/Makefile
|
|
|
|
|
|
|
|
test/Makefile
|
2004-01-15 03:07:17 +03:00
|
|
|
test/support/Makefile
|
2004-01-15 03:59:26 +03:00
|
|
|
test/lam/Makefile
|
|
|
|
test/lam/lfc/Makefile
|
2003-11-22 19:36:58 +03:00
|
|
|
test/unit/Makefile
|
2004-01-11 03:02:06 +03:00
|
|
|
test/unit/lam/Makefile
|
|
|
|
test/unit/lam/oob_cofs/Makefile
|
2004-01-14 09:39:55 +03:00
|
|
|
test/unit/lam/util/Makefile
|
2003-11-22 19:36:58 +03:00
|
|
|
test/unit/mpi/Makefile
|
|
|
|
test/unit/mpi/communicator/Makefile
|
|
|
|
test/unit/mpi/datatype/Makefile
|
|
|
|
])
|
|
|
|
AC_OUTPUT
|