
refresh to openpmix/openpmix@ea3b29b1a4 Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
299 строки
9.4 KiB
Plaintext
299 строки
9.4 KiB
Plaintext
# -*- shell-script -*-
|
|
#
|
|
# Copyright (c) 2004-2009 The Trustees of Indiana University and Indiana
|
|
# University Research and Technology
|
|
# Corporation. All rights reserved.
|
|
# Copyright (c) 2004-2010 The University of Tennessee and The University
|
|
# of Tennessee Research Foundation. All rights
|
|
# reserved.
|
|
# Copyright (c) 2004-2007 High Performance Computing Center Stuttgart,
|
|
# University of Stuttgart. All rights reserved.
|
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
|
# All rights reserved.
|
|
# Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
|
|
# Copyright (c) 2006-2008 Sun Microsystems, Inc. All rights reserved.
|
|
# Copyright (c) 2006-2017 Los Alamos National Security, LLC. All rights
|
|
# reserved.
|
|
# Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
|
# Copyright (c) 2011-2013 NVIDIA Corporation. All rights reserved.
|
|
# Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved.
|
|
# Copyright (c) 2013 Mellanox Technologies, Inc.
|
|
# All rights reserved.
|
|
# Copyright (c) 2014-2019 Intel, Inc. All rights reserved.
|
|
# Copyright (c) 2016 IBM Corporation. All rights reserved.
|
|
# Copyright (c) 2016-2018 Research Organization for Information Science
|
|
# and Technology (RIST). All rights reserved.
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
|
|
############################################################################
|
|
# Initialization, version number, and other random setup/init stuff
|
|
############################################################################
|
|
|
|
# Load in everything found by autogen.pl
|
|
m4_include([config/autogen_found_items.m4])
|
|
|
|
# We don't have the version number to put in here yet, and we can't
|
|
# call PMIX_GET_VERSION (etc.) before AC_INIT. So use the shell
|
|
# version.
|
|
|
|
AC_INIT([pmix],
|
|
[m4_normalize(esyscmd([config/pmix_get_version.sh VERSION --tarball]))],
|
|
[https://github.com/pmix/pmix/issues], [pmix])
|
|
AC_PREREQ(2.69)
|
|
AC_CONFIG_AUX_DIR(./config)
|
|
# Note that this directory must *exactly* match what was specified via
|
|
# -I in ACLOCAL_AMFLAGS in the top-level Makefile.am.
|
|
AC_CONFIG_MACRO_DIR(./config)
|
|
|
|
# autotools expects to perform tests without interference
|
|
# from user-provided CFLAGS, particularly -Werror flags.
|
|
# Search for them here and cache any we find
|
|
PMIX_CFLAGS_cache=
|
|
PMIX_CFLAGS_pass=
|
|
for val in $CFLAGS; do
|
|
if echo "$val" | grep -q -e "-W"; then
|
|
PMIX_CFLAGS_cache="$PMIX_CFLAGS_cache $val";
|
|
else
|
|
PMIX_CFLAGS_pass="$PMIX_CFLAGS_pass $val";
|
|
fi
|
|
done
|
|
CFLAGS=$PMIX_CFLAGS_pass
|
|
|
|
PMIX_CAPTURE_CONFIGURE_CLI([PMIX_CONFIGURE_CLI])
|
|
|
|
# Get our platform support file. This has to be done very, very early
|
|
# because it twiddles random bits of autoconf
|
|
PMIX_LOAD_PLATFORM
|
|
|
|
PMIX_TOP_BUILDDIR="`pwd`"
|
|
AC_SUBST(PMIX_TOP_BUILDDIR)
|
|
top_buildir=`pwd`
|
|
cd "$srcdir"
|
|
PMIX_TOP_SRCDIR="`pwd`"
|
|
AC_SUBST(PMIX_TOP_SRCDIR)
|
|
cd "$PMIX_TOP_BUILDDIR"
|
|
top_srcdir=`pwd`
|
|
|
|
AC_MSG_NOTICE([builddir: $PMIX_TOP_BUILDDIR])
|
|
AC_MSG_NOTICE([srcdir: $PMIX_TOP_SRCDIR])
|
|
if test "$PMIX_TOP_BUILDDIR" != "$PMIX_TOP_SRCDIR"; then
|
|
AC_MSG_NOTICE([Detected VPATH build])
|
|
fi
|
|
|
|
# setup configure options (e.g., show_title and friends)
|
|
PMIX_CONFIGURE_SETUP
|
|
pmix_show_title "Configuring PMIx"
|
|
|
|
# This must be before AM_INIT_AUTOMAKE
|
|
AC_CANONICAL_TARGET
|
|
|
|
# Init automake
|
|
AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects no-define 1.13.4 -Wall -Werror])
|
|
|
|
# SILENT_RULES is new in AM 1.11, but we require 1.13.4 or higher via
|
|
# autogen. Limited testing shows that calling SILENT_RULES directly
|
|
# works in more cases than adding "silent-rules" to INIT_AUTOMAKE
|
|
# (even though they're supposed to be identical). Shrug.
|
|
AM_SILENT_RULES([yes])
|
|
|
|
# set the language
|
|
AC_LANG([C])
|
|
|
|
# AC_USE_SYSTEM_EXTENSIONS will modify CFLAGS if nothing was in there
|
|
# beforehand. We don't want that. So if there was nothing in
|
|
# CFLAGS, put nothing back in there.
|
|
PMIX_VAR_SCOPE_PUSH([CFLAGS_save])
|
|
CFLAGS_save=$CFLAGS
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
AS_IF([test -z "$CFLAGS_save"], [CFLAGS=])
|
|
PMIX_VAR_SCOPE_POP
|
|
|
|
####################################################################
|
|
# Setup the configure header files
|
|
####################################################################
|
|
|
|
AH_TOP([/* -*- c -*-
|
|
*
|
|
* 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.
|
|
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
* University of Stuttgart. All rights reserved.
|
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
|
* All rights reserved.
|
|
* Copyright (c) 2013-2015 Intel, Inc. All rights reserved
|
|
* Copyright (c) 2016 IBM Corporation. All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*
|
|
* This file is automatically generated by configure. Edits will be lost
|
|
* the next time you run configure!
|
|
*/
|
|
|
|
#ifndef PMIX_CONFIG_H
|
|
#define PMIX_CONFIG_H
|
|
|
|
#include <src/include/pmix_config_top.h>
|
|
|
|
])
|
|
AH_BOTTOM([
|
|
#include <src/include/pmix_config_bottom.h>
|
|
#endif /* PMIX_CONFIG_H */
|
|
])
|
|
|
|
############################################################################
|
|
# Setup Libtool
|
|
############################################################################
|
|
|
|
# We want new Libtool. None of that old stuff. Pfft.
|
|
m4_ifdef([LT_PREREQ], [],
|
|
[m4_fatal([libtool version 2.2.6 or higher is required], [63])])
|
|
LT_PREREQ([2.2.6])
|
|
|
|
#
|
|
# 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.
|
|
#
|
|
|
|
pmix_enable_shared="$enable_shared"
|
|
pmix_enable_static="$enable_static"
|
|
AS_IF([test ! -z "$enable_static" && test "$enable_static" = "yes"],
|
|
[CFLAGS="$CFLAGS -fPIC"])
|
|
|
|
AM_ENABLE_SHARED
|
|
AM_DISABLE_STATIC
|
|
PMIX_SETUP_WRAPPER_INIT
|
|
|
|
# This did not exist pre AM 1.11.x (where x is somewhere >0 and <3),
|
|
# but it is necessary in AM 1.12.x.
|
|
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
|
AM_PROG_LEX
|
|
|
|
############################################################################
|
|
# Configuration options
|
|
############################################################################
|
|
|
|
# Set the MCA prefix
|
|
PMIX_SET_MCA_PREFIX([PMIX_MCA_])
|
|
PMIX_SET_MCA_CMD_LINE_ID([pmca])
|
|
|
|
# Define PMIx configure arguments
|
|
PMIX_DEFINE_ARGS
|
|
# Define some basic useful values
|
|
PMIX_BASIC_SETUP
|
|
|
|
# If debug mode, add -g
|
|
AS_IF([test "$pmix_debug" = "1"],
|
|
[CFLAGS="$CFLAGS -g"])
|
|
|
|
LT_INIT()
|
|
LT_LANG([C])
|
|
|
|
############################################################################
|
|
# Setup the core
|
|
############################################################################
|
|
|
|
# Setup the pmix core
|
|
PMIX_SETUP_CORE()
|
|
|
|
# Run the AM_CONDITIONALs
|
|
PMIX_DO_AM_CONDITIONALS
|
|
|
|
####################################################################
|
|
# Setup C compiler
|
|
####################################################################
|
|
|
|
AC_ARG_VAR(CC_FOR_BUILD,[build system C compiler])
|
|
AS_IF([test -z "$CC_FOR_BUILD"],[
|
|
AC_SUBST([CC_FOR_BUILD], [$CC])
|
|
])
|
|
|
|
# restore any user-provided Werror flags
|
|
AS_IF([test ! -z "$PMIX_CFLAGS_cache"], [CFLAGS="$CFLAGS $PMIX_CFLAGS_cache"])
|
|
|
|
# Delay setting pickyness until here so we
|
|
# don't break configure code tests
|
|
#if test "$WANT_PICKY_COMPILER" = "1"; then
|
|
# CFLAGS="$CFLAGS -Wall -Wextra -Werror"
|
|
#fi
|
|
|
|
# Cleanup duplicate flags
|
|
PMIX_FLAGS_UNIQ(CFLAGS)
|
|
PMIX_FLAGS_UNIQ(CPPFLAGS)
|
|
PMIX_FLAGS_UNIQ(LDFLAGS)
|
|
PMIX_FLAGS_UNIQ(LIBS)
|
|
|
|
#
|
|
# 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)
|
|
|
|
pmix_show_title "Final compiler flags"
|
|
|
|
AC_MSG_CHECKING([final CPPFLAGS])
|
|
AC_MSG_RESULT([$CPPFLAGS])
|
|
|
|
AC_MSG_CHECKING([final CFLAGS])
|
|
AC_MSG_RESULT([$CFLAGS])
|
|
|
|
AC_MSG_CHECKING([final LDFLAGS])
|
|
AC_MSG_RESULT([$LDFLAGS])
|
|
|
|
AC_MSG_CHECKING([final LIBS])
|
|
AC_MSG_RESULT([$LIBS])
|
|
|
|
####################################################################
|
|
# -Werror for CI scripts
|
|
####################################################################
|
|
|
|
AC_ARG_ENABLE(werror,
|
|
AC_HELP_STRING([--enable-werror],
|
|
[Treat compiler warnings as errors]),
|
|
[
|
|
CFLAGS="$CFLAGS -Werror"
|
|
])
|
|
|
|
####################################################################
|
|
# Version information
|
|
####################################################################
|
|
|
|
# PMIX_VERSION was setup by PMIX_SETUP_CORE above.
|
|
|
|
# Make configure depend on the VERSION file, since it's used in AC_INIT
|
|
AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/VERSION'])
|
|
|
|
. $srcdir/VERSION
|
|
AC_SUBST([libpmix_so_version])
|
|
AC_SUBST([libpmi_so_version])
|
|
AC_SUBST([libpmi2_so_version])
|
|
AC_SUBST([libmca_common_dstore_so_version])
|
|
|
|
AC_CONFIG_FILES(pmix_config_prefix[contrib/Makefile]
|
|
pmix_config_prefix[examples/Makefile]
|
|
pmix_config_prefix[test/Makefile]
|
|
pmix_config_prefix[test/simple/Makefile]
|
|
pmix_config_prefix[test/python/Makefile])
|
|
|
|
pmix_show_title "Configuration complete"
|
|
|
|
AC_OUTPUT
|
|
|
|
PMIX_SUMMARY_PRINT
|