2003-11-22 19:36:58 +03:00
|
|
|
# -*- shell-script -*-
|
|
|
|
#
|
|
|
|
# Copyright (c) 2003 The Trustees of Indiana University.
|
|
|
|
# All rights reserved.
|
|
|
|
#
|
2003-12-22 19:29:21 +03:00
|
|
|
# This file is part of the LAM software package. For license
|
2003-11-22 19:36:58 +03:00
|
|
|
# information, see the LICENSE file in the top level directory of the
|
2003-12-22 19:29:21 +03:00
|
|
|
# LAM source distribution.
|
2003-11-22 19:36:58 +03:00
|
|
|
#
|
2003-12-28 18:12:06 +03:00
|
|
|
# $Id: configure.ac,v 1.5 2003/12/28 15:12:06 jsquyres Exp $
|
2003-11-22 19:36:58 +03:00
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Initialization, version number, and other random setup/init stuff
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
# Init autoconf
|
|
|
|
|
2003-11-22 19:40:48 +03:00
|
|
|
AC_INIT(./src/mpi/datatype/d_get_name.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 -*-
|
|
|
|
*
|
|
|
|
* Copyright (c) 2003 The Trustees of Indiana University.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
2003-12-22 19:29:21 +03:00
|
|
|
* This file is part of the LAM software package. For license
|
2003-11-22 19:36:58 +03:00
|
|
|
* information, see the LICENSE file in the top level directory of the
|
2003-12-22 19:29:21 +03:00
|
|
|
* LAM source distribution.
|
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([
|
|
|
|
#endif /* LAM_CONFIG_H */
|
2003-11-22 19:36:58 +03:00
|
|
|
])
|
|
|
|
|
|
|
|
# What kind of machine are we on?
|
|
|
|
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Configuration options
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
# --enable-purify
|
|
|
|
# --enable-dist
|
|
|
|
# --disable-profile
|
|
|
|
# --disable-f77
|
|
|
|
# ...?
|
|
|
|
|
|
|
|
# amorphous, seem-to-be-good-idea options
|
2003-12-22 19:29:21 +03:00
|
|
|
# --with-lam=maintainer_options
|
2003-11-22 19:36:58 +03:00
|
|
|
# --with-ssi-*
|
|
|
|
# ...?
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# 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
|
|
|
|
##################################
|
|
|
|
|
|
|
|
cflags_save="$CFLAGS"
|
|
|
|
AC_PROG_CC
|
|
|
|
CFLAGS="$cflags_save"
|
|
|
|
|
|
|
|
# force ANSI prototypes
|
|
|
|
# check for STDC
|
|
|
|
# check for some types
|
|
|
|
# check for type sizes
|
|
|
|
# check for type alignments
|
2003-12-22 19:29:21 +03:00
|
|
|
# check for c99 features
|
|
|
|
AC_C_INLINE
|
2003-12-28 18:12:06 +03:00
|
|
|
AX_CREATE_STDINT_H([src/include/lam_stdint.h])
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
##################################
|
|
|
|
# C++ compiler characteristics
|
|
|
|
##################################
|
|
|
|
|
|
|
|
cxx_flags_save="$CXXFLAGS"
|
|
|
|
AC_PROG_CXX
|
|
|
|
CXXFLAGS="$cxx_flags_save"
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
##################################
|
|
|
|
# Fortran
|
|
|
|
##################################
|
|
|
|
|
|
|
|
if test "$with_f77" != "yes"; then
|
2003-12-22 19:29:21 +03:00
|
|
|
lam_show_subtitle "Fortran Compiler -- skipped"
|
|
|
|
LAM_WANT_FORTRAN=1
|
2003-11-22 19:36:58 +03:00
|
|
|
else
|
2003-12-22 19:29:21 +03:00
|
|
|
lam_show_subtitle "Fortran Compiler"
|
|
|
|
LAM_WANT_FORTRAN=0
|
2003-11-22 19:36:58 +03:00
|
|
|
fi
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
if test "$LAM_WANT_FORTRAN" = "1"; then
|
2003-11-22 19:36:58 +03:00
|
|
|
# fortran linking style (necessary?)
|
|
|
|
# check for types
|
|
|
|
# check for type sizes
|
|
|
|
# check for type alignments
|
|
|
|
true
|
|
|
|
fi
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
AM_CONDITIONAL(WANT_FORTRAN, test "$LAM_WANT_FORTRAN" = "1")
|
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
|
|
|
|
# va_copy
|
|
|
|
|
|
|
|
##################################
|
|
|
|
# System-specific tests
|
|
|
|
##################################
|
|
|
|
|
|
|
|
# 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
|
|
|
|
# all: file system case sensitivity
|
|
|
|
|
|
|
|
# AIX: FIONBIO in sys/ioctl.h
|
|
|
|
# glibc: memcpy
|
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Libtool: part two
|
|
|
|
# (after C compiler setup)
|
|
|
|
############################################################################
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
lam_show_title "Libtool configuration"
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
AM_PROG_LIBTOOL
|
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# final wrapper compiler config
|
|
|
|
############################################################################
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
lam_show_title "Final top-level LAM configuration"
|
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.
|
|
|
|
#
|
|
|
|
|
2003-12-22 19:29:21 +03:00
|
|
|
CPPFLAGS='-I$(top_srcdir)/src'" $CPPFLAGS"
|
|
|
|
CXXCPPFLAGS='-I$(top_srcdir)/src'" $CXXCPPFLAGS"
|
2003-11-22 19:36:58 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# Delayed the substitution of CFLAGS and CXXFLAGS until now because
|
|
|
|
# they may have been modified throughout the course of this script.
|
|
|
|
#
|
|
|
|
|
|
|
|
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
|
|
|
|
src/lam/base/Makefile
|
|
|
|
src/lam/mem/Makefile
|
|
|
|
src/lam/os/Makefile
|
|
|
|
src/lam/threads/Makefile
|
|
|
|
src/lam/util/Makefile
|
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
src/mpi/Makefile
|
|
|
|
src/mpi/communicator/Makefile
|
|
|
|
src/mpi/datatype/Makefile
|
2003-12-22 19:29:21 +03:00
|
|
|
src/mpi/p2p/Makefile
|
|
|
|
src/mpi/p2p/base/Makefile
|
|
|
|
src/mpi/p2p/interface/Makefile
|
|
|
|
src/mpi/p2p/matching/Makefile
|
2003-11-22 19:57:54 +03:00
|
|
|
|
2003-11-22 19:36:58 +03:00
|
|
|
src/tools/Makefile
|
|
|
|
src/tools/wrappers/Makefile
|
|
|
|
|
|
|
|
doc/Makefile
|
|
|
|
|
|
|
|
test/Makefile
|
|
|
|
test/unit/Makefile
|
|
|
|
test/unit/mpi/Makefile
|
|
|
|
test/unit/mpi/communicator/Makefile
|
|
|
|
test/unit/mpi/datatype/Makefile
|
|
|
|
])
|
|
|
|
AC_OUTPUT
|