2003-11-22 19:36:58 +03:00
|
|
|
# -*- shell-script -*-
|
|
|
|
#
|
2004-11-22 04:38:40 +03:00
|
|
|
# Copyright (c) 2004-2005 The Trustees of Indiana University.
|
|
|
|
# All rights reserved.
|
|
|
|
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
|
|
|
# All rights reserved.
|
2004-11-28 23:09:25 +03:00
|
|
|
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
|
|
# University of Stuttgart. All rights reserved.
|
2005-03-24 15:43:37 +03:00
|
|
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
|
|
|
# All rights reserved.
|
2004-11-22 04:38:40 +03:00
|
|
|
# $COPYRIGHT$
|
|
|
|
#
|
|
|
|
# Additional copyrights may follow
|
|
|
|
#
|
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-03-17 22:06:06 +03:00
|
|
|
AC_INIT(./src/mpi/c/init.c)
|
2004-02-14 09:02:04 +03:00
|
|
|
AC_PREREQ(2.58)
|
2003-11-22 19:36:58 +03:00
|
|
|
AC_CONFIG_AUX_DIR(./config)
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
# Get the version of OMPI that we are installing
|
|
|
|
|
2004-07-07 16:45:36 +04:00
|
|
|
OMPI_GET_VERSION($srcdir/VERSION, OMPI)
|
2004-06-07 19:33:53 +04:00
|
|
|
|
|
|
|
AC_SUBST(OMPI_MAJOR_VERSION)
|
|
|
|
AC_SUBST(OMPI_MINOR_VERSION)
|
|
|
|
AC_SUBST(OMPI_RELEASE_VERSION)
|
|
|
|
AC_SUBST(OMPI_ALPHA_VERSION)
|
|
|
|
AC_SUBST(OMPI_BETA_VERSION)
|
2005-03-25 06:19:46 +03:00
|
|
|
AC_SUBST(OMPI_WANT_SVN)
|
|
|
|
AC_SUBST(OMPI_SVN_R)
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_SUBST(OMPI_VERSION)
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2005-04-08 14:17:25 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_MAJOR_VERSION, $OMPI_MAJOR_VERSION,
|
|
|
|
[Major release number of Open MPI])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_MINOR_VERSION, $OMPI_MINOR_VERSION,
|
|
|
|
[Major release number of Open MPI])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_RELEASE_VERSION, $OMPI_RELEASE_VERSION,
|
|
|
|
[Major release number of Open MPI])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALPHA_VERSION, $OMPI_ALPHA_VERSION,
|
|
|
|
[Major release number of Open MPI])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_BETA_VERSION, $OMPI_BETA_VERSION,
|
|
|
|
[Major release number of Open MPI])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_VERSION, "$OMPI_RELEASE_VERSION",
|
|
|
|
[Major release number of Open MPI])
|
|
|
|
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
#
|
|
|
|
# Start it up
|
|
|
|
#
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_CONFIGURE_SETUP
|
|
|
|
ompi_show_title "Configuring OMPI version $OMPI_VERSION"
|
|
|
|
ompi_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
|
|
|
|
#
|
|
|
|
|
2004-06-17 05:03:09 +04:00
|
|
|
AM_INIT_AUTOMAKE(openmpi, $OMPI_VERSION, 'no')
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2004-08-19 23:27:15 +04:00
|
|
|
#
|
|
|
|
# GNU C and autotools are inconsistent about whether this is defined
|
|
|
|
# so let's make it true everywhere for now...
|
|
|
|
#
|
|
|
|
AC_GNU_SOURCE
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_TOP_BUILDDIR="`pwd`"
|
|
|
|
AC_SUBST(OMPI_TOP_BUILDDIR)
|
2003-11-22 19:36:58 +03:00
|
|
|
cd "$srcdir"
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_TOP_SRCDIR="`pwd`"
|
|
|
|
AC_SUBST(OMPI_TOP_SRCDIR)
|
|
|
|
cd "$OMPI_TOP_BUILDDIR"
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_MSG_NOTICE([builddir: $OMPI_TOP_BUILDDIR])
|
|
|
|
AC_MSG_NOTICE([srcdir: $OMPI_TOP_SRCDIR])
|
|
|
|
if test "$OMPI_TOP_BUILDDIR" != "$OMPI_TOP_SRCDIR"; then
|
2003-11-22 19:36:58 +03:00
|
|
|
AC_MSG_NOTICE([Detected VPATH build])
|
|
|
|
fi
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
# Setup the top of the include/ompi_config.h file
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
AH_TOP([/* -*- c -*-
|
|
|
|
*
|
2004-11-22 04:38:40 +03:00
|
|
|
* Copyright (c) 2004-2005 The Trustees of Indiana University.
|
|
|
|
* All rights reserved.
|
|
|
|
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
|
|
|
* All rights reserved.
|
2004-11-28 23:09:25 +03:00
|
|
|
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
|
|
* University of Stuttgart. All rights reserved.
|
2005-03-24 15:43:37 +03:00
|
|
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
|
|
|
* All rights reserved.
|
2004-11-22 04:38:40 +03:00
|
|
|
* $COPYRIGHT$
|
|
|
|
*
|
|
|
|
* Additional copyrights may follow
|
|
|
|
*
|
2004-01-07 17:55:23 +03:00
|
|
|
* $HEADER$
|
2003-11-22 19:36:58 +03:00
|
|
|
*
|
|
|
|
* Function: - OS, CPU and compiler dependent configuration
|
|
|
|
*/
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
#ifndef OMPI_CONFIG_H
|
|
|
|
#define OMPI_CONFIG_H
|
2003-12-22 19:29:21 +03:00
|
|
|
])
|
|
|
|
AH_BOTTOM([
|
2004-06-07 19:33:53 +04:00
|
|
|
#include "ompi_config_bottom.h"
|
|
|
|
#endif /* OMPI_CONFIG_H */
|
2003-11-22 19:36:58 +03:00
|
|
|
])
|
|
|
|
|
2004-08-02 04:24:22 +04:00
|
|
|
# Other basic setup stuff (shared with components)
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_BASIC_SETUP
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
top_ompi_srcdir="$OMPI_TOP_SRCDIR"
|
|
|
|
AC_SUBST(top_ompi_srcdir)
|
|
|
|
top_ompi_builddir="$OMPI_TOP_BUILDDIR"
|
|
|
|
AC_SUBST(top_ompi_builddir)
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Configuration options
|
|
|
|
############################################################################
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_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.
|
|
|
|
#
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_enable_shared="$enable_shared"
|
|
|
|
ompi_enable_static="$enable_static"
|
2004-07-01 20:25:44 +04:00
|
|
|
AM_ENABLE_SHARED
|
|
|
|
AM_DISABLE_STATIC
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Check for compilers and preprocessors
|
|
|
|
############################################################################
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_show_title "Compiler and preprocessor tests"
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
##################################
|
|
|
|
# C compiler characteristics
|
|
|
|
##################################
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_SETUP_CC
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2004-02-13 21:05:49 +03:00
|
|
|
#
|
|
|
|
# Check for some types
|
|
|
|
#
|
|
|
|
|
2004-01-09 04:17:00 +03:00
|
|
|
AC_CHECK_TYPES(long long)
|
2004-04-24 00:52:42 +04:00
|
|
|
AC_CHECK_TYPES(long double)
|
2004-01-09 04:17:00 +03:00
|
|
|
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)
|
2004-10-14 00:47:52 +04:00
|
|
|
AC_CHECK_TYPES(mode_t)
|
2004-02-13 21:05:49 +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)
|
2004-04-24 00:52:42 +04:00
|
|
|
if test $ac_cv_type_long_long = yes; then
|
|
|
|
AC_CHECK_SIZEOF(long long)
|
|
|
|
fi
|
|
|
|
if test $ac_cv_type_long_double = yes; then
|
|
|
|
AC_CHECK_SIZEOF(long double)
|
|
|
|
fi
|
2004-06-29 04:02:25 +04:00
|
|
|
AC_CHECK_SIZEOF(float)
|
|
|
|
AC_CHECK_SIZEOF(double)
|
2004-01-09 04:17:00 +03:00
|
|
|
AC_CHECK_SIZEOF(void *)
|
2005-04-05 06:32:36 +04:00
|
|
|
AC_CHECK_SIZEOF(size_t)
|
2004-02-13 21:05:49 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# Check for type alignments
|
|
|
|
#
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_C_GET_ALIGNMENT(char, OMPI_ALIGNMENT_CHAR)
|
|
|
|
OMPI_C_GET_ALIGNMENT(short, OMPI_ALIGNMENT_SHORT)
|
|
|
|
OMPI_C_GET_ALIGNMENT(wchar_t, OMPI_ALIGNMENT_WCHAR)
|
|
|
|
OMPI_C_GET_ALIGNMENT(int, OMPI_ALIGNMENT_INT)
|
|
|
|
OMPI_C_GET_ALIGNMENT(long, OMPI_ALIGNMENT_LONG)
|
2004-04-24 00:52:42 +04:00
|
|
|
if test $ac_cv_type_long_long = yes; then
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_C_GET_ALIGNMENT(long long, OMPI_ALIGNMENT_LONG_LONG)
|
2004-04-24 00:52:42 +04:00
|
|
|
fi
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_C_GET_ALIGNMENT(float, OMPI_ALIGNMENT_FLOAT)
|
|
|
|
OMPI_C_GET_ALIGNMENT(double, OMPI_ALIGNMENT_DOUBLE)
|
2004-04-24 00:52:42 +04:00
|
|
|
if test $ac_cv_type_long_double = yes; then
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_C_GET_ALIGNMENT(long double, OMPI_ALIGNMENT_LONG_DOUBLE)
|
2004-04-24 00:52:42 +04:00
|
|
|
fi
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_C_GET_ALIGNMENT(void *, OMPI_ALIGNMENT_VOID_P)
|
2004-02-13 21:05:49 +03:00
|
|
|
|
2004-10-23 00:30:59 +04:00
|
|
|
#
|
|
|
|
# Does the C compiler native support "bool"? (i.e., without
|
|
|
|
# <stdbool.h> or any other help)
|
|
|
|
#
|
|
|
|
|
|
|
|
AC_MSG_CHECKING(for C bool type)
|
|
|
|
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
|
|
|
|
AC_INCLUDES_DEFAULT]],
|
|
|
|
[[bool bar, foo = true; bar = foo;]]),
|
|
|
|
[OMPI_NEED_C_BOOL=0 MSG=yes],[OMPI_NEED_C_BOOL=1 MSG=no])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_NEED_C_BOOL, $OMPI_NEED_C_BOOL,
|
|
|
|
[Whether the C compiler supports "bool" without any other help (such as <stdbool.h>)])
|
|
|
|
AC_MSG_RESULT([$MSG])
|
|
|
|
|
2004-02-13 21:05:49 +03:00
|
|
|
#
|
|
|
|
# Check for other compiler characteristics
|
|
|
|
#
|
2004-01-07 10:49:23 +03:00
|
|
|
|
2004-06-15 21:10:47 +04:00
|
|
|
if test "$GCC" = "yes"; then
|
|
|
|
|
|
|
|
# gcc 2.96 will emit oodles of warnings if you use "inline" with
|
|
|
|
# -pedantic (which we do in developer builds). However,
|
|
|
|
# "__inline__" is ok. So we have to force gcc to select the
|
|
|
|
# right one. If you use -pedantic, the AC_C_INLINE test will fail
|
|
|
|
# (because it names a function foo() -- without the (void)). So
|
|
|
|
# we turn off all the picky flags, turn on -ansi mode (which is
|
|
|
|
# implied by -pedantic), and set warnings to be errors. Hence,
|
|
|
|
# this does the following (for 2.96):
|
|
|
|
#
|
|
|
|
# - causes the check for "inline" to emit a warning, which then
|
|
|
|
# fails
|
|
|
|
# - checks for __inline__, which then emits no error, and works
|
|
|
|
#
|
|
|
|
# This also works nicely for gcc 3.x because "inline" will work on
|
|
|
|
# the first check, and all is fine. :-)
|
|
|
|
|
|
|
|
CFLAGS_save="$CFLAGS"
|
|
|
|
CFLAGS="$OMPI_CFLAGS_BEFORE_PICKY -Werror -ansi"
|
|
|
|
fi
|
2003-12-22 19:29:21 +03:00
|
|
|
AC_C_INLINE
|
2004-01-14 20:35:41 +03:00
|
|
|
AC_C_RESTRICT
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_C_WEAK_SYMBOLS
|
2004-06-15 21:10:47 +04:00
|
|
|
if test "$GCC" = "yes"; then
|
|
|
|
CFLAGS="$CFLAGS_save"
|
|
|
|
fi
|
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-06-07 19:33:53 +04:00
|
|
|
OMPI_C_HAVE_WEAK_SYMBOLS=0
|
2004-01-08 16:36:14 +03:00
|
|
|
fi
|
|
|
|
if test "$WANT_MPI_PROFILING" = "1"; then
|
2004-06-07 19:33:53 +04:00
|
|
|
if test "$OMPI_C_HAVE_WEAK_SYMBOLS" = "1"; then
|
|
|
|
OMPI_PROFILING_COMPILE_SEPARATELY=0
|
2004-01-08 16:36:14 +03:00
|
|
|
else
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_PROFILING_COMPILE_SEPARATELY=1
|
2004-01-08 16:36:14 +03:00
|
|
|
fi
|
|
|
|
else
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_PROFILING_COMPILE_SEPARATELY=0
|
2004-01-08 16:36:14 +03:00
|
|
|
fi
|
2004-06-29 04:02:25 +04:00
|
|
|
|
2004-01-15 04:11:59 +03:00
|
|
|
#
|
2004-06-29 04:02:25 +04: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.
|
2004-01-15 04:11:59 +03:00
|
|
|
# 1. MPI_* bindings are needed if:
|
|
|
|
# - Profiling is not required
|
|
|
|
# - Profiling is required but weak symbols are not
|
|
|
|
# supported
|
2004-06-29 04:02:25 +04:00
|
|
|
# 2. PMPI_* bindings are needed if profiling is required. Hence we
|
|
|
|
# define 2 conditionals which tell us whether each of these layers
|
|
|
|
# need to be built or NOT
|
2004-01-15 04:11:59 +03:00
|
|
|
#
|
2004-06-29 04:02:25 +04:00
|
|
|
|
2004-01-15 04:11:59 +03:00
|
|
|
AM_CONDITIONAL(WANT_MPI_BINDINGS_LAYER,
|
2004-06-07 19:33:53 +04:00
|
|
|
test "$WANT_MPI_PROFILING" = 0 -o "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1)
|
2004-01-15 04:11:59 +03:00
|
|
|
|
|
|
|
AM_CONDITIONAL(WANT_PMPI_BINDINGS_LAYER,
|
|
|
|
test "$WANT_MPI_PROFILING" = 1)
|
2004-01-08 18:51:54 +03:00
|
|
|
AM_CONDITIONAL(COMPILE_PROFILING_SEPARATELY,
|
2004-06-07 19:33:53 +04:00
|
|
|
test "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1)
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ENABLE_MPI_PROFILING, $WANT_MPI_PROFILING,
|
2004-01-08 18:51:54 +03:00
|
|
|
[Whether we want MPI profiling or not])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_WEAK_SYMBOLS, $OMPI_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-06-07 19:33:53 +04:00
|
|
|
OMPI_SETUP_CXX
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
# check for type sizes
|
2004-02-13 21:05:49 +03:00
|
|
|
|
|
|
|
AC_LANG_SAVE
|
|
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
AC_CHECK_SIZEOF(bool)
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
# check for type alignments
|
2004-02-13 21:05:49 +03:00
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_C_GET_ALIGNMENT(bool, OMPI_ALIGNMENT_CXX_BOOL)
|
2004-02-13 21:05:49 +03:00
|
|
|
AC_LANG_RESTORE
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2004-07-14 18:11:03 +04:00
|
|
|
# check if we want C++ support
|
|
|
|
|
|
|
|
AM_CONDITIONAL(WANT_MPI_CXX_BINDINGS,
|
|
|
|
test "$WANT_MPI_CXX_SUPPORT" = 1)
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_WANT_CXX_BINDINGS, $WANT_MPI_CXX_SUPPORT,
|
|
|
|
[Whether we want MPI cxx support or not])
|
|
|
|
|
2004-01-07 10:49:23 +03:00
|
|
|
|
2005-01-27 04:39:55 +03:00
|
|
|
##################################
|
|
|
|
# Assembler Configuration
|
|
|
|
##################################
|
|
|
|
|
|
|
|
ompi_show_subtitle "Assembler"
|
|
|
|
|
|
|
|
AM_PROG_AS
|
|
|
|
OMPI_CONFIG_ASM
|
|
|
|
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
##################################
|
|
|
|
# Fortran
|
|
|
|
##################################
|
|
|
|
|
2004-10-05 23:31:18 +04:00
|
|
|
OMPI_HAVE_FORTRAN_INTEGER1=0
|
|
|
|
OMPI_HAVE_FORTRAN_INTEGER2=0
|
|
|
|
OMPI_HAVE_FORTRAN_INTEGER4=0
|
|
|
|
OMPI_HAVE_FORTRAN_INTEGER8=0
|
|
|
|
OMPI_HAVE_FORTRAN_INTEGER16=0
|
2004-10-05 23:38:56 +04:00
|
|
|
OMPI_HAVE_FORTRAN_REAL4=0
|
|
|
|
OMPI_HAVE_FORTRAN_REAL8=0
|
|
|
|
OMPI_HAVE_FORTRAN_REAL16=0
|
2004-10-05 23:31:18 +04:00
|
|
|
OMPI_HAVE_FORTRAN_COMPLEX8=0
|
|
|
|
OMPI_HAVE_FORTRAN_COMPLEX16=0
|
|
|
|
OMPI_HAVE_FORTRAN_COMPLEX32=0
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_SIZEOF_FORTRAN_INT=0
|
|
|
|
OMPI_SIZEOF_FORTRAN_REAL=0
|
|
|
|
OMPI_SIZEOF_FORTRAN_DBLPREC=0
|
|
|
|
OMPI_SIZEOF_FORTRAN_COMPLEX=0
|
|
|
|
OMPI_SIZEOF_FORTRAN_DBLCOMPLEX=0
|
2004-03-17 02:54:51 +03:00
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_ALIGNMENT_FORTRAN_INT=0
|
|
|
|
OMPI_ALIGNMENT_FORTRAN_REAL=0
|
|
|
|
OMPI_ALIGNMENT_FORTRAN_DBLPREC=0
|
|
|
|
OMPI_ALIGNMENT_FORTRAN_COMPLEX=0
|
|
|
|
OMPI_ALIGNMENT_FORTRAN_DBLCOMPLEX=0
|
2004-03-17 02:54:51 +03:00
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_SETUP_F77
|
2004-09-11 23:13:43 +04:00
|
|
|
OMPI_F77_FIND_EXT_SYMBOL_CONVENTION($OMPI_F77)
|
2004-06-28 23:56:21 +04:00
|
|
|
|
2004-06-29 04:02:25 +04:00
|
|
|
# Even if we don't want fortran support, we have to have a size for
|
|
|
|
# INTEGER because it's needed to define MPI_Fint, which is part of
|
|
|
|
# mpi.h. Hence, if we don't want fortran support, we set the size of
|
|
|
|
# Fortran INTEGER's to sizeof(int).
|
|
|
|
#
|
|
|
|
# Similarly, we need C types for LOGICAL, REAL, and DOUBLE PRECISION
|
|
|
|
# for the MPI_Op reduction back-end routines.
|
|
|
|
|
|
|
|
if test "$OMPI_WANT_F77_BINDINGS" = "0" ; then
|
|
|
|
OMPI_SIZEOF_FORTRAN_LOGICAL=$ac_cv_sizeof_int
|
|
|
|
OMPI_SIZEOF_FORTRAN_INT=$ac_cv_sizeof_int
|
|
|
|
OMPI_SIZEOF_FORTRAN_REAL=$ac_cv_sizeof_float
|
|
|
|
OMPI_SIZEOF_FORTRAN_DBLPREC=$ac_cv_sizeof_double
|
|
|
|
else
|
|
|
|
# If we want fortran support, then get the sizes and alignments of
|
|
|
|
# all the rest of the fortran types
|
2004-06-28 23:56:21 +04:00
|
|
|
|
2004-10-05 23:31:18 +04:00
|
|
|
OMPI_F77_CHECK_TYPE(INTEGER*1, OMPI_HAVE_FORTRAN_INTEGER1)
|
|
|
|
OMPI_F77_CHECK_TYPE(INTEGER*2, OMPI_HAVE_FORTRAN_INTEGER2)
|
|
|
|
OMPI_F77_CHECK_TYPE(INTEGER*4, OMPI_HAVE_FORTRAN_INTEGER4)
|
|
|
|
OMPI_F77_CHECK_TYPE(INTEGER*8, OMPI_HAVE_FORTRAN_INTEGER8)
|
|
|
|
OMPI_F77_CHECK_TYPE(INTEGER*16, OMPI_HAVE_FORTRAN_INTEGER16)
|
2004-10-05 23:38:56 +04:00
|
|
|
|
|
|
|
OMPI_F77_CHECK_TYPE(REAL*4, OMPI_HAVE_FORTRAN_REAL4)
|
|
|
|
OMPI_F77_CHECK_TYPE(REAL*8, OMPI_HAVE_FORTRAN_REAL8)
|
|
|
|
OMPI_F77_CHECK_TYPE(REAL*16, OMPI_HAVE_FORTRAN_REAL16)
|
|
|
|
|
2004-10-05 23:31:18 +04:00
|
|
|
OMPI_F77_CHECK_TYPE(COMPLEX*8, OMPI_HAVE_FORTRAN_COMPLEX8)
|
|
|
|
OMPI_F77_CHECK_TYPE(COMPLEX*16, OMPI_HAVE_FORTRAN_COMPLEX16)
|
|
|
|
OMPI_F77_CHECK_TYPE(COMPLEX*32, OMPI_HAVE_FORTRAN_COMPLEX32)
|
|
|
|
|
2004-06-29 04:02:25 +04:00
|
|
|
OMPI_F77_GET_SIZEOF(LOGICAL, OMPI_SIZEOF_FORTRAN_LOGICAL)
|
|
|
|
OMPI_F77_GET_SIZEOF(INTEGER, OMPI_SIZEOF_FORTRAN_INT)
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_F77_GET_SIZEOF(REAL, OMPI_SIZEOF_FORTRAN_REAL)
|
|
|
|
OMPI_F77_GET_SIZEOF(DOUBLE PRECISION, OMPI_SIZEOF_FORTRAN_DBLPREC)
|
|
|
|
OMPI_F77_GET_SIZEOF(COMPLEX, OMPI_SIZEOF_FORTRAN_COMPLEX)
|
|
|
|
OMPI_F77_GET_SIZEOF(DOUBLE COMPLEX, OMPI_SIZEOF_FORTRAN_DBLCOMPLEX)
|
|
|
|
|
2004-06-29 04:02:25 +04:00
|
|
|
OMPI_F77_GET_ALIGNMENT(LOGICAL, OMPI_ALIGNMENT_FORTRAN_LOGICAL)
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_F77_GET_ALIGNMENT(INTEGER, OMPI_ALIGNMENT_FORTRAN_INT)
|
|
|
|
OMPI_F77_GET_ALIGNMENT(REAL, OMPI_ALIGNMENT_FORTRAN_REAL)
|
|
|
|
OMPI_F77_GET_ALIGNMENT(DOUBLE PRECISION, OMPI_ALIGNMENT_FORTRAN_DBLPREC)
|
|
|
|
OMPI_F77_GET_ALIGNMENT(COMPLEX, OMPI_ALIGNMENT_FORTRAN_COMPLEX)
|
|
|
|
OMPI_F77_GET_ALIGNMENT(DOUBLE COMPLEX, OMPI_ALIGNMENT_FORTRAN_DBLCOMPLEX)
|
2004-11-17 00:10:25 +03:00
|
|
|
|
|
|
|
fi
|
|
|
|
|
2004-10-05 23:31:18 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_INTEGER1, $OMPI_HAVE_FORTRAN_INTEGER1,
|
|
|
|
[Whether we have FORTRAN INTEGER1 or not])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_INTEGER2, $OMPI_HAVE_FORTRAN_INTEGER2,
|
|
|
|
[Whether we have FORTRAN INTEGER2 or not])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_INTEGER4, $OMPI_HAVE_FORTRAN_INTEGER4,
|
|
|
|
[Whether we have FORTRAN INTEGER4 or not])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_INTEGER8, $OMPI_HAVE_FORTRAN_INTEGER8,
|
|
|
|
[Whether we have FORTRAN INTEGER8 or not])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_INTEGER16, $OMPI_HAVE_FORTRAN_INTEGER16,
|
|
|
|
[Whether we have FORTRAN INTEGER16 or not])
|
2004-10-05 23:38:56 +04:00
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_REAL4, $OMPI_HAVE_FORTRAN_REAL4,
|
|
|
|
[Whether we have FORTRAN REAL4 or not])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_REAL8, $OMPI_HAVE_FORTRAN_REAL8,
|
|
|
|
[Whether we have FORTRAN REAL8 or not])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_REAL16, $OMPI_HAVE_FORTRAN_REAL16,
|
|
|
|
[Whether we have FORTRAN REAL16 or not])
|
|
|
|
|
2004-10-05 23:31:18 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_COMPLEX8, $OMPI_HAVE_FORTRAN_COMPLEX8,
|
|
|
|
[Whether we have FORTRAN COMPLEX8 or not])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_COMPLEX16, $OMPI_HAVE_FORTRAN_COMPLEX16,
|
|
|
|
[Whether we have FORTRAN COMPLEX16 or not])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_FORTRAN_COMPLEX32, $OMPI_HAVE_FORTRAN_COMPLEX32,
|
|
|
|
[Whether we have FORTRAN COMPLEX32 or not])
|
|
|
|
|
2004-06-29 04:02:25 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_LOGICAL, $OMPI_SIZEOF_FORTRAN_LOGICAL,
|
|
|
|
[Size of fortran logical])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_INT, $OMPI_SIZEOF_FORTRAN_INT,
|
2004-03-17 02:54:51 +03:00
|
|
|
[Size of fortran integer])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_REAL, $OMPI_SIZEOF_FORTRAN_REAL,
|
2004-03-17 02:54:51 +03:00
|
|
|
[Size of fortran real])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_DBLPREC, $OMPI_SIZEOF_FORTRAN_DBLPREC,
|
2004-03-17 02:54:51 +03:00
|
|
|
[Size of fortran double precision])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_COMPLEX, $OMPI_SIZEOF_FORTRAN_COMPLEX,
|
2004-03-17 02:54:51 +03:00
|
|
|
[Size of fortran complex])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_FORTRAN_DBLCOMPLEX,
|
|
|
|
$OMPI_SIZEOF_FORTRAN_DBLCOMPLEX,
|
2004-03-17 02:54:51 +03:00
|
|
|
[Size of fortran double complex])
|
|
|
|
|
2004-06-29 04:02:25 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_LOGICAL,
|
|
|
|
$OMPI_ALIGNMENT_FORTRAN_LOGICAL,
|
|
|
|
[Alignment of fortran logical])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_INT, $OMPI_ALIGNMENT_FORTRAN_INT,
|
2004-06-08 02:09:25 +04:00
|
|
|
[Alignment of fortran integer])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_REAL, $OMPI_ALIGNMENT_FORTRAN_REAL,
|
2004-06-08 02:09:25 +04:00
|
|
|
[alignment of fortran real])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_DBLPREC,
|
|
|
|
$OMPI_ALIGNMENT_FORTRAN_DBLPREC,
|
2004-06-08 02:09:25 +04:00
|
|
|
[Alignment of fortran double precision])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_COMPLEX,
|
|
|
|
$OMPI_ALIGNMENT_FORTRAN_COMPLEX,
|
2004-06-08 02:09:25 +04:00
|
|
|
[Alignment of fortran complex])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_FORTRAN_DBLCOMPLEX,
|
|
|
|
$OMPI_ALIGNMENT_FORTRAN_DBLCOMPLEX,
|
2004-06-08 02:09:25 +04:00
|
|
|
[Alignment of fortran double complex])
|
2004-03-17 02:54:51 +03:00
|
|
|
|
2004-10-24 01:08:12 +04:00
|
|
|
# Regardless of whether we have fortran bindings, or even a fortran
|
|
|
|
# compiler, get the max value for a fortran MPI handle (this macro
|
|
|
|
# handles the case where we don't have a fortran compiler).
|
|
|
|
|
|
|
|
OMPI_F77_GET_FORTRAN_HANDLE_MAX
|
|
|
|
|
2004-04-14 03:05:31 +04:00
|
|
|
#
|
2004-06-29 04:02:25 +04:00
|
|
|
# There are 2 layers to the MPI f77 layer. The only extra thing that
|
|
|
|
# determine f77 bindings is that fortran can be disabled by user. In
|
|
|
|
# such cases, we need to not build the target at all. One layer
|
|
|
|
# generates MPI_f77* bindings. The other layer generates PMPI_f77*
|
|
|
|
# bindings. The following conditions determine whether each (or both)
|
|
|
|
# these layers are built.
|
|
|
|
#
|
2004-04-14 03:05:31 +04:00
|
|
|
# Superceeding clause:
|
|
|
|
# - fortran77 bindings should be enabled, else everything is
|
|
|
|
# disabled
|
|
|
|
# 1. MPI_f77* bindings are needed if:
|
|
|
|
# - Profiling is not required
|
|
|
|
# - Profiling is required but weak symbols are not
|
|
|
|
# supported
|
2004-06-29 04:02:25 +04:00
|
|
|
# 2. PMPI_* bindings are needed if profiling is required. Hence we
|
|
|
|
# define 2 conditionals which tell us whether each of these layers
|
|
|
|
# need to be built or NOT
|
2004-04-14 03:05:31 +04:00
|
|
|
#
|
|
|
|
AM_CONDITIONAL(WANT_MPI_F77_BINDINGS_LAYER,
|
2004-09-15 13:15:50 +04:00
|
|
|
test \( "$WANT_MPI_PROFILING" = 0 -o "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1 \) -a "$OMPI_WANT_F77_BINDINGS" = 1)
|
2004-04-14 03:05:31 +04:00
|
|
|
|
|
|
|
AM_CONDITIONAL(WANT_PMPI_F77_BINDINGS_LAYER,
|
2004-06-07 19:33:53 +04:00
|
|
|
test "$OMPI_WANT_F77_BINDINGS" = 1 -a "$WANT_MPI_PROFILING" = 1)
|
2004-03-28 14:02:38 +04:00
|
|
|
|
2004-02-13 21:05:49 +03:00
|
|
|
#
|
|
|
|
# Fortran 90 setup
|
|
|
|
#
|
|
|
|
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_INTEGER1=0
|
|
|
|
OMPI_HAVE_F90_INTEGER2=0
|
|
|
|
OMPI_HAVE_F90_INTEGER4=0
|
|
|
|
OMPI_HAVE_F90_INTEGER8=0
|
|
|
|
OMPI_HAVE_F90_INTEGER16=0
|
|
|
|
OMPI_HAVE_F90_REAL4=0
|
|
|
|
OMPI_HAVE_F90_REAL8=0
|
|
|
|
OMPI_HAVE_F90_REAL16=0
|
|
|
|
OMPI_HAVE_F90_COMPLEX8=0
|
|
|
|
OMPI_HAVE_F90_COMPLEX16=0
|
|
|
|
OMPI_HAVE_F90_COMPLEX32=0
|
|
|
|
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_SIZEOF_F90_LOGICAL=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_SIZEOF_F90_INT=0
|
|
|
|
OMPI_SIZEOF_F90_REAL=0
|
|
|
|
OMPI_SIZEOF_F90_DBLPREC=0
|
|
|
|
OMPI_SIZEOF_F90_COMPLEX=0
|
|
|
|
OMPI_SIZEOF_F90_DBLCOMPLEX=0
|
|
|
|
|
|
|
|
OMPI_SIZEOF_F90_INT1=0
|
|
|
|
OMPI_SIZEOF_F90_INT2=0
|
|
|
|
OMPI_SIZEOF_F90_INT4=0
|
|
|
|
OMPI_SIZEOF_F90_INT8=0
|
|
|
|
OMPI_SIZEOF_F90_INT16=0
|
|
|
|
|
|
|
|
OMPI_SIZEOF_F90_REAL4=0
|
|
|
|
OMPI_SIZEOF_F90_REAL8=0
|
|
|
|
OMPI_SIZEOF_F90_REAL16=0
|
|
|
|
|
|
|
|
OMPI_SIZEOF_F90_COMPLEX8=0
|
|
|
|
OMPI_SIZEOF_F90_COMPLEX16=0
|
|
|
|
OMPI_SIZEOF_F90_COMPLEX32=0
|
|
|
|
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_ALIGNMENT_F90_LOGICAL=0
|
|
|
|
OMPI_ALIGNMENT_F90_INT=0
|
|
|
|
OMPI_ALIGNMENT_F90_REAL=0
|
|
|
|
OMPI_ALIGNMENT_F90_DBLPREC=0
|
|
|
|
OMPI_ALIGNMENT_F90_COMPLEX=0
|
|
|
|
OMPI_ALIGNMENT_F90_DBLCOMPLEX=0
|
|
|
|
|
|
|
|
OMPI_ALIGNMENT_F90_INT1=0
|
|
|
|
OMPI_ALIGNMENT_F90_INT2=0
|
|
|
|
OMPI_ALIGNMENT_F90_INT4=0
|
|
|
|
OMPI_ALIGNMENT_F90_INT8=0
|
|
|
|
OMPI_ALIGNMENT_F90_INT16=0
|
|
|
|
|
|
|
|
OMPI_ALIGNMENT_F90_REAL4=0
|
|
|
|
OMPI_ALIGNMENT_F90_REAL8=0
|
|
|
|
OMPI_ALIGNMENT_F90_REAL16=0
|
|
|
|
|
|
|
|
OMPI_ALIGNMENT_F90_COMPLEX8=0
|
|
|
|
OMPI_ALIGNMENT_F90_COMPLEX16=0
|
|
|
|
OMPI_ALIGNMENT_F90_COMPLEX32=0
|
|
|
|
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_PRECISION_F90_REAL4=0
|
|
|
|
OMPI_PRECISION_F90_REAL8=0
|
|
|
|
OMPI_PRECISION_F90_REAL16=0
|
|
|
|
|
|
|
|
OMPI_PRECISION_F90_COMPLEX8=0
|
|
|
|
OMPI_PRECISION_F90_COMPLEX16=0
|
|
|
|
OMPI_PRECISION_F90_COMPLEX32=0
|
|
|
|
|
|
|
|
OMPI_RANGE_F90_REAL4=0
|
|
|
|
OMPI_RANGE_F90_REAL8=0
|
|
|
|
OMPI_RANGE_F90_REAL16=0
|
|
|
|
|
|
|
|
OMPI_RANGE_F90_COMPLEX8=0
|
|
|
|
OMPI_RANGE_F90_COMPLEX16=0
|
|
|
|
OMPI_RANGE_F90_COMPLEX32=0
|
|
|
|
|
2005-01-08 00:21:46 +03:00
|
|
|
#
|
|
|
|
# lists of supported Fortran types
|
|
|
|
#
|
|
|
|
OMPI_FORTRAN_LKINDS=""
|
|
|
|
OMPI_FORTRAN_IKINDS=""
|
|
|
|
OMPI_FORTRAN_RKINDS=""
|
|
|
|
OMPI_FORTRAN_CKINDS=""
|
|
|
|
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_SETUP_F90
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2005-01-08 00:21:46 +03:00
|
|
|
if test "$OMPI_WANT_F90_BINDINGS" = "0" ; then
|
|
|
|
OMPI_SIZEOF_F90_LOGICAL=$ac_cv_sizeof_int
|
|
|
|
OMPI_SIZEOF_F90_INT=$ac_cv_sizeof_int
|
|
|
|
OMPI_SIZEOF_F90_REAL=$ac_cv_sizeof_float
|
|
|
|
OMPI_SIZEOF_F90_DBLPREC=$ac_cv_sizeof_double
|
|
|
|
else
|
2005-04-13 15:54:36 +04:00
|
|
|
# Look for the fortran module compiler flag
|
|
|
|
|
|
|
|
OMPI_F90_FIND_MODULE_INCLUDE_FLAG
|
|
|
|
|
2005-01-08 00:21:46 +03:00
|
|
|
# If we want modern Fortran support, then get supported types and sizes
|
|
|
|
|
|
|
|
OMPI_F90_CHECK_TYPE(selected_int_kind(2), OMPI_HAVE_F90_INTEGER1)
|
2005-02-04 16:00:00 +03:00
|
|
|
if test "$OMPI_HAVE_F90_INTEGER1" = "1"; then
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}1 "
|
|
|
|
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}1 "
|
2005-02-04 16:00:00 +03:00
|
|
|
OMPI_F90_GET_SIZEOF(integer(selected_int_kind(2)),
|
|
|
|
OMPI_SIZEOF_F90_INT1)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(2)),
|
|
|
|
OMPI_ALIGNMENT_F90_INT1)
|
2005-04-12 14:14:28 +04:00
|
|
|
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(2)),
|
|
|
|
OMPI_SIZEOF_F90_LOGICAL)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(2)),
|
|
|
|
OMPI_ALIGNMENT_F90_LOGICAL1)
|
2005-02-04 16:00:00 +03:00
|
|
|
fi
|
|
|
|
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_F90_CHECK_TYPE(selected_int_kind(4), OMPI_HAVE_F90_INTEGER2)
|
2005-02-04 16:00:00 +03:00
|
|
|
if test "$OMPI_HAVE_F90_INTEGER2" = "1"; then
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}2 "
|
|
|
|
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}2 "
|
2005-02-04 16:00:00 +03:00
|
|
|
OMPI_F90_GET_SIZEOF(integer(selected_int_kind(4)),
|
|
|
|
OMPI_SIZEOF_F90_INT2)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(4)),
|
|
|
|
OMPI_ALIGNMENT_F90_INT2)
|
2005-04-12 14:14:28 +04:00
|
|
|
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(4)),
|
|
|
|
OMPI_SIZEOF_F90_LOGICAL2)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(4)),
|
|
|
|
OMPI_ALIGNMENT_F90_LOGICAL2)
|
2005-02-04 16:00:00 +03:00
|
|
|
fi
|
|
|
|
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_F90_CHECK_TYPE(selected_int_kind(9), OMPI_HAVE_F90_INTEGER4)
|
2005-02-04 16:00:00 +03:00
|
|
|
if test "$OMPI_HAVE_F90_INTEGER4" = "1"; then
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}4 "
|
|
|
|
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}4 "
|
2005-02-04 16:00:00 +03:00
|
|
|
OMPI_F90_GET_SIZEOF(integer(selected_int_kind(9)),
|
|
|
|
OMPI_SIZEOF_F90_INT4)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(9)),
|
|
|
|
OMPI_ALIGNMENT_F90_INT4)
|
2005-04-12 14:14:28 +04:00
|
|
|
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(9)),
|
|
|
|
OMPI_SIZEOF_F90_LOGICAL4)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(9)),
|
|
|
|
OMPI_ALIGNMENT_F90_LOGICAL4)
|
2005-02-04 16:00:00 +03:00
|
|
|
fi
|
|
|
|
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_F90_CHECK_TYPE(selected_int_kind(18), OMPI_HAVE_F90_INTEGER8)
|
2005-02-04 16:00:00 +03:00
|
|
|
if test "$OMPI_HAVE_F90_INTEGER8" = "1"; then
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}8 "
|
|
|
|
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}8 "
|
2005-02-04 16:00:00 +03:00
|
|
|
OMPI_F90_GET_SIZEOF(integer(selected_int_kind(18)),
|
|
|
|
OMPI_SIZEOF_F90_INT8)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(18)),
|
|
|
|
OMPI_ALIGNMENT_F90_INT8)
|
2005-04-12 14:14:28 +04:00
|
|
|
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(18)),
|
|
|
|
OMPI_SIZEOF_F90_LOGICAL8)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(18)),
|
|
|
|
OMPI_ALIGNMENT_F90_LOGICAL8)
|
2005-02-04 16:00:00 +03:00
|
|
|
fi
|
|
|
|
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_F90_CHECK_TYPE(selected_int_kind(19), OMPI_HAVE_F90_INTEGER16)
|
2005-02-04 16:00:00 +03:00
|
|
|
if test "$OMPI_HAVE_F90_INTEGER16" = "1"; then
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_FORTRAN_LKINDS="${OMPI_FORTRAN_LKINDS}16 "
|
|
|
|
OMPI_FORTRAN_IKINDS="${OMPI_FORTRAN_IKINDS}16 "
|
2005-02-04 16:00:00 +03:00
|
|
|
OMPI_F90_GET_SIZEOF(integer(selected_int_kind(19)),
|
|
|
|
OMPI_SIZEOF_F90_INT16)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(integer(selected_int_kind(19)),
|
|
|
|
OMPI_ALIGNMENT_F90_INT16)
|
2005-04-12 14:14:28 +04:00
|
|
|
OMPI_F90_GET_SIZEOF(logical(selected_int_kind(19)),
|
|
|
|
OMPI_SIZEOF_F90_LOGICAL16)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(logical(selected_int_kind(19)),
|
|
|
|
OMPI_ALIGNMENT_F90_LOGICAL16)
|
2005-02-04 16:00:00 +03:00
|
|
|
fi
|
2005-01-08 00:21:46 +03:00
|
|
|
|
|
|
|
OMPI_F90_CHECK_TYPE(selected_real_kind(6), OMPI_HAVE_F90_REAL4)
|
2005-02-04 16:00:00 +03:00
|
|
|
if test "$OMPI_HAVE_F90_REAL4" = "1"; then
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_HAVE_F90_COMPLEX8=1
|
|
|
|
OMPI_FORTRAN_RKINDS="${OMPI_FORTRAN_RKINDS}4 "
|
|
|
|
OMPI_FORTRAN_CKINDS="${OMPI_FORTRAN_CKINDS}4 "
|
2005-02-04 16:00:00 +03:00
|
|
|
OMPI_F90_GET_SIZEOF(real(selected_real_kind(6)), OMPI_SIZEOF_F90_REAL4)
|
|
|
|
OMPI_F90_GET_SIZEOF(complex(selected_real_kind(6)),
|
|
|
|
OMPI_SIZEOF_F90_COMPLEX8)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(real(selected_real_kind(6)),
|
|
|
|
OMPI_ALIGNMENT_F90_REAL4)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(complex(selected_real_kind(6)),
|
|
|
|
OMPI_ALIGNMENT_F90_COMPLEX8)
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_F90_GET_PRECISION(real(selected_real_kind(6)),
|
|
|
|
OMPI_PRECISION_F90_REAL4)
|
|
|
|
OMPI_F90_GET_PRECISION(complex(selected_real_kind(6)),
|
|
|
|
OMPI_PRECISION_F90_COMPLEX8)
|
|
|
|
OMPI_F90_GET_RANGE(real(selected_real_kind(6)),
|
|
|
|
OMPI_RANGE_F90_REAL4)
|
|
|
|
OMPI_F90_GET_RANGE(complex(selected_real_kind(6)),
|
|
|
|
OMPI_RANGE_F90_COMPLEX8)
|
2005-02-04 16:00:00 +03:00
|
|
|
fi
|
|
|
|
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_F90_CHECK_TYPE(selected_real_kind(15), OMPI_HAVE_F90_REAL8)
|
2005-02-04 16:00:00 +03:00
|
|
|
if test "$OMPI_HAVE_F90_REAL8" = "1"; then
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_HAVE_F90_COMPLEX16=1
|
|
|
|
OMPI_FORTRAN_RKINDS="${OMPI_FORTRAN_RKINDS}8 "
|
|
|
|
OMPI_FORTRAN_CKINDS="${OMPI_FORTRAN_CKINDS}8 "
|
2005-02-04 16:00:00 +03:00
|
|
|
OMPI_F90_GET_SIZEOF(real(selected_real_kind(15)),
|
|
|
|
OMPI_SIZEOF_F90_REAL8)
|
|
|
|
OMPI_F90_GET_SIZEOF(complex(selected_real_kind(15)),
|
|
|
|
OMPI_SIZEOF_F90_COMPLEX16)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(real(selected_real_kind(15)),
|
|
|
|
OMPI_ALIGNMENT_F90_REAL8)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(complex(selected_real_kind(15)),
|
|
|
|
OMPI_ALIGNMENT_F90_COMPLEX16)
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_F90_GET_PRECISION(real(selected_real_kind(15)),
|
|
|
|
OMPI_PRECISION_F90_REAL8)
|
|
|
|
OMPI_F90_GET_PRECISION(complex(selected_real_kind(15)),
|
|
|
|
OMPI_PRECISION_F90_COMPLEX16)
|
|
|
|
OMPI_F90_GET_RANGE(real(selected_real_kind(15)),
|
|
|
|
OMPI_RANGE_F90_REAL8)
|
|
|
|
OMPI_F90_GET_RANGE(complex(selected_real_kind(15)),
|
|
|
|
OMPI_RANGE_F90_COMPLEX16)
|
2005-02-04 16:00:00 +03:00
|
|
|
fi
|
|
|
|
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_F90_CHECK_TYPE(selected_real_kind(31), OMPI_HAVE_F90_REAL16)
|
2005-02-04 16:00:00 +03:00
|
|
|
if test "$OMPI_HAVE_F90_REAL16" = "1"; then
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_HAVE_F90_COMPLEX32=1
|
|
|
|
OMPI_FORTRAN_RKINDS="${OMPI_FORTRAN_RKINDS}16 "
|
|
|
|
OMPI_FORTRAN_CKINDS="${OMPI_FORTRAN_CKINDS}16 "
|
2005-02-04 16:00:00 +03:00
|
|
|
OMPI_F90_GET_SIZEOF(real(selected_real_kind(31)),
|
|
|
|
OMPI_SIZEOF_F90_REAL16)
|
|
|
|
OMPI_F90_GET_SIZEOF(complex(selected_real_kind(31)),
|
|
|
|
OMPI_SIZEOF_F90_COMPLEX32)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(real(selected_real_kind(31)),
|
|
|
|
OMPI_ALIGNMENT_F90_REAL16)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(complex(selected_real_kind(31)),
|
|
|
|
OMPI_ALIGNMENT_F90_COMPLEX32)
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_F90_GET_PRECISION(real(selected_real_kind(31)),
|
|
|
|
OMPI_PRECISION_F90_REAL16)
|
|
|
|
OMPI_F90_GET_PRECISION(complex(selected_real_kind(31)),
|
|
|
|
OMPI_PRECISION_F90_COMPLEX32)
|
|
|
|
OMPI_F90_GET_RANGE(real(selected_real_kind(31)),
|
|
|
|
OMPI_RANGE_F90_REAL16)
|
|
|
|
OMPI_F90_GET_RANGE(complex(selected_real_kind(31)),
|
|
|
|
OMPI_RANGE_F90_COMPLEX32)
|
2005-02-04 16:00:00 +03:00
|
|
|
fi
|
2005-01-08 00:21:46 +03:00
|
|
|
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_F90_GET_SIZEOF(logical, OMPI_SIZEOF_F90_LOGICAL)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(logical, OMPI_ALIGNMENT_F90_LOGICAL)
|
2005-02-04 16:00:00 +03:00
|
|
|
|
|
|
|
OMPI_F90_GET_SIZEOF(integer, OMPI_SIZEOF_F90_INT)
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_F90_GET_ALIGNMENT(integer, OMPI_ALIGNMENT_F90_INT)
|
2005-02-04 16:00:00 +03:00
|
|
|
|
|
|
|
OMPI_F90_GET_SIZEOF(real, OMPI_SIZEOF_F90_REAL)
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_F90_GET_ALIGNMENT(real, OMPI_ALIGNMENT_F90_REAL)
|
2005-02-04 16:00:00 +03:00
|
|
|
|
|
|
|
OMPI_F90_GET_SIZEOF(real(kind(1.D0)), OMPI_SIZEOF_F90_DBLPREC)
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_F90_GET_ALIGNMENT(real(kind(1.D0)), OMPI_ALIGNMENT_F90_DBLPREC)
|
2005-02-04 16:00:00 +03:00
|
|
|
|
|
|
|
OMPI_F90_GET_SIZEOF(complex, OMPI_SIZEOF_F90_COMPLEX)
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_F90_GET_ALIGNMENT(complex, OMPI_ALIGNMENT_F90_COMPLEX)
|
|
|
|
|
2005-02-04 16:00:00 +03:00
|
|
|
OMPI_F90_GET_SIZEOF(complex(kind(1.D0)), OMPI_SIZEOF_F90_DBLCOMPLEX)
|
|
|
|
OMPI_F90_GET_ALIGNMENT(complex(kind(1.D0)), OMPI_ALIGNMENT_F90_DBLCOMPLEX)
|
2005-01-08 00:21:46 +03:00
|
|
|
fi
|
|
|
|
|
|
|
|
#
|
|
|
|
# Check sizes against what is expected and fix things up
|
|
|
|
#
|
|
|
|
|
|
|
|
if test "$OMPI_SIZEOF_F90_INT1" != "1" ; then
|
|
|
|
OMPI_SIZEOF_F90_INT1=0
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_ALIGNMENT_F90_INT1=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_INTEGER1=0
|
|
|
|
fi
|
|
|
|
if test "$OMPI_SIZEOF_F90_INT2" != "2" ; then
|
|
|
|
OMPI_SIZEOF_F90_INT2=0
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_ALIGNMENT_F90_INT2=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_INTEGER2=0
|
|
|
|
fi
|
|
|
|
if test "$OMPI_SIZEOF_F90_INT4" != "4" ; then
|
|
|
|
OMPI_SIZEOF_F90_INT4=0
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_ALIGNMENT_F90_INT4=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_INTEGER4=0
|
|
|
|
fi
|
|
|
|
if test "$OMPI_SIZEOF_F90_INT8" != "8" ; then
|
|
|
|
OMPI_SIZEOF_F90_INT8=0
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_ALIGNMENT_F90_INT8=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_INTEGER8=0
|
|
|
|
fi
|
|
|
|
if test "$OMPI_SIZEOF_F90_INT16" != "16" ; then
|
|
|
|
OMPI_SIZEOF_F90_INT16=0
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_ALIGNMENT_F90_INT16=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_INTEGER16=0
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "$OMPI_SIZEOF_F90_REAL4" != "4" ; then
|
|
|
|
OMPI_SIZEOF_F90_REAL4=0
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_ALIGNMENT_F90_REAL4=0
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_PRECISION_F90_REAL4=0
|
|
|
|
OMPI_RANGE_F90_REAL4=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_REAL4=0
|
|
|
|
fi
|
|
|
|
if test "$OMPI_SIZEOF_F90_REAL8" != "8" ; then
|
|
|
|
OMPI_SIZEOF_F90_REAL8=0
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_ALIGNMENT_F90_REAL8=0
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_PRECISION_F90_REAL8=0
|
|
|
|
OMPI_RANGE_F90_REAL8=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_REAL8=0
|
|
|
|
fi
|
|
|
|
if test "$OMPI_SIZEOF_F90_REAL16" != "16" ; then
|
|
|
|
OMPI_SIZEOF_F90_REAL16=0
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_ALIGNMENT_F90_REAL16=0
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_PRECISION_F90_REAL16=0
|
|
|
|
OMPI_RANGE_F90_REAL16=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_REAL16=0
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "$OMPI_SIZEOF_F90_COMPLEX8" != "8" ; then
|
|
|
|
OMPI_SIZEOF_F90_COMPLEX8=0
|
2005-01-12 21:23:26 +03:00
|
|
|
OMPI_ALIGNMENT_F90_COMPLEX8=0
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_PRECISION_F90_COMPLEX8=0
|
|
|
|
OMPI_RANGE_F90_COMPLEX8=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_COMPLEX8=0
|
|
|
|
fi
|
|
|
|
if test "$OMPI_SIZEOF_F90_COMPLEX16" != "16" ; then
|
|
|
|
OMPI_SIZEOF_F90_COMPLEX16=0
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_ALIGNMENT_F90_COMPLEX16=0
|
|
|
|
OMPI_PRECISION_F90_COMPLEX16=0
|
|
|
|
OMPI_RANGE_F90_COMPLEX16=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_COMPLEX16=0
|
|
|
|
fi
|
|
|
|
if test "$OMPI_SIZEOF_F90_COMPLEX32" != "32" ; then
|
|
|
|
OMPI_SIZEOF_F90_COMPLEX32=0
|
2005-02-06 02:54:41 +03:00
|
|
|
OMPI_ALIGNMENT_F90_COMPLEX32=0
|
|
|
|
OMPI_PRECISION_F90_COMPLEX32=0
|
|
|
|
OMPI_RANGE_F90_COMPLEX32=0
|
2005-01-08 00:21:46 +03:00
|
|
|
OMPI_HAVE_F90_COMPLEX32=0
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_SUBST(OMPI_FORTRAN_LKINDS)
|
|
|
|
AC_SUBST(OMPI_FORTRAN_IKINDS)
|
|
|
|
AC_SUBST(OMPI_FORTRAN_RKINDS)
|
|
|
|
AC_SUBST(OMPI_FORTRAN_CKINDS)
|
|
|
|
|
|
|
|
AC_SUBST(OMPI_SIZEOF_F90_INT1)
|
|
|
|
AC_SUBST(OMPI_SIZEOF_F90_INT2)
|
|
|
|
AC_SUBST(OMPI_SIZEOF_F90_INT4)
|
|
|
|
AC_SUBST(OMPI_SIZEOF_F90_INT8)
|
|
|
|
AC_SUBST(OMPI_SIZEOF_F90_INT16)
|
|
|
|
|
|
|
|
AC_SUBST(OMPI_SIZEOF_F90_REAL4)
|
|
|
|
AC_SUBST(OMPI_SIZEOF_F90_REAL8)
|
|
|
|
AC_SUBST(OMPI_SIZEOF_F90_REAL16)
|
|
|
|
|
|
|
|
AC_SUBST(OMPI_SIZEOF_F90_COMPLEX8)
|
|
|
|
AC_SUBST(OMPI_SIZEOF_F90_COMPLEX16)
|
|
|
|
AC_SUBST(OMPI_SIZEOF_F90_COMPLEX32)
|
|
|
|
|
2005-01-13 01:22:14 +03:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_F90_INTEGER1, $OMPI_HAVE_F90_INTEGER1,
|
|
|
|
[support for fortran integer*1])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_F90_INTEGER2, $OMPI_HAVE_F90_INTEGER2,
|
|
|
|
[support for fortran integer*2])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_F90_INTEGER4, $OMPI_HAVE_F90_INTEGER4,
|
|
|
|
[support for fortran integer*4])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_F90_INTEGER8, $OMPI_HAVE_F90_INTEGER8,
|
|
|
|
[support for fortran integer*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_F90_INTEGER16, $OMPI_HAVE_F90_INTEGER16,
|
|
|
|
[support for fortran integer*16])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_F90_REAL4, $OMPI_HAVE_F90_REAL4,
|
|
|
|
[support for fortran real*4])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_F90_REAL8, $OMPI_HAVE_F90_REAL8,
|
|
|
|
[support for fortran real*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_F90_REAL16, $OMPI_HAVE_F90_REAL16,
|
|
|
|
[support for fortran real*16])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_F90_COMPLEX8, $OMPI_HAVE_F90_COMPLEX8,
|
|
|
|
[support for fortran complex*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_F90_COMPLEX16, $OMPI_HAVE_F90_COMPLEX16,
|
|
|
|
[support for fortran complex*16])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_F90_COMPLEX32, $OMPI_HAVE_F90_COMPLEX32,
|
|
|
|
[support for fortran complex*21])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_F90_INT1, $OMPI_SIZEOF_F90_INT1,
|
|
|
|
[size of fortran integer*1])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_F90_INT2, $OMPI_SIZEOF_F90_INT2,
|
|
|
|
[size of fortran integer*2])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_F90_INT4, $OMPI_SIZEOF_F90_INT4,
|
|
|
|
[size of fortran integer*4])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_F90_INT8, $OMPI_SIZEOF_F90_INT8,
|
|
|
|
[size of fortran integer*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_F90_INT16, $OMPI_SIZEOF_F90_INT16,
|
|
|
|
[size of fortran integer*16])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_F90_REAL4, $OMPI_SIZEOF_F90_REAL4,
|
|
|
|
[size of fortran real*4])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_F90_REAL8, $OMPI_SIZEOF_F90_REAL8,
|
|
|
|
[size of fortran real*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_F90_REAL16, $OMPI_SIZEOF_F90_REAL16,
|
|
|
|
[size of fortran real*16])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_F90_COMPLEX8, $OMPI_SIZEOF_F90_COMPLEX8,
|
|
|
|
[size of fortran complex*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_F90_COMPLEX16, $OMPI_SIZEOF_F90_COMPLEX16,
|
|
|
|
[size of fortran complex*16])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_SIZEOF_F90_COMPLEX32, $OMPI_SIZEOF_F90_COMPLEX32,
|
|
|
|
[size of fortran complex*32])
|
|
|
|
|
2005-01-12 21:23:26 +03:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_LOGICAL, $OMPI_ALIGNMENT_F90_LOGICAL,
|
|
|
|
[Alignment of fortran logical])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_INT, $OMPI_ALIGNMENT_F90_INT,
|
|
|
|
[Alignment of fortran integer])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_REAL, $OMPI_ALIGNMENT_F90_REAL,
|
|
|
|
[alignment of fortran real])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_DBLPREC, $OMPI_ALIGNMENT_F90_DBLPREC,
|
|
|
|
[Alignment of fortran double precision])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_COMPLEX, $OMPI_ALIGNMENT_F90_COMPLEX,
|
|
|
|
[Alignment of fortran complex])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_DBLCOMPLEX,
|
|
|
|
$OMPI_ALIGNMENT_F90_DBLCOMPLEX,
|
|
|
|
[Alignment of fortran double complex])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_INT1, $OMPI_ALIGNMENT_F90_INT1,
|
|
|
|
[alignment of fortran integer*1])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_INT2, $OMPI_ALIGNMENT_F90_INT2,
|
|
|
|
[alignment of fortran integer*2])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_INT4, $OMPI_ALIGNMENT_F90_INT4,
|
|
|
|
[alignment of fortran integer*4])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_INT8, $OMPI_ALIGNMENT_F90_INT8,
|
|
|
|
[alignment of fortran integer*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_INT16, $OMPI_ALIGNMENT_F90_INT16,
|
|
|
|
[alignment of fortran integer*16])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_REAL4, $OMPI_ALIGNMENT_F90_REAL4,
|
|
|
|
[alignment of fortran real*4])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_REAL8, $OMPI_ALIGNMENT_F90_REAL8,
|
|
|
|
[alignment of fortran real*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_REAL16, $OMPI_ALIGNMENT_F90_REAL16,
|
|
|
|
[alignment of fortran real*16])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_COMPLEX8, $OMPI_ALIGNMENT_F90_COMPLEX8,
|
2005-01-13 01:22:14 +03:00
|
|
|
[alignment of fortran complex*8])
|
2005-01-12 21:23:26 +03:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_COMPLEX16, $OMPI_ALIGNMENT_F90_COMPLEX16,
|
2005-01-13 01:22:14 +03:00
|
|
|
[alignment of fortran complex*16])
|
2005-01-12 21:23:26 +03:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_ALIGNMENT_F90_COMPLEX32, $OMPI_ALIGNMENT_F90_COMPLEX32,
|
2005-01-13 01:22:14 +03:00
|
|
|
[alignment of fortran complex*32])
|
2005-01-12 21:23:26 +03:00
|
|
|
|
2005-02-06 02:54:41 +03:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_PRECISION_F90_REAL4, $OMPI_PRECISION_F90_REAL4,
|
|
|
|
[precision of fortran real*4])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_PRECISION_F90_REAL8, $OMPI_PRECISION_F90_REAL8,
|
|
|
|
[precision of fortran real*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_PRECISION_F90_REAL16, $OMPI_PRECISION_F90_REAL16,
|
|
|
|
[precision of fortran real*16])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_PRECISION_F90_COMPLEX8, $OMPI_PRECISION_F90_COMPLEX8,
|
|
|
|
[precision of fortran complex*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_PRECISION_F90_COMPLEX16, $OMPI_PRECISION_F90_COMPLEX16,
|
|
|
|
[precision of fortran complex*16])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_PRECISION_F90_COMPLEX32, $OMPI_PRECISION_F90_COMPLEX32,
|
|
|
|
[precision of fortran complex*32])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_RANGE_F90_REAL4, $OMPI_RANGE_F90_REAL4,
|
|
|
|
[range of fortran real*4])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_RANGE_F90_REAL8, $OMPI_RANGE_F90_REAL8,
|
|
|
|
[range of fortran real*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_RANGE_F90_REAL16, $OMPI_RANGE_F90_REAL16,
|
|
|
|
[range of fortran real*16])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_RANGE_F90_COMPLEX8, $OMPI_RANGE_F90_COMPLEX8,
|
|
|
|
[range of fortran complex*8])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_RANGE_F90_COMPLEX16, $OMPI_RANGE_F90_COMPLEX16,
|
|
|
|
[range of fortran complex*16])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_RANGE_F90_COMPLEX32, $OMPI_RANGE_F90_COMPLEX32,
|
|
|
|
[range of fortran complex*32])
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
##################################
|
|
|
|
# Header files
|
|
|
|
##################################
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_show_title "Header file tests"
|
2004-03-28 14:52:58 +04:00
|
|
|
|
2005-04-16 01:18:20 +04:00
|
|
|
AC_CHECK_HEADERS([alloca.h aio.h arpa/inet.h dirent.h \
|
|
|
|
dlfcn.h execinfo.h err.h fcntl.h inttypes.h libgen.h \
|
|
|
|
net/if.h netdb.h netinet/in.h netinet/tcp.h \
|
|
|
|
poll.h pthread.h pty.h pwd.h sched.h stdint.h \
|
|
|
|
string.h strings.h stropts.h sys/fcntl.h sys/ipc.h \
|
|
|
|
sys/ioctl.h sys/mman.h sys/param.h sys/queue.h \
|
|
|
|
sys/resource.h sys/select.h sys/socket.h sys/sockio.h \
|
|
|
|
sys/stat.h sys/statvfs.h sys/time.h sys/tree.h \
|
|
|
|
sys/types.h sys/uio.h sys/utsname.h sys/wait.h syslog.h \
|
|
|
|
time.h termios.h ulimit.h unistd.h util.h])
|
2004-09-29 23:42:16 +04:00
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
# SA_RESTART in signal.h
|
2004-12-17 00:37:57 +03:00
|
|
|
AC_MSG_CHECKING([if SA_RESTART defined in signal.h])
|
|
|
|
AC_EGREP_CPP(yes, [
|
|
|
|
#include <signal.h>
|
|
|
|
#ifdef SA_RESTART
|
|
|
|
yes
|
|
|
|
#endif ], [MSG=yes VALUE=1], [MSG=no VALUE=0])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_SA_RESTART, $VALUE,
|
|
|
|
[Whether we have SA_RESTART in <signal.h> or not])
|
|
|
|
AC_MSG_RESULT([$MSG])
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
# sa_len in struct sockaddr
|
2004-12-17 00:37:57 +03:00
|
|
|
AC_MSG_CHECKING([for sa_len in struct sockaddr])
|
|
|
|
AC_TRY_COMPILE([#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>], [struct sockaddr s; s.sa_len;],
|
|
|
|
[MSG=yes VALUE=1], [MSG=no VALUE=0])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_SA_LEN, $VALUE,
|
|
|
|
[Whether we have the sa_len struct in <sys/socket.h> or not])
|
|
|
|
AC_MSG_RESULT([$MSG])
|
|
|
|
|
2005-04-04 18:19:34 +04:00
|
|
|
AC_CHECK_MEMBERS([struct dirent.d_type], [], [], [
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <dirent.h>])
|
2004-08-05 15:12:25 +04:00
|
|
|
|
2005-04-06 09:32:11 +04:00
|
|
|
AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
|
|
|
|
|
|
|
|
|
2004-08-05 15:12:25 +04:00
|
|
|
# Note that sometimes we have <stdbool.h>, but it doesn't work (e.g.,
|
|
|
|
# have both Portland and GNU installed; using pgcc will find GNU's
|
|
|
|
# <stdbool.h>, which all it does -- by standard -- is define "bool" to
|
|
|
|
# "_Bool" [see
|
|
|
|
# http://www.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html],
|
|
|
|
# and Portland has no idea what to do with _Bool).
|
|
|
|
|
|
|
|
# So first figure out if we have <stdbool.h> (i.e., check the value of
|
|
|
|
# the macro HAVE_STDBOOL_H from the result of AC_CHECK_HEADERS,
|
|
|
|
# above). If we do have it, then check to see if it actually works.
|
|
|
|
# Define OMPI_USE_STDBOOL_H as approrpaite.
|
2004-09-29 23:42:16 +04:00
|
|
|
AC_CHECK_HEADERS([stdbool.h], [have_stdbool_h=1], [have_stdbool_h=0])
|
2004-08-05 15:12:25 +04:00
|
|
|
AC_MSG_CHECKING([if <stdbool.h> works])
|
|
|
|
if test "$have_stdbool_h" = "1"; then
|
|
|
|
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
|
|
|
|
AC_INCLUDES_DEFAULT
|
|
|
|
#if HAVE_STDBOOL_H
|
|
|
|
#include <stdbool.h>
|
|
|
|
#endif]],
|
|
|
|
[[bool bar, foo = true; bar = foo;]]),
|
|
|
|
[OMPI_USE_STDBOOL_H=1 MSG=yes],[OMPI_USE_STDBOOL_H=0 MSG=no])
|
|
|
|
else
|
|
|
|
OMPI_USE_STDBOOL_H=0
|
|
|
|
MSG="no (don't have <stdbool.h>)"
|
|
|
|
fi
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_USE_STDBOOL_H, $OMPI_USE_STDBOOL_H,
|
|
|
|
[Whether to use <stdbool.h> or not])
|
|
|
|
AC_MSG_RESULT([$MSG])
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
|
|
|
|
##################################
|
|
|
|
# Libraries
|
|
|
|
##################################
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_show_title "Library and Function tests"
|
2004-03-28 14:02:38 +04:00
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
# -lsocket
|
|
|
|
# -lnsl
|
|
|
|
# atexit
|
|
|
|
# getcwd
|
|
|
|
# atoll
|
|
|
|
# strtoll
|
|
|
|
# yield
|
|
|
|
# vscanf
|
2004-01-14 09:39:55 +03:00
|
|
|
|
2005-04-16 01:18:20 +04:00
|
|
|
AC_CHECK_LIB([util], [openpty], [WRAPPER_EXTRA_LIBS="$WRAPPER_EXTRA_LIBS -lutil" LIBLAM_EXTRA_LIBS="$LIBLAMEXTRALIBS -lutil" LIBS="$LIBS -lutil]")
|
|
|
|
AC_CHECK_FUNCS([asprintf snprintf vasprintf vsnprintf openpty isatty])
|
2004-08-11 02:41:17 +04:00
|
|
|
|
2004-01-14 09:39:55 +03:00
|
|
|
#
|
|
|
|
# Make sure we can copy va_lists (need check declared, not linkable)
|
|
|
|
#
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_CHECK_DECL(va_copy, OMPI_HAVE_VA_COPY=1, OMPI_HAVE_VA_COPY=0,
|
2004-01-14 09:39:55 +03:00
|
|
|
[#include <stdarg.h>])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_VA_COPY, $OMPI_HAVE_VA_COPY,
|
2004-01-14 09:39:55 +03:00
|
|
|
[Whether we have va_copy or not])
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_CHECK_DECL(__va_copy, OMPI_HAVE_UNDERSCORE_VA_COPY=1,
|
|
|
|
OMPI_HAVE_UNDERSCORE_VA_COPY=0, [#include <stdarg.h>])
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_HAVE_UNDERSCORE_VA_COPY, $OMPI_HAVE_UNDERSCORE_VA_COPY,
|
2004-01-14 09:39:55 +03:00
|
|
|
[Whether we have __va_copy or not])
|
|
|
|
|
2004-10-29 23:14:11 +04:00
|
|
|
AC_CHECK_DECLS(__func__)
|
|
|
|
|
2005-03-29 00:52:00 +04:00
|
|
|
#
|
2005-03-30 05:43:16 +04:00
|
|
|
# Solaris has sched_yield in -lrt. Can't use a simple AC_CHECK_LIB,
|
|
|
|
# though, because Linux has sched_yield in glic (so linking in librt
|
|
|
|
# will "find" sched_yield, even though it would have been found anyway
|
|
|
|
# -- so -lrt would be useless [and potentially harmful?] in this
|
|
|
|
# case).
|
2005-03-29 00:52:00 +04:00
|
|
|
#
|
|
|
|
|
2005-03-30 05:43:16 +04:00
|
|
|
AC_MSG_CHECKING([if we need -lrt for sched_yield])
|
|
|
|
AC_LINK_IFELSE(AC_LANG_PROGRAM([[extern char *sched_yield;]],
|
|
|
|
[[char *bar = sched_yield;]]),
|
|
|
|
[MSG=no],[MSG=not_found])
|
|
|
|
if test "$MSG" = "not_found"; then
|
|
|
|
LIBS_save="$LIBS"
|
|
|
|
LIBS="$LIBS -lrt"
|
|
|
|
AC_LINK_IFELSE(AC_LANG_PROGRAM([[extern char *sched_yield;]],
|
|
|
|
[[char *bar = sched_yield;]]),
|
|
|
|
[MSG=yes],[MSG=not_found])
|
|
|
|
if test "$MSG" = "not_found"; then
|
|
|
|
LIBS="$LIBS_save"
|
|
|
|
AC_MSG_RESULT([cannot find sched_yield])
|
|
|
|
AC_MSG_ERROR([Cannot continue])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT([$MSG])
|
2005-03-29 00:52:00 +04:00
|
|
|
|
|
|
|
#
|
|
|
|
# See if we need the math library explicitly linked in
|
|
|
|
#
|
|
|
|
|
2005-03-14 23:57:21 +03:00
|
|
|
AC_CHECK_LIB([m], [ceil])
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
##################################
|
|
|
|
# System-specific tests
|
|
|
|
##################################
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_show_title "System-specific tests"
|
2004-06-29 04:02:25 +04:00
|
|
|
|
2004-01-17 01:16:25 +03:00
|
|
|
#
|
2004-06-29 04:02:25 +04:00
|
|
|
# Determine corresponding C types for Fortran: LOGICAL, INTEGER, REAL,
|
|
|
|
# DOUBLE PRECISION. If we don't have a fortran compiler, assume some
|
|
|
|
# sensible defaults (although the values don't really matter). We
|
|
|
|
# need these types for the back-end MPI_Op reduction functions,
|
|
|
|
# regardless of whether we have a fortran compiler or not.
|
2004-01-17 01:16:25 +03:00
|
|
|
#
|
2004-06-29 04:02:25 +04:00
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
if test "$OMPI_F77" != "none"; then
|
2004-06-29 04:02:25 +04:00
|
|
|
OMPI_FIND_TYPE(Fortran LOGICAL, FORTRAN_LOGICAL,
|
|
|
|
char int int32_t)
|
|
|
|
OMPI_FIND_TYPE(Fortran INTEGER, FORTRAN_INT,
|
|
|
|
int32_t int intr64_t long:long long)
|
|
|
|
OMPI_FIND_TYPE(Fortran REAL, FORTRAN_REAL,
|
|
|
|
float double long:double)
|
|
|
|
OMPI_FIND_TYPE(Fortran DOUBLE PRECISION, FORTRAN_DBLPREC,
|
|
|
|
float double long:double)
|
2004-01-19 04:33:03 +03:00
|
|
|
else
|
2004-06-29 04:02:25 +04:00
|
|
|
MPI_FORTRAN_LOGICAL_TYPE=char
|
|
|
|
MPI_FORTRAN_INT_TYPE=int
|
|
|
|
MPI_FORTRAN_REAL_TYPE=float
|
2004-06-29 23:09:56 +04:00
|
|
|
MPI_FORTRAN_DBLPREC_TYPE=double
|
2004-12-08 01:40:37 +03:00
|
|
|
AC_MSG_WARN([*** Did not detect a f77 compiler. Assuming default corresponding types])
|
2004-06-29 04:02:25 +04:00
|
|
|
AC_MSG_WARN([*** Fortran LOGICAL = C $MPI_FORTRAN_LOGICAL_TYPE])
|
2004-06-29 23:09:56 +04:00
|
|
|
AC_MSG_WARN([*** Fortran INTEGER = C $MPI_FORTRAN_INT_TYPE])
|
2004-06-29 04:02:25 +04:00
|
|
|
AC_MSG_WARN([*** Fortran REAL = C $MPI_FORTRAN_REAL_TYPE])
|
|
|
|
AC_MSG_WARN([*** Fortran DOUBLE PRECISION = C $MPI_FORTRAN_DBLPREC_TYPE])
|
2004-01-19 04:33:03 +03:00
|
|
|
fi
|
2004-06-29 04:02:25 +04:00
|
|
|
AC_DEFINE_UNQUOTED(MPI_Fint, $MPI_FORTRAN_INT_TYPE,
|
|
|
|
[C type corresponding to Fortran INTEGER])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(ompi_fortran_logical_t, $MPI_FORTRAN_LOGICAL_TYPE,
|
|
|
|
[C type corresponding to Fortran LOGICAL])
|
2004-06-29 23:09:56 +04:00
|
|
|
AC_DEFINE_UNQUOTED(ompi_fortran_integer_t, $MPI_FORTRAN_INT_TYPE,
|
2004-06-29 04:02:25 +04:00
|
|
|
[C type corresponding to Fortran LOGICAL])
|
|
|
|
AC_DEFINE_UNQUOTED(ompi_fortran_real_t, $MPI_FORTRAN_REAL_TYPE,
|
|
|
|
[C type corresponding to Fortran REAL])
|
|
|
|
AC_DEFINE_UNQUOTED(ompi_fortran_dblprec_t, $MPI_FORTRAN_DBLPREC_TYPE,
|
|
|
|
[C type corresponding to Fortran DOUBLE PRECISION])
|
2004-01-19 04:33:03 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# 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"
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE="not found"
|
2004-01-19 04:33:03 +03:00
|
|
|
AC_MSG_CHECKING([checking for type of MPI_Offset])
|
2005-01-30 22:35:02 +03:00
|
|
|
if test "$ac_cv_type_int64_t" = "yes"; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_OFFSET_TYPE=int64_t
|
2004-12-08 01:40:37 +03:00
|
|
|
# Need to figure out MPI_OFFSET_DATATYPE below
|
|
|
|
MPI_OFFSET_SIZE=8
|
2005-01-30 22:35:02 +03:00
|
|
|
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_OFFSET_TYPE="long long"
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_LONG_LONG
|
|
|
|
MPI_OFFSET_SIZE=8
|
2005-01-30 22:35:02 +03:00
|
|
|
elif test "$ac_cv_type_long" = "yes" -a "$ac_cv_sizeof_long" = 8; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_OFFSET_TYPE="long"
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_LONG
|
|
|
|
MPI_OFFSET_SIZE=8
|
2005-01-30 22:35:02 +03:00
|
|
|
elif test "ac_cv_sizeof_int" = 8; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_OFFSET_TYPE=int
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_INT
|
|
|
|
MPI_OFFSET_SIZE=8
|
2005-01-30 22:35:02 +03:00
|
|
|
elif test "$ac_cv_type_int32_t" = "yes"; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_OFFSET_TYPE=int32_t
|
2004-12-08 01:40:37 +03:00
|
|
|
# Need to figure out MPI_OFFSET_DATATYPE below
|
|
|
|
MPI_OFFSET_SIZE=4
|
2005-01-30 22:35:02 +03:00
|
|
|
elif test "$ac_cv_type_long_long" = "yes" -a "$ac_cv_sizeof_long_long" = 4; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_OFFSET_TYPE="long long"
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_LONG_LONG
|
|
|
|
MPI_OFFSET_SIZE=4
|
2005-01-30 22:35:02 +03:00
|
|
|
elif test "$ac_cv_type_long" = "yes" -a "$ac_cv_sizeof_long" = 4; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_OFFSET_TYPE="long"
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_LONG
|
|
|
|
MPI_OFFSET_SIZE=4
|
2005-01-30 22:35:02 +03:00
|
|
|
elif test "ac_cv_sizeof_int" = 4; then
|
2004-01-19 04:33:03 +03:00
|
|
|
MPI_OFFSET_TYPE=int
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_INT
|
|
|
|
MPI_OFFSET_SIZE=4
|
2004-01-17 01:16:25 +03:00
|
|
|
fi
|
2004-01-19 04:33:03 +03:00
|
|
|
AC_MSG_RESULT([$MPI_OFFSET_TYPE])
|
2004-12-08 01:40:37 +03:00
|
|
|
if test "$MPI_OFFSET_TYPE" = "not found"; then
|
|
|
|
AC_MSG_WARN([*** Unable to find the right definition for MPI_Offset])
|
2004-01-19 04:33:03 +03:00
|
|
|
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-12-08 01:40:37 +03:00
|
|
|
#
|
|
|
|
# If we haven't already, figure out an MPI datatype that corresponds
|
|
|
|
# to the back-end C type of MPI_Offset. We'll only not have figured
|
|
|
|
# this out already if the type of MPI_Offset is int32_t or int64_t.
|
|
|
|
#
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([checking for an MPI datatype for MPI_Offset])
|
|
|
|
if test "$MPI_OFFSET_DATATYPE" = "not found"; then
|
|
|
|
if test "$MPI_OFFSET_TYPE" = "int64_t"; then
|
2005-01-30 22:35:02 +03:00
|
|
|
if test "$ac_cv_type_long_long" = "yes" -a "$ac_cv_sizeof_long_long" = 8; then
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_LONG_LONG
|
2005-01-30 22:35:02 +03:00
|
|
|
elif test "$ac_cv_type_long" = "yes" -a "$ac_cv_sizeof_long" = 8; then
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_LONG
|
2005-01-30 22:35:02 +03:00
|
|
|
elif test "ac_cv_sizeof_int" = 8; then
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_INT
|
|
|
|
fi
|
|
|
|
elif test "$MPI_OFFSET_TYPE" = "int32_t"; then
|
2005-01-30 22:35:02 +03:00
|
|
|
if test "$ac_cv_type_long_long" = "yes" -a "$ac_cv_sizeof_long_long" = 4; then
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_LONG_LONG
|
2005-01-30 22:35:02 +03:00
|
|
|
elif test "$ac_cv_type_long" = "yes" -a "$ac_cv_sizeof_long" = 4; then
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_LONG
|
2005-01-30 22:35:02 +03:00
|
|
|
elif test "ac_cv_sizeof_int" = 4; then
|
2004-12-08 01:40:37 +03:00
|
|
|
MPI_OFFSET_DATATYPE=MPI_INT
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT([$MPI_OFFSET_DATATYPE])
|
|
|
|
if test "$MPI_OFFSET_DATATYPE" = "not found"; then
|
|
|
|
AC_MSG_WARN([*** Unable to find an MPI datatype corresponding to MPI_Offset])
|
|
|
|
AC_MSG_ERROR([Cannot continue])
|
|
|
|
fi
|
|
|
|
AC_DEFINE_UNQUOTED(OMPI_OFFSET_DATATYPE, $MPI_OFFSET_DATATYPE, [MPI datatype corresponding to MPI_Offset])
|
2004-01-17 01:16:25 +03:00
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
# all: endian
|
2004-10-14 16:55:34 +04:00
|
|
|
|
|
|
|
AC_WORDS_BIGENDIAN
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
# all: SYSV semaphores
|
|
|
|
# all: SYSV shared memory
|
|
|
|
# all: size of FD_SET
|
|
|
|
# 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
|
|
|
|
#
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_CONFIG_THREADS
|
2004-03-17 06:04:44 +03:00
|
|
|
CFLAGS="$CFLAGS $THREAD_CFLAGS"
|
|
|
|
CXXFLAGS="$CXXFLAGS $THREAD_CXXFLAGS"
|
|
|
|
CPPFLAGS="$CPPFLAGS $THREAD_CPPFLAGS"
|
|
|
|
CXXCPPFLAGS="$CXXCPPFLAGS $THREAD_CXXCPPFLAGS"
|
|
|
|
LDFLAGS="$LDFLAGS $THREAD_LDFLAGS"
|
|
|
|
LIBS="$LIBS $THREAD_LIBS"
|
|
|
|
|
|
|
|
WRAPPER_EXTRA_CFLAGS="$WRAPPER_EXTRA_CFLAGS $THREAD_CFLAGS"
|
|
|
|
WRAPPER_EXTRA_CXXFLAGS="$WRAPPER_EXTRA_CXXFLAGS $THREAD_CXXFLAGS"
|
|
|
|
WRAPPER_EXTRA_FFLAGS="$WRAPPER_EXTRA_FFLAGS $THREAD_FFLAGS"
|
2004-03-28 14:02:38 +04:00
|
|
|
WRAPPER_EXTRA_FCFLAGS="$WRAPPER_EXTRA_FCFLAGS $THREAD_FFLAGS"
|
2004-03-17 06:04:44 +03:00
|
|
|
WRAPPER_EXTRA_LDFLAGS="$WRAPPER_EXTRA_LDFLAGS $THREAD_LDFLAGS"
|
|
|
|
WRAPPER_EXTRA_LIBS="$WRAPPER_EXTRA_LIBS $THREAD_LIBS"
|
2004-01-14 10:06:57 +03:00
|
|
|
|
2004-02-13 06:58:56 +03:00
|
|
|
#
|
|
|
|
# What is the local equivalent of "ln -s"
|
|
|
|
#
|
|
|
|
|
|
|
|
AC_PROG_LN_S
|
|
|
|
|
2004-08-05 18:01:45 +04:00
|
|
|
#
|
2004-08-16 03:55:10 +04:00
|
|
|
# We need as and lex
|
2004-08-05 18:01:45 +04:00
|
|
|
#
|
2004-08-16 03:55:10 +04:00
|
|
|
AM_PROG_AS
|
2004-08-05 18:01:45 +04:00
|
|
|
AM_PROG_LEX
|
|
|
|
|
2004-09-05 21:45:59 +04:00
|
|
|
# If we don't have GNU Flex and we don't have a generated .c file
|
2004-08-26 20:17:20 +04:00
|
|
|
# (distribution tarballs will have the .c file included, but SVN
|
2004-09-05 21:45:59 +04:00
|
|
|
# checkouts will not), then error. Must have GNU Flex -- other
|
|
|
|
# versions of Lex are not workable (all things being equal, since this
|
|
|
|
# is *only* required for developers, we decided that it really was not
|
|
|
|
# worth it to be portable between different versions of lex ;-).
|
|
|
|
|
|
|
|
if test -z "$LEX" -o -n "`echo $LEX | grep missing`" -o \
|
|
|
|
"`basename $LEX`" != "flex"; then
|
|
|
|
if test ! -f "$srcdir/src/util/show_help_lex.c"; then
|
|
|
|
AC_MSG_WARN([*** Could not find GNU Flex on your system.])
|
|
|
|
AC_MSG_WARN([*** GNU Flex required for developer builds of Open MPI.])
|
|
|
|
AC_MSG_WARN([*** Other versions of Lex are not supported.])
|
|
|
|
AC_MSG_WARN([*** YOU DO NOT NEED FLEX FOR DISTRIBUTION TARBALLS!])
|
|
|
|
AC_MSG_WARN([*** If you absolutely cannot install GNU Flex on this system])
|
|
|
|
AC_MSG_WARN([*** consider using a distribution tarball, or generate the])
|
|
|
|
AC_MSG_WARN([*** following files on another system (using Flex) and])
|
|
|
|
AC_MSG_WARN([*** copy them here:])
|
|
|
|
for lfile in `find . -name \*.l -print`; do
|
|
|
|
cfile="`echo $lfile | cut -d. -f-2`"
|
|
|
|
AC_MSG_WARN([*** $cfile.c])
|
|
|
|
done
|
2004-08-26 20:17:20 +04:00
|
|
|
AC_MSG_ERROR([Cannot continue])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
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
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_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
|
|
|
|
##################################
|
|
|
|
|
2004-12-08 01:40:37 +03:00
|
|
|
ompi_show_title "Modular Component Architecture (MCA) setup"
|
2004-01-12 00:35:37 +03:00
|
|
|
|
|
|
|
AC_MSG_CHECKING([for subdir args])
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_CONFIG_SUBDIR_ARGS([ompi_subdir_args])
|
|
|
|
AC_MSG_RESULT([$ompi_subdir_args])
|
2004-01-12 00:35:37 +03:00
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_MCA
|
2004-01-12 00:35:37 +03:00
|
|
|
|
|
|
|
|
2004-01-16 04:31:50 +03:00
|
|
|
############################################################################
|
2004-06-07 19:33:53 +04:00
|
|
|
# Final top-level OMPI configuration
|
2004-01-16 04:31:50 +03:00
|
|
|
############################################################################
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_show_title "Final top-level OMPI configuration"
|
2004-01-16 04:31:50 +03:00
|
|
|
|
2004-02-12 21:54:06 +03:00
|
|
|
############################################################################
|
|
|
|
# Libevent setup
|
|
|
|
############################################################################
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_show_subtitle "Libevent 3rd party event handler"
|
2004-02-12 21:54:06 +03:00
|
|
|
CFLAGS_save="$CFLAGS"
|
2004-06-07 19:33:53 +04:00
|
|
|
CFLAGS="$OMPI_CFLAGS_BEFORE_PICKY"
|
|
|
|
OMPI_SETUP_LIBEVENT
|
2004-02-12 21:54:06 +03:00
|
|
|
CFLAGS="$CFLAGS_save"
|
|
|
|
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
############################################################################
|
|
|
|
# Libtool: part two
|
|
|
|
# (after C compiler setup)
|
|
|
|
############################################################################
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_show_subtitle "Libtool 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).
|
|
|
|
|
2004-03-17 22:06:06 +03:00
|
|
|
AC_LIBLTDL_CONVENIENCE(src/libltdl)
|
2004-01-15 02:50:58 +03:00
|
|
|
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
|
2004-06-07 19:33:53 +04:00
|
|
|
# the output libtool library "libompi_ltdl", so add -lompi_ltdl here.
|
2004-01-15 02:50:58 +03:00
|
|
|
# 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]
|
|
|
|
#
|
2004-06-07 19:33:53 +04:00
|
|
|
# Finally, make libompi_ltdl follow the same shared/static convention
|
|
|
|
# that was user for the main OMPI libraries. So manually examine
|
2004-01-15 02:50:58 +03:00
|
|
|
# $enable_shared and $enable_static and pass down the corresponding
|
|
|
|
# flags.
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_show_subtitle "GNU libltdl setup"
|
2004-01-15 02:50:58 +03:00
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_subdir_args="$ompi_subdir_args --enable-ltdl-convenience --disable-ltdl-install"
|
2004-01-15 02:50:58 +03:00
|
|
|
if test "$enable_shared" = "yes"; then
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_subdir_args="$ompi_subdir_args --enable-shared"
|
2004-01-15 02:50:58 +03:00
|
|
|
else
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_subdir_args="$ompi_subdir_args --disable-shared"
|
2004-01-15 02:50:58 +03:00
|
|
|
fi
|
|
|
|
if test "$enable_static" = "yes"; then
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_subdir_args="$ompi_subdir_args --enable-static"
|
2004-01-15 02:50:58 +03:00
|
|
|
else
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_subdir_args="$ompi_subdir_args --disable-static"
|
2004-01-15 02:50:58 +03:00
|
|
|
fi
|
|
|
|
|
2004-01-16 04:31:50 +03:00
|
|
|
CFLAGS_save="$CFLAGS"
|
2004-06-07 19:33:53 +04:00
|
|
|
CFLAGS="$OMPI_CFLAGS_BEFORE_PICKY"
|
|
|
|
OMPI_CONFIG_SUBDIR(src/libltdl, [$ompi_subdir_args], [HAPPY=1], [HAPPY=0])
|
2004-01-15 02:50:58 +03:00
|
|
|
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. :-(
|
|
|
|
|
2004-03-17 22:06:06 +03:00
|
|
|
flags="`egrep ^LIBADD_DL src/libltdl/Makefile | cut -d= -f2-`"
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_CHECK_LINKER_FLAGS([src/libltdl/libtool], [-export-dynamic $flags])
|
2004-01-15 02:50:58 +03:00
|
|
|
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")
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_WANT_LIBLTDL, $WANT_LIBLTDL,
|
2004-01-15 02:50:58 +03:00
|
|
|
[Whether to include support for libltdl or not])
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# final wrapper compiler config
|
|
|
|
############################################################################
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_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-03-19 00:35:28 +03:00
|
|
|
CPPFLAGS='-I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_builddir)/src'" $CPPFLAGS"
|
|
|
|
CXXCPPFLAGS='-I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_builddir)/src'" $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-06-07 19:33:53 +04:00
|
|
|
OMPI_UNIQ(WRAPPER_EXTRA_CFLAGS)
|
2004-01-12 10:08:37 +03:00
|
|
|
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-06-07 19:33:53 +04:00
|
|
|
OMPI_UNIQ(WRAPPER_EXTRA_CXXFLAGS)
|
2004-01-12 10:08:37 +03:00
|
|
|
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-06-07 19:33:53 +04:00
|
|
|
OMPI_UNIQ(WRAPPER_EXTRA_FFLAGS)
|
2004-01-12 10:08:37 +03:00
|
|
|
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
|
|
|
|
2004-03-28 14:02:38 +04:00
|
|
|
#
|
|
|
|
# WRAPPER_EXTRA_FCFLAGS
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING([for mpif77/mpif90 FCFLAGS])
|
2004-06-07 19:33:53 +04:00
|
|
|
OMPI_UNIQ(WRAPPER_EXTRA_FCFLAGS)
|
2004-03-28 14:02:38 +04:00
|
|
|
AC_SUBST(WRAPPER_EXTRA_FCFLAGS)
|
|
|
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_FCFLAGS, "$WRAPPER_EXTRA_FCFLAGS",
|
|
|
|
[Additional FCFLAGS to pass through the wrapper compilers])
|
|
|
|
AC_MSG_RESULT([$WRAPPER_EXTRA_FCFLAGS])
|
|
|
|
|
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-06-07 19:33:53 +04:00
|
|
|
OMPI_UNIQ(WRAPPER_EXTRA_LDFLAGS)
|
2004-01-12 10:08:37 +03:00
|
|
|
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
|
|
|
|
2005-02-08 08:06:15 +03:00
|
|
|
#
|
|
|
|
# Adding LIBMPI_* flags from the components that are necessary to
|
|
|
|
# compile with libmpi
|
|
|
|
#
|
|
|
|
# LIBMPI_EXTRA_LDFLAGS
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING([for libmpi additional LDFLAGS])
|
|
|
|
OMPI_UNIQ(LIBMPI_EXTRA_LDFLAGS)
|
|
|
|
AC_SUBST(LIBMPI_EXTRA_LDFLAGS)
|
|
|
|
AC_DEFINE_UNQUOTED(LIBMPI_EXTRA_LDFLAGS, "$LIBMPI_EXTRA_LDFLAGS",
|
|
|
|
[Additional LDFLAGS to compile against libmpi])
|
|
|
|
AC_MSG_RESULT([$LIBMPI_EXTRA_LDFLAGS])
|
|
|
|
|
|
|
|
#
|
|
|
|
# LIBMPI_EXTRA_LIBS
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING([for libmpi additional LIBS])
|
|
|
|
AC_SUBST(LIBMPI_EXTRA_LIBS)
|
|
|
|
AC_DEFINE_UNQUOTED(LIBMPI_EXTRA_LIBS, "$LIBMPI_EXTRA_LIBS",
|
|
|
|
[Additional LIBS to compile against libmpi])
|
|
|
|
AC_MSG_RESULT([$LIBMPI_EXTRA_LIBS])
|
|
|
|
|
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)
|
2004-03-28 14:02:38 +04:00
|
|
|
AC_SUBST(FCFLAGS)
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Party on
|
|
|
|
############################################################################
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_show_subtitle "Final output"
|
2003-11-22 19:36:58 +03:00
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
AM_CONFIG_HEADER([include/ompi_config.h])
|
2003-11-22 19:36:58 +03:00
|
|
|
AC_CONFIG_FILES([
|
|
|
|
Makefile
|
|
|
|
|
|
|
|
config/Makefile
|
|
|
|
|
2004-03-19 00:35:28 +03:00
|
|
|
include/Makefile
|
2004-03-19 20:27:35 +03:00
|
|
|
include/mpif.h
|
2004-03-19 00:35:28 +03:00
|
|
|
|
2004-08-30 14:44:30 +04:00
|
|
|
etc/Makefile
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
src/Makefile
|
|
|
|
src/include/Makefile
|
2004-07-08 00:59:20 +04:00
|
|
|
src/include/sys/Makefile
|
|
|
|
src/include/sys/alpha/Makefile
|
|
|
|
src/include/sys/amd64/Makefile
|
|
|
|
src/include/sys/ia32/Makefile
|
|
|
|
src/include/sys/ia64/Makefile
|
2005-02-18 23:10:29 +03:00
|
|
|
src/include/sys/mips/Makefile
|
2004-07-08 00:59:20 +04:00
|
|
|
src/include/sys/powerpc/Makefile
|
2005-02-14 21:04:23 +03:00
|
|
|
src/include/sys/sparc/Makefile
|
2005-04-04 18:23:35 +04:00
|
|
|
src/include/sys/sparcv9/Makefile
|
2005-01-27 19:49:47 +03:00
|
|
|
src/include/sys/win32/Makefile
|
2003-11-22 19:57:54 +03:00
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
src/class/Makefile
|
2005-03-14 23:57:21 +03:00
|
|
|
src/dps/Makefile
|
2004-03-17 22:06:06 +03:00
|
|
|
src/runtime/Makefile
|
|
|
|
src/threads/Makefile
|
|
|
|
src/util/Makefile
|
|
|
|
|
2004-03-18 00:11:52 +03:00
|
|
|
src/event/Makefile
|
2004-03-18 01:28:18 +03:00
|
|
|
src/event/compat/Makefile
|
|
|
|
src/event/compat/sys/Makefile
|
2004-03-18 00:11:52 +03:00
|
|
|
|
2004-03-17 22:06:06 +03:00
|
|
|
src/attribute/Makefile
|
2005-01-27 04:39:55 +03:00
|
|
|
src/asm/Makefile
|
2004-03-17 22:06:06 +03:00
|
|
|
src/communicator/Makefile
|
|
|
|
src/datatype/Makefile
|
|
|
|
src/errhandler/Makefile
|
2004-03-26 07:28:42 +03:00
|
|
|
src/file/Makefile
|
2004-03-17 22:06:06 +03:00
|
|
|
src/group/Makefile
|
|
|
|
src/info/Makefile
|
|
|
|
src/op/Makefile
|
|
|
|
src/proc/Makefile
|
|
|
|
src/request/Makefile
|
|
|
|
src/win/Makefile
|
2003-11-22 19:57:54 +03:00
|
|
|
|
2004-01-09 00:42:18 +03:00
|
|
|
src/mca/Makefile
|
2004-03-17 22:06:06 +03:00
|
|
|
src/mca/base/Makefile
|
|
|
|
src/mca/common/Makefile
|
|
|
|
|
2005-03-14 23:57:21 +03:00
|
|
|
src/mca/errmgr/Makefile
|
|
|
|
src/mca/errmgr/base/Makefile
|
|
|
|
src/mca/iof/Makefile
|
|
|
|
src/mca/iof/base/Makefile
|
|
|
|
src/mca/gpr/Makefile
|
|
|
|
src/mca/gpr/base/Makefile
|
|
|
|
src/mca/gpr/base/pack_api_cmd/Makefile
|
|
|
|
src/mca/gpr/base/unpack_api_response/Makefile
|
|
|
|
src/mca/ns/Makefile
|
|
|
|
src/mca/ns/base/Makefile
|
2004-03-17 22:06:06 +03:00
|
|
|
src/mca/oob/Makefile
|
|
|
|
src/mca/oob/base/Makefile
|
2005-03-14 23:57:21 +03:00
|
|
|
src/mca/pls/Makefile
|
|
|
|
src/mca/pls/base/Makefile
|
|
|
|
src/mca/ras/Makefile
|
|
|
|
src/mca/ras/base/Makefile
|
|
|
|
src/mca/rds/Makefile
|
|
|
|
src/mca/rds/base/Makefile
|
|
|
|
src/mca/rmaps/Makefile
|
|
|
|
src/mca/rmaps/base/Makefile
|
|
|
|
src/mca/rmgr/Makefile
|
|
|
|
src/mca/rmgr/base/Makefile
|
2004-12-15 21:38:34 +03:00
|
|
|
src/mca/soh/Makefile
|
|
|
|
src/mca/soh/base/Makefile
|
2004-08-05 18:01:45 +04:00
|
|
|
|
2004-06-15 20:57:18 +04:00
|
|
|
src/mca/allocator/Makefile
|
|
|
|
src/mca/allocator/base/Makefile
|
2004-03-17 22:06:06 +03:00
|
|
|
src/mca/coll/Makefile
|
|
|
|
src/mca/coll/base/Makefile
|
|
|
|
src/mca/io/Makefile
|
|
|
|
src/mca/io/base/Makefile
|
2004-06-15 23:07:45 +04:00
|
|
|
src/mca/mpool/Makefile
|
|
|
|
src/mca/mpool/base/Makefile
|
2004-03-17 22:06:06 +03:00
|
|
|
src/mca/pml/Makefile
|
|
|
|
src/mca/pml/base/Makefile
|
|
|
|
src/mca/ptl/Makefile
|
|
|
|
src/mca/ptl/base/Makefile
|
2005-03-14 23:57:21 +03:00
|
|
|
src/mca/rml/Makefile
|
|
|
|
src/mca/rml/base/Makefile
|
2004-06-15 23:07:45 +04:00
|
|
|
src/mca/topo/Makefile
|
|
|
|
src/mca/topo/base/Makefile
|
2004-01-12 00:35:37 +03:00
|
|
|
|
2004-06-16 03:56:18 +04:00
|
|
|
src/dynamic-mca/common/Makefile
|
|
|
|
|
2005-03-14 23:57:21 +03:00
|
|
|
src/dynamic-mca/errmgr/Makefile
|
|
|
|
src/dynamic-mca/iof/Makefile
|
|
|
|
src/dynamic-mca/gpr/Makefile
|
|
|
|
src/dynamic-mca/ns/Makefile
|
2004-06-16 03:56:18 +04:00
|
|
|
src/dynamic-mca/oob/Makefile
|
2005-03-14 23:57:21 +03:00
|
|
|
src/dynamic-mca/pls/Makefile
|
|
|
|
src/dynamic-mca/ras/Makefile
|
|
|
|
src/dynamic-mca/rds/Makefile
|
|
|
|
src/dynamic-mca/rmaps/Makefile
|
|
|
|
src/dynamic-mca/rmgr/Makefile
|
2004-12-16 21:52:33 +03:00
|
|
|
src/dynamic-mca/soh/Makefile
|
2004-06-16 03:56:18 +04:00
|
|
|
|
|
|
|
src/dynamic-mca/Makefile
|
|
|
|
src/dynamic-mca/allocator/Makefile
|
|
|
|
src/dynamic-mca/coll/Makefile
|
|
|
|
src/dynamic-mca/io/Makefile
|
|
|
|
src/dynamic-mca/mpool/Makefile
|
|
|
|
src/dynamic-mca/pml/Makefile
|
|
|
|
src/dynamic-mca/ptl/Makefile
|
2005-03-14 23:57:21 +03:00
|
|
|
src/dynamic-mca/rml/Makefile
|
2004-06-16 03:56:18 +04:00
|
|
|
src/dynamic-mca/topo/Makefile
|
|
|
|
|
2004-03-17 22:06:06 +03:00
|
|
|
src/mpi/Makefile
|
|
|
|
src/mpi/c/Makefile
|
|
|
|
src/mpi/c/profile/Makefile
|
|
|
|
src/mpi/cxx/Makefile
|
|
|
|
src/mpi/f77/Makefile
|
|
|
|
src/mpi/f77/profile/Makefile
|
|
|
|
src/mpi/f90/Makefile
|
2004-11-17 00:10:25 +03:00
|
|
|
src/mpi/f90/fortran_kinds.sh
|
2005-01-08 00:21:46 +03:00
|
|
|
src/mpi/f90/fortran_sizes.h
|
2005-02-06 02:54:41 +03:00
|
|
|
src/mpi/f90/scripts/Makefile
|
2004-08-08 09:20:32 +04:00
|
|
|
src/mpi/runtime/Makefile
|
2004-01-09 00:42:18 +03:00
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
src/tools/Makefile
|
2004-09-11 10:39:18 +04:00
|
|
|
src/tools/console/Makefile
|
|
|
|
src/tools/ompi_info/Makefile
|
2005-03-14 23:57:21 +03:00
|
|
|
src/tools/orted/Makefile
|
|
|
|
src/tools/orterun/Makefile
|
2004-07-08 06:47:39 +04:00
|
|
|
src/tools/openmpi/Makefile
|
2004-09-11 10:39:18 +04:00
|
|
|
src/tools/wrappers/Makefile
|
2005-01-28 00:08:35 +03:00
|
|
|
|
2005-03-22 07:25:01 +03:00
|
|
|
test/Makefile
|
|
|
|
test/asm/Makefile
|
|
|
|
test/class/Makefile
|
|
|
|
test/dps/Makefile
|
|
|
|
test/mca/Makefile
|
|
|
|
test/mca/gpr/Makefile
|
|
|
|
test/mca/ns/Makefile
|
|
|
|
test/mca/oob/Makefile
|
2005-04-02 00:17:49 +04:00
|
|
|
test/mca/ras/Makefile
|
2005-03-22 07:25:01 +03:00
|
|
|
test/mca/rds/Makefile
|
2005-04-02 00:17:49 +04:00
|
|
|
test/mca/rmaps/Makefile
|
2005-03-22 07:25:01 +03:00
|
|
|
test/runtime/Makefile
|
|
|
|
test/support/Makefile
|
|
|
|
test/threads/Makefile
|
|
|
|
test/util/Makefile
|
2003-11-22 19:36:58 +03:00
|
|
|
])
|
|
|
|
AC_OUTPUT
|