Update to sync with OMPI master and cleanup to build
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
This commit is contained in:
parent
0c8359b0b9
commit
cb55c88a8b
@ -11,7 +11,7 @@
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2012-2015 Los Alamos National Security, Inc. All rights reserved.
|
||||
# Copyright (c) 2014 Intel, Inc. All rights reserved.
|
||||
# Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
@ -19,7 +19,7 @@
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
SUBDIRS = config contrib $(MCA_PROJECT_SUBDIRS) test
|
||||
SUBDIRS = config contrib $(MCA_PROJECT_SUBDIRS)
|
||||
EXTRA_DIST = README INSTALL VERSION Doxyfile LICENSE autogen.pl README.JAVA.txt
|
||||
|
||||
include examples/Makefile.include
|
||||
|
@ -1,6 +1,7 @@
|
||||
# -*- makefile -*-
|
||||
# Copyright (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
|
||||
# Copyright (c) 2016 Intel, Inc. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
@ -9,18 +10,9 @@
|
||||
#
|
||||
|
||||
TRIM_OPTIONS=
|
||||
if ! MAN_PAGE_BUILD_MPI_CXX_BINDINGS
|
||||
TRIM_OPTIONS += --nocxx
|
||||
endif
|
||||
if ! MAN_PAGE_BUILD_MPIFH_BINDINGS
|
||||
TRIM_OPTIONS += --nofortran
|
||||
endif
|
||||
if ! MAN_PAGE_BUILD_USEMPIF08_BINDINGS
|
||||
TRIM_OPTIONS += --nof08
|
||||
endif
|
||||
|
||||
.1in.1:
|
||||
$(OMPI_V_GEN) $(top_srcdir)/ompi/mpi/man/make_manpage.pl \
|
||||
$(OMPI_V_GEN) $(top_srcdir)/contrib/make_manpage.pl \
|
||||
--package-name='@PACKAGE_NAME@' \
|
||||
--package-version='@PACKAGE_VERSION@' \
|
||||
--ompi-date='@OMPI_RELEASE_DATE@' \
|
||||
@ -30,7 +22,7 @@ endif
|
||||
--output=$@
|
||||
|
||||
.3in.3:
|
||||
$(OMPI_V_GEN) $(top_srcdir)/ompi/mpi/man/make_manpage.pl \
|
||||
$(OMPI_V_GEN) $(top_srcdir)/contrib/make_manpage.pl \
|
||||
--package-name='@PACKAGE_NAME@' \
|
||||
--package-version='@PACKAGE_VERSION@' \
|
||||
--ompi-date='@OMPI_RELEASE_DATE@' \
|
||||
@ -41,7 +33,7 @@ endif
|
||||
--output=$@
|
||||
|
||||
.7in.7:
|
||||
$(OMPI_V_GEN) $(top_srcdir)/ompi/mpi/man/make_manpage.pl \
|
||||
$(OMPI_V_GEN) $(top_srcdir)/contrib/make_manpage.pl \
|
||||
--package-name='@PACKAGE_NAME@' \
|
||||
--package-version='@PACKAGE_VERSION@' \
|
||||
--ompi-date='@OMPI_RELEASE_DATE@' \
|
||||
|
281
autogen.pl
281
autogen.pl
@ -4,7 +4,7 @@
|
||||
# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2013 Mellanox Technologies, Inc.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2013-2014 Intel, Inc. All rights reserved.
|
||||
# Copyright (c) 2013-2016 Intel, Inc. All rights reserved.
|
||||
# Copyright (c) 2015-2016 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# Copyright (c) 2015 IBM Corporation. All rights reserved.
|
||||
@ -45,9 +45,6 @@ my $mpicontrib_found;
|
||||
my @subdirs;
|
||||
|
||||
# Command line parameters
|
||||
my $no_ompi_arg = 0;
|
||||
my $no_orte_arg = 0;
|
||||
my $no_oshmem_arg = 0;
|
||||
my $quiet_arg = 0;
|
||||
my $debug_arg = 0;
|
||||
my $help_arg = 0;
|
||||
@ -579,180 +576,6 @@ dnl List of configure.m4 files to include\n";
|
||||
}
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
|
||||
sub mpiext_process_extension {
|
||||
my ($topdir, $ext_prefix, $extdir) = @_;
|
||||
|
||||
my $edir = "$topdir/$ext_prefix/$extdir";
|
||||
return
|
||||
if (! -d $edir);
|
||||
|
||||
# Process this directory (pretty much the same treatment as for
|
||||
# MCA components, so it's in a sub).
|
||||
my $found_ext;
|
||||
|
||||
$found_ext->{"name"} = $extdir;
|
||||
|
||||
# Push the results onto the hash array
|
||||
push(@{$mpiext_found}, $found_ext);
|
||||
|
||||
# Is there an autogen.subdirs in here?
|
||||
process_autogen_subdirs($edir);
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
|
||||
sub mpiext_run_global {
|
||||
my ($ext_prefix) = @_;
|
||||
|
||||
my $topdir = Cwd::cwd();
|
||||
|
||||
my $dir = "$topdir/$ext_prefix";
|
||||
opendir(DIR, $dir) ||
|
||||
my_die "Can't open $dir directory";
|
||||
foreach my $d (readdir(DIR)) {
|
||||
# Skip any non-directory, "base", or any dir that begins with "."
|
||||
next
|
||||
if (! -d "$dir/$d" || $d eq "base" || substr($d, 0, 1) eq ".");
|
||||
|
||||
# If this directory has a configure.m4, then it's an
|
||||
# extension.
|
||||
if (-f "$dir/$d/configure.m4") {
|
||||
verbose "=== Found $d MPI extension";
|
||||
|
||||
# Check ignore status
|
||||
if (ignored("$dir/$d")) {
|
||||
verbose " (ignored)\n";
|
||||
} else {
|
||||
verbose "\n";
|
||||
mpiext_process_extension($topdir, $ext_prefix, $d);
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir(DIR);
|
||||
debug_dump($mpiext_found);
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
$m4 .= "\n$dnl_line
|
||||
$dnl_line
|
||||
$dnl_line
|
||||
|
||||
dnl Open MPI extensions information
|
||||
$dnl_line\n\n";
|
||||
|
||||
# Array for all the m4_includes that we'll need to pick up the
|
||||
# configure.m4's.
|
||||
my @includes;
|
||||
my $m4_config_ext_list;
|
||||
|
||||
# Troll through each of the found exts
|
||||
foreach my $ext (@{$mpiext_found}) {
|
||||
my $e = $ext->{name};
|
||||
push(@includes, "$ext_prefix/$e/configure.m4");
|
||||
$m4_config_ext_list .= ", $e";
|
||||
}
|
||||
|
||||
$m4_config_ext_list =~ s/^, //;
|
||||
|
||||
# List the M4 and no configure exts
|
||||
$m4 .= "dnl List of all MPI extensions
|
||||
m4_define([ompi_mpiext_list], [$m4_config_ext_list])\n";
|
||||
# List out all the m4_include
|
||||
$m4 .= "\ndnl List of configure.m4 files to include\n";
|
||||
foreach my $i (@includes) {
|
||||
$m4 .= "m4_include([$i])\n";
|
||||
}
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
|
||||
sub mpicontrib_process {
|
||||
my ($topdir, $contrib_prefix, $contribdir) = @_;
|
||||
|
||||
my $cdir = "$topdir/$contrib_prefix/$contribdir";
|
||||
return
|
||||
if (! -d $cdir);
|
||||
|
||||
# Process this directory (pretty much the same treatment as for
|
||||
# MCA components, so it's in a sub).
|
||||
my $found_contrib;
|
||||
|
||||
$found_contrib->{"name"} = $contribdir;
|
||||
|
||||
# Push the results onto the hash array
|
||||
push(@{$mpicontrib_found}, $found_contrib);
|
||||
|
||||
# Is there an autogen.subdirs in here?
|
||||
process_autogen_subdirs($cdir);
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
|
||||
sub mpicontrib_run_global {
|
||||
my ($contrib_prefix) = @_;
|
||||
|
||||
my $topdir = Cwd::cwd();
|
||||
|
||||
my $dir = "$topdir/$contrib_prefix";
|
||||
opendir(DIR, $dir) ||
|
||||
my_die "Can't open $dir directory";
|
||||
foreach my $d (readdir(DIR)) {
|
||||
# Skip any non-directory, "base", or any dir that begins with "."
|
||||
next
|
||||
if (! -d "$dir/$d" || $d eq "base" || substr($d, 0, 1) eq ".");
|
||||
|
||||
# If this directory has a configure.m4, then it's an
|
||||
# contrib.
|
||||
if (-f "$dir/$d/configure.m4") {
|
||||
verbose "=== Found $d MPI contrib";
|
||||
|
||||
# Check ignore status
|
||||
if (ignored("$dir/$d")) {
|
||||
verbose " (ignored)\n";
|
||||
} else {
|
||||
verbose "\n";
|
||||
mpicontrib_process($topdir, $contrib_prefix, $d);
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir(DIR);
|
||||
debug_dump($mpicontrib_found);
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
$m4 .= "\n$dnl_line
|
||||
$dnl_line
|
||||
$dnl_line
|
||||
|
||||
dnl Open MPI contrib information
|
||||
$dnl_line\n\n";
|
||||
|
||||
# Array for all the m4_includes that we'll need to pick up the
|
||||
# configure.m4's.
|
||||
my @includes;
|
||||
my $m4_config_contrib_list;
|
||||
|
||||
# Troll through each of the found contribs
|
||||
foreach my $contrib (@{$mpicontrib_found}) {
|
||||
my $c = $contrib->{name};
|
||||
push(@includes, "$contrib_prefix/$c/configure.m4");
|
||||
$m4_config_contrib_list .= ", $c";
|
||||
}
|
||||
|
||||
$m4_config_contrib_list =~ s/^, //;
|
||||
|
||||
# List the M4 and no configure contribs
|
||||
$m4 .= "dnl List of all MPI contribs
|
||||
m4_define([ompi_mpicontrib_list], [$m4_config_contrib_list])\n";
|
||||
# List out all the m4_include
|
||||
$m4 .= "\ndnl List of configure.m4 files to include\n";
|
||||
foreach my $i (@includes) {
|
||||
$m4 .= "m4_include([$i])\n";
|
||||
}
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Find and remove stale files
|
||||
|
||||
@ -1077,10 +900,7 @@ sub in_tarball {
|
||||
|
||||
# Command line parameters
|
||||
|
||||
my $ok = Getopt::Long::GetOptions("no-ompi" => \$no_ompi_arg,
|
||||
"no-orte" => \$no_orte_arg,
|
||||
"no-oshmem" => \$no_oshmem_arg,
|
||||
"quiet|q" => \$quiet_arg,
|
||||
my $ok = Getopt::Long::GetOptions("quiet|q" => \$quiet_arg,
|
||||
"debug|d" => \$debug_arg,
|
||||
"help|h" => \$help_arg,
|
||||
"platform=s" => \$platform_arg,
|
||||
@ -1093,9 +913,6 @@ if (!$ok || $help_arg) {
|
||||
print "Invalid command line argument.\n\n"
|
||||
if (!$ok);
|
||||
print "Options:
|
||||
--no-ompi | -no-ompi Do not build the Open MPI layer
|
||||
--no-orte | -no-orte Do not build the ORTE layer
|
||||
--no-oshmem | -no-oshmem Do not build the OSHMEM layer
|
||||
--quiet | -q Do not display normal verbose output
|
||||
--debug | -d Output lots of debug information
|
||||
--help | -h This help list
|
||||
@ -1115,39 +932,8 @@ if (!$ok || $help_arg) {
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# Check for project existence
|
||||
my $project_name_long = "Open MPI";
|
||||
my $project_name_short = "openmpi";
|
||||
|
||||
if (! -e "ompi") {
|
||||
$no_ompi_arg = 1;
|
||||
debug "No ompi subdirectory found - will not build MPI layer\n";
|
||||
}
|
||||
if (! -e "orte") {
|
||||
$no_orte_arg = 1;
|
||||
debug "No orte subdirectory found - will not build ORTE\n";
|
||||
}
|
||||
if (! -e "oshmem") {
|
||||
$no_oshmem_arg = 1;
|
||||
debug "No oshmem subdirectory found - will not build OSHMEM\n";
|
||||
}
|
||||
|
||||
if (-e "orcm") {
|
||||
# bozo check - ORCM requires ORTE
|
||||
if ($no_orte_arg == 1) {
|
||||
print "Cannot build ORCM without ORTE\n";
|
||||
my_exit(1);
|
||||
}
|
||||
$project_name_long = "Open Resilient Cluster Manager";
|
||||
$project_name_short = "open-rcm";
|
||||
} elsif ($no_ompi_arg == 1) {
|
||||
if ($no_orte_arg == 0) {
|
||||
$project_name_long = "Open MPI Run Time Environment";
|
||||
$project_name_short = "open-rte";
|
||||
} else {
|
||||
$project_name_long = "Open Portability Access Layer";
|
||||
$project_name_short = "open-pal";
|
||||
}
|
||||
}
|
||||
my $project_name_long = "PMI-Exascale";
|
||||
my $project_name_short = "pmix";
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
@ -1167,24 +953,24 @@ $dnl_line\n\n";
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# Verify that we're in the OMPI root directorty by checking for a token file.
|
||||
# Verify that we're in the root directorty by checking for a token file.
|
||||
|
||||
my_die "Not at the root directory of an OMPI source tree"
|
||||
my_die "Not at the root directory of the PMIx reference server source tree"
|
||||
if (! -f "config/opal_try_assemble.m4");
|
||||
|
||||
my_die "autogen.pl has been invoked in the source tree of an Open MPI distribution tarball; aborting...
|
||||
my_die "autogen.pl has been invoked in the source tree of PMIx reference server distribution tarball; aborting...
|
||||
You likely do not need to invoke \"autogen.pl\" -- you can probably run \"configure\" directly.
|
||||
If you really know what you are doing, and really need to run autogen.pl, use the \"--force\" flag."
|
||||
if (!$force_arg && in_tarball());
|
||||
|
||||
# Now that we've verified that we're in the top-level OMPI directory,
|
||||
# Now that we've verified that we're in the top-level directory,
|
||||
# set the sentinel file to remove if we abort.
|
||||
$sentinel = Cwd::cwd() . "/configure";
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
my $step = 1;
|
||||
verbose "Open MPI autogen (buckle up!)
|
||||
verbose "PMIx Reference Server autogen (buckle up!)
|
||||
|
||||
$step. Checking tool versions\n\n";
|
||||
|
||||
@ -1266,31 +1052,6 @@ if ($include_arg) {
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
++$step;
|
||||
verbose "\n$step. Running template-generating scripts\n\n";
|
||||
|
||||
# These scripts generate fortran header files of different types, but
|
||||
# guaranteed to have the same value (i.e., so humans don't have to
|
||||
# maintain two sets of files, and potentially have values get out of
|
||||
# sync).
|
||||
|
||||
my @scripts;
|
||||
push(@scripts, "ompi/include/mpif-values.pl");
|
||||
|
||||
foreach my $s (@scripts) {
|
||||
verbose "=== $s\n";
|
||||
if (! -x $s) {
|
||||
print "Cannot find executable $s!\nAborting.\n";
|
||||
my_exit(1);
|
||||
}
|
||||
if (system($s) != 0) {
|
||||
print "Script failed: $s\n";
|
||||
my_exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# Find projects, frameworks, components
|
||||
++$step;
|
||||
verbose "\n$step. Searching for projects, MCA frameworks, and MCA components\n";
|
||||
@ -1306,14 +1067,7 @@ if (! (-f "VERSION" && -f "configure.ac" && -f $topdir_file)) {
|
||||
# Top-level projects to examine
|
||||
my $projects;
|
||||
push(@{$projects}, { name => "opal", dir => "opal", need_base => 1 });
|
||||
push(@{$projects}, { name => "orte", dir => "orte", need_base => 1 })
|
||||
if (!$no_orte_arg);
|
||||
push(@{$projects}, { name => "ompi", dir => "ompi", need_base => 1 })
|
||||
if (!$no_ompi_arg);
|
||||
push(@{$projects}, { name => "oshmem", dir => "oshmem", need_base => 1 })
|
||||
if (!$no_ompi_arg && !$no_orte_arg && !$no_oshmem_arg);
|
||||
push(@{$projects}, { name => "orcm", dir => "orcm", need_base => 1 })
|
||||
if (-e "orcm");
|
||||
push(@{$projects}, { name => "orte", dir => "orte", need_base => 1 });
|
||||
|
||||
$m4 .= "dnl Separate m4 define for each project\n";
|
||||
foreach my $p (@$projects) {
|
||||
@ -1329,19 +1083,6 @@ mca_run_global($projects);
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# Find MPI extensions and contribs
|
||||
if (!$no_ompi_arg) {
|
||||
++$step;
|
||||
verbose "\n$step. Searching for Open MPI extensions\n\n";
|
||||
mpiext_run_global("ompi/mpiext");
|
||||
|
||||
++$step;
|
||||
verbose "\n$step. Searching for Open MPI contribs\n\n";
|
||||
mpicontrib_run_global("ompi/contrib");
|
||||
}
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# Process all subdirs that we found in previous steps
|
||||
++$step;
|
||||
verbose "\n$step. Processing autogen.subdirs directories\n";
|
||||
@ -1394,7 +1135,7 @@ patch_autotools_output(".");
|
||||
|
||||
verbose "
|
||||
================================================
|
||||
Open MPI autogen: completed successfully. w00t!
|
||||
PMIx Reference Server autogen: completed successfully. w00t!
|
||||
================================================\n\n";
|
||||
|
||||
# Done!
|
||||
|
@ -1,70 +0,0 @@
|
||||
dnl -*- shell-script -*-
|
||||
dnl
|
||||
dnl Copyright (c) 2011 Mellanox Technologies. All rights reserved.
|
||||
dnl Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||
dnl and Technology (RIST). All rights reserved.
|
||||
dnl $COPYRIGHT$
|
||||
dnl
|
||||
dnl Additional copyrights may follow
|
||||
dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
# OMPI_CHECK_FCA(prefix, [action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------
|
||||
# check if fca support can be found. sets prefix_{CPPFLAGS,
|
||||
# LDFLAGS, LIBS} as needed and runs action-if-found if there is
|
||||
# support, otherwise executes action-if-not-found
|
||||
AC_DEFUN([OMPI_CHECK_FCA],[
|
||||
OPAL_VAR_SCOPE_PUSH([ompi_check_fca_libs ompi_check_fca_happy CPPFLAGS_save LDFLAGS_save LIBS_save])
|
||||
|
||||
AC_ARG_WITH([fca],
|
||||
[AC_HELP_STRING([--with-fca(=DIR)],
|
||||
[Build fca (Mellanox Fabric Collective Accelerator) support, optionally adding
|
||||
DIR/include and DIR/lib or DIR/lib64 to the search path for headers and libraries])])
|
||||
|
||||
AS_IF([test "$with_fca" != "no"],
|
||||
[ompi_check_fca_libs=fca
|
||||
AS_IF([test ! -z "$with_fca" && test "$with_fca" != "yes"],
|
||||
[ompi_check_fca_dir=$with_fca
|
||||
AC_SUBST([coll_fca_HOME], "$ompi_check_fca_dir")],
|
||||
[AC_SUBST([coll_fca_HOME], "/")])
|
||||
|
||||
CPPFLAGS_save=$CPPFLAGS
|
||||
LDFLAGS_save=$LDFLAGS
|
||||
LIBS_save=$LIBS
|
||||
|
||||
|
||||
OPAL_LOG_MSG([$1_CPPFLAGS : $$1_CPPFLAGS], 1)
|
||||
OPAL_LOG_MSG([$1_LDFLAGS : $$1_LDFLAGS], 1)
|
||||
OPAL_LOG_MSG([$1_LIBS : $$1_LIBS], 1)
|
||||
|
||||
OPAL_CHECK_PACKAGE([$1],
|
||||
[fca/fca_api.h],
|
||||
[$ompi_check_fca_libs],
|
||||
[fca_get_version],
|
||||
[],
|
||||
[$ompi_check_fca_dir],
|
||||
[],
|
||||
[ompi_check_fca_happy="yes"],
|
||||
[ompi_check_fca_happy="no"])
|
||||
|
||||
CPPFLAGS=$CPPFLAGS_save
|
||||
LDFLAGS=$LDFLAGS_save
|
||||
LIBS=$LIBS_save],
|
||||
[ompi_check_fca_happy="no"])
|
||||
|
||||
AS_IF([test "$ompi_check_fca_happy" = "yes" && test "$enable_progress_threads" = "yes"],
|
||||
[AC_MSG_WARN([fca driver does not currently support progress threads. Disabling FCA.])
|
||||
ompi_check_fca_happy="no"])
|
||||
|
||||
AS_IF([test "$ompi_check_fca_happy" = "yes"],
|
||||
[$2],
|
||||
[AS_IF([test ! -z "$with_fca" && test "$with_fca" != "no"],
|
||||
[AC_MSG_ERROR([FCA support requested but not found. Aborting])])
|
||||
$3])
|
||||
|
||||
OPAL_VAR_SCOPE_POP
|
||||
])
|
||||
|
@ -1,66 +0,0 @@
|
||||
dnl -*- shell-script -*-
|
||||
dnl
|
||||
dnl Copyright (c) 2011 Mellanox Technologies. All rights reserved.
|
||||
dnl Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||
dnl and Technology (RIST). All rights reserved.
|
||||
dnl $COPYRIGHT$
|
||||
dnl
|
||||
dnl Additional copyrights may follow
|
||||
dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
# OMPI_CHECK_HCOLL(prefix, [action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------
|
||||
# check if hcoll support can be found. sets prefix_{CPPFLAGS,
|
||||
# LDFLAGS, LIBS} as needed and runs action-if-found if there is
|
||||
# support, otherwise executes action-if-not-found
|
||||
AC_DEFUN([OMPI_CHECK_HCOLL],[
|
||||
OPAL_VAR_SCOPE_PUSH([ompi_check_hcoll_dir ompi_check_hcoll_libs ompi_check_hcoll_happy CPPFLAGS_save LDFLAGS_save LIBS_save])
|
||||
|
||||
AC_ARG_WITH([hcoll],
|
||||
[AC_HELP_STRING([--with-hcoll(=DIR)],
|
||||
[Build hcoll (Mellanox Hierarchical Collectives) support, optionally adding
|
||||
DIR/include and DIR/lib or DIR/lib64 to the search path for headers and libraries])])
|
||||
|
||||
AS_IF([test "$with_hcoll" != "no"],
|
||||
[ompi_check_hcoll_libs=hcoll
|
||||
AS_IF([test ! -z "$with_hcoll" && test "$with_hcoll" != "yes"],
|
||||
[ompi_check_hcoll_dir=$with_hcoll])
|
||||
|
||||
CPPFLAGS_save=$CPPFLAGS
|
||||
LDFLAGS_save=$LDFLAGS
|
||||
LIBS_save=$LIBS
|
||||
|
||||
OPAL_LOG_MSG([$1_CPPFLAGS : $$1_CPPFLAGS], 1)
|
||||
OPAL_LOG_MSG([$1_LDFLAGS : $$1_LDFLAGS], 1)
|
||||
OPAL_LOG_MSG([$1_LIBS : $$1_LIBS], 1)
|
||||
|
||||
OPAL_CHECK_PACKAGE([$1],
|
||||
[hcoll/api/hcoll_api.h],
|
||||
[$ompi_check_hcoll_libs],
|
||||
[hcoll_get_version],
|
||||
[],
|
||||
[$ompi_check_hcoll_dir],
|
||||
[],
|
||||
[ompi_check_hcoll_happy="yes"],
|
||||
[ompi_check_hcoll_happy="no"])
|
||||
|
||||
CPPFLAGS=$CPPFLAGS_save
|
||||
LDFLAGS=$LDFLAGS_save
|
||||
LIBS=$LIBS_save],
|
||||
[ompi_check_hcoll_happy=no])
|
||||
|
||||
AS_IF([test "$ompi_check_hcoll_happy" = "yes" && test "$enable_progress_threads" = "yes"],
|
||||
[AC_MSG_WARN([hcoll driver does not currently support progress threads. Disabling HCOLL.])
|
||||
ompi_check_hcoll_happy="no"])
|
||||
|
||||
AS_IF([test "$ompi_check_hcoll_happy" = "yes"],
|
||||
[$2],
|
||||
[AS_IF([test ! -z "$with_hcoll" && test "$with_hcoll" != "no"],
|
||||
[AC_MSG_ERROR([HCOLL support requested but not found. Aborting])])
|
||||
$3])
|
||||
|
||||
OPAL_VAR_SCOPE_POP
|
||||
])
|
@ -1,93 +0,0 @@
|
||||
dnl -*- shell-script -*-
|
||||
dnl
|
||||
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
dnl University Research and Technology
|
||||
dnl Corporation. All rights reserved.
|
||||
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
dnl of Tennessee Research Foundation. All rights
|
||||
dnl reserved.
|
||||
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
dnl University of Stuttgart. All rights reserved.
|
||||
dnl Copyright (c) 2004-2006 The Regents of the University of California.
|
||||
dnl All rights reserved.
|
||||
dnl Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2008-2012 University of Houston. All rights reserved.
|
||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||
dnl and Technology (RIST). All rights reserved.
|
||||
dnl $COPYRIGHT$
|
||||
dnl
|
||||
dnl Additional copyrights may follow
|
||||
dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
# OMPI_CHECK_LUSTRE(prefix, [action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------
|
||||
# check if LUSTRE support can be found. sets prefix_{CPPFLAGS,
|
||||
# LDFLAGS, LIBS} as needed and runs action-if-found if there is
|
||||
# support, otherwise executes action-if-not-found
|
||||
AC_DEFUN([OMPI_CHECK_LUSTRE],[
|
||||
|
||||
check_lustre_CPPFLAGS=
|
||||
check_lustre_LDFLAGS=
|
||||
check_lustre_LIBS=
|
||||
|
||||
check_lustre_save_LIBS="$LIBS"
|
||||
check_lustre_save_LDFLAGS="$LDFLAGS"
|
||||
check_lustre_save_CPPFLAGS="$CPPFLAGS"
|
||||
|
||||
check_lustre_configuration="none"
|
||||
ompi_check_lustre_happy="yes"
|
||||
|
||||
|
||||
# Get some configuration information
|
||||
AC_ARG_WITH([lustre],
|
||||
[AC_HELP_STRING([--with-lustre(=DIR)],
|
||||
[Build Lustre support, optionally adding DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])])
|
||||
OPAL_CHECK_WITHDIR([lustre], [$with_lustre], [include/lustre/liblustreapi.h])
|
||||
|
||||
AS_IF([test -z "$with_lustre"],
|
||||
[ompi_check_lustre_dir="/usr"],
|
||||
[ompi_check_lustre_dir="$with_lustre"])
|
||||
|
||||
if test -e "$ompi_check_lustre_dir/lib64" ; then
|
||||
ompi_check_lustre_libdir="$ompi_check_lustre_dir/lib64"
|
||||
else
|
||||
ompi_check_lustre_libdir="$ompi_check_lustre_dir/lib"
|
||||
fi
|
||||
|
||||
# Add correct -I and -L flags
|
||||
OPAL_CHECK_PACKAGE([$1], [lustre/liblustreapi.h], [lustreapi], [llapi_file_create], [],
|
||||
[$ompi_check_lustre_dir], [$ompi_check_lustre_libdir], [ompi_check_lustre_happy="yes"],
|
||||
[ompi_check_lustre_happy="no"])
|
||||
|
||||
AC_MSG_CHECKING([for required lustre data structures])
|
||||
cat > conftest.c <<EOF
|
||||
#include "lustre/liblustreapi.h"
|
||||
void alloc_lum()
|
||||
{
|
||||
int v1, v3;
|
||||
v1 = sizeof(struct lov_user_md_v1) +
|
||||
LOV_MAX_STRIPE_COUNT * sizeof(struct lov_user_ost_data_v1);
|
||||
v3 = sizeof(struct lov_user_md_v3) +
|
||||
LOV_MAX_STRIPE_COUNT * sizeof(struct lov_user_ost_data_v1);
|
||||
}
|
||||
EOF
|
||||
|
||||
# Try the compile
|
||||
OPAL_LOG_COMMAND(
|
||||
[$CC $CFLAGS -I$with_lustre/include -c conftest.c],
|
||||
[ompi_check_lustre_struct_happy="yes"],
|
||||
[ompi_check_lustre_struct_happy="no"
|
||||
ompi_check_lustre_happy="no"]
|
||||
)
|
||||
rm -f conftest.c conftest.o
|
||||
AC_MSG_RESULT([$ompi_check_lustre_struct_happy])
|
||||
|
||||
|
||||
AS_IF([test "$ompi_check_lustre_happy" = "yes"],
|
||||
[$2],
|
||||
[AS_IF([test ! -z "$with_lustre" && test "$with_lustre" != "no"],
|
||||
[echo LUSTRE support not found])
|
||||
$3])
|
||||
])
|
@ -1,94 +0,0 @@
|
||||
dnl -*- shell-script -*-
|
||||
dnl
|
||||
dnl Copyright (c) 2001-2011 Mellanox Technologies Ltd. ALL RIGHTS RESERVED.
|
||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||
dnl and Technology (RIST). All rights reserved.
|
||||
dnl Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
||||
dnl reserved.
|
||||
dnl Copyright (c) 2016 Cisco Systems, Inc. All rights reserved.
|
||||
dnl $COPYRIGHT$
|
||||
dnl
|
||||
dnl Additional copyrights may follow
|
||||
dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
# OMPI_CHECK_MXM(prefix, [action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------
|
||||
# check if MXM support can be found. sets prefix_{CPPFLAGS,
|
||||
# LDFLAGS, LIBS} as needed and runs action-if-found if there is
|
||||
# support, otherwise executes action-if-not-found
|
||||
AC_DEFUN([OMPI_CHECK_MXM],[
|
||||
if test -z "$ompi_check_mxm_happy" ; then
|
||||
AC_ARG_WITH([mxm],
|
||||
[AC_HELP_STRING([--with-mxm(=DIR)],
|
||||
[Build Mellanox Messaging support, optionally adding
|
||||
DIR/include and DIR/lib or DIR/lib64 to the search path for headers and libraries])])
|
||||
AC_ARG_WITH([mxm-libdir],
|
||||
[AC_HELP_STRING([--with-mxm-libdir=DIR],
|
||||
[Search for Mellanox MXM libraries in DIR])])
|
||||
OPAL_CHECK_WITHDIR([mxm-libdir], [$with_mxm_libdir], [libmxm.*])
|
||||
|
||||
ompi_check_mxm_$1_save_CPPFLAGS="$CPPFLAGS"
|
||||
ompi_check_mxm_$1_save_LDFLAGS="$LDFLAGS"
|
||||
ompi_check_mxm_$1_save_LIBS="$LIBS"
|
||||
|
||||
AS_IF([test "$with_mxm" != "no"],
|
||||
[AS_IF([test ! -z "$with_mxm" && test "$with_mxm" != "yes"],
|
||||
[
|
||||
ompi_check_mxm_dir="$with_mxm"
|
||||
])
|
||||
AS_IF([test ! -z "$with_mxm_libdir" && test "$with_mxm_libdir" != "yes"],
|
||||
[ompi_check_mxm_libdir="$with_mxm_libdir"])
|
||||
|
||||
OPAL_CHECK_PACKAGE([ompi_check_mxm],
|
||||
[mxm/api/mxm_api.h],
|
||||
[mxm],
|
||||
[mxm_cleanup],
|
||||
[],
|
||||
[$ompi_check_mxm_dir],
|
||||
[$ompi_check_mxm_libdir],
|
||||
[ompi_check_mxm_happy="yes"],
|
||||
[ompi_check_mxm_happy="no"])],
|
||||
[ompi_check_mxm_happy="no"])
|
||||
|
||||
CPPFLAGS="$ompi_check_mxm_$1_save_CPPFLAGS"
|
||||
LDFLAGS="$ompi_check_mxm_$1_save_LDFLAGS"
|
||||
LIBS="$ompi_check_mxm_$1_save_LIBS"
|
||||
|
||||
AC_MSG_CHECKING(for MXM version compatibility)
|
||||
AC_REQUIRE_CPP
|
||||
old_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -I$ompi_check_mxm_dir/include"
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM([[#include <mxm/api/mxm_version.h>]],
|
||||
[[
|
||||
#ifndef MXM_VERSION
|
||||
#error "MXM Version is less than 2.1, please upgrade"
|
||||
#endif
|
||||
#
|
||||
#if MXM_API < MXM_VERSION(2,1)
|
||||
#error "MXM Version is less than 2.1, please upgrade"
|
||||
#endif
|
||||
]])],
|
||||
[ompi_mxm_version_ok="yes"],
|
||||
[ompi_mxm_version_ok="no"])
|
||||
|
||||
AC_MSG_RESULT([$ompi_mxm_version_ok])
|
||||
CFLAGS=$old_CFLAGS
|
||||
|
||||
AS_IF([test "$ompi_mxm_version_ok" = "no"], [ompi_check_mxm_happy="no"])
|
||||
|
||||
OPAL_SUMMARY_ADD([[Transports]],[[Mellanox MXM]],[$1],[$ompi_check_mxm_happy])
|
||||
fi
|
||||
|
||||
AS_IF([test "$ompi_check_mxm_happy" = "yes"],
|
||||
[$1_LDFLAGS="[$]$1_LDFLAGS $ompi_check_mxm_LDFLAGS"
|
||||
$1_LIBS="[$]$1_LIBS $ompi_check_mxm_LIBS"
|
||||
$1_CPPFLAGS="[$]$1_CPPFLAGS $ompi_check_mxm_CPPFLAGS"
|
||||
$2],
|
||||
[AS_IF([test ! -z "$with_mxm" && test "$with_mxm" != "no"],
|
||||
[AC_MSG_ERROR([MXM support requested but not found. Aborting])])
|
||||
$3])
|
||||
])
|
||||
|
@ -1,114 +0,0 @@
|
||||
dnl -*- shell-script -*-
|
||||
dnl
|
||||
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
dnl University Research and Technology
|
||||
dnl Corporation. All rights reserved.
|
||||
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
dnl of Tennessee Research Foundation. All rights
|
||||
dnl reserved.
|
||||
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
dnl University of Stuttgart. All rights reserved.
|
||||
dnl Copyright (c) 2004-2006 The Regents of the University of California.
|
||||
dnl All rights reserved.
|
||||
dnl Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2008-2012 University of Houston. All rights reserved.
|
||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||
dnl and Technology (RIST). All rights reserved.
|
||||
dnl $COPYRIGHT$
|
||||
dnl
|
||||
dnl Additional copyrights may follow
|
||||
dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
# OMPI_CHECK_PLFS(prefix, [action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------
|
||||
# check if PLFS support can be found. sets prefix_{CPPFLAGS,
|
||||
# LDFLAGS, LIBS} as needed and runs action-if-found if there is
|
||||
# support, otherwise executes action-if-not-found
|
||||
AC_DEFUN([OMPI_CHECK_PLFS],[
|
||||
|
||||
check_plfs_CPPFLAGS=
|
||||
check_plfs_LDFLAGS=
|
||||
check_plfs_LIBS=
|
||||
|
||||
check_plfs_save_LIBS="$LIBS"
|
||||
check_plfs_save_LDFLAGS="$LDFLAGS"
|
||||
check_plfs_save_CPPFLAGS="$CPPFLAGS"
|
||||
|
||||
check_plfs_configuration="none"
|
||||
ompi_check_plfs_happy="yes"
|
||||
|
||||
|
||||
# Get some configuration information
|
||||
AC_ARG_WITH([plfs],
|
||||
[AC_HELP_STRING([--with-plfs(=DIR)],
|
||||
[Build Plfs support, optionally adding DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])])
|
||||
OPAL_CHECK_WITHDIR([plfs], [$with_plfs], [include/plfs.h])
|
||||
|
||||
AC_ARG_WITH([plfs-libs],
|
||||
[AC_HELP_STRING([--with-plfs-libs=LIBS],
|
||||
[Libraries to link with for plfs])])
|
||||
|
||||
temp_with_plfs="$with_plfs"
|
||||
AS_IF([test -z "$with_plfs"],
|
||||
[with_plfs="/usr/local"])
|
||||
|
||||
temp_with_plfs_libs="$with_plfs_libs"
|
||||
AS_IF([test -z "$with_plfs_libs"],
|
||||
[with_plfs_libs="plfs pthread"])
|
||||
|
||||
# Add correct -I and -L flags
|
||||
AS_IF([test -d "$with_plfs/include"],
|
||||
[check_plfs_CPPFLAGS="-I$with_plfs/include"
|
||||
$1_CPPFLAGS="$check_plfs_CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $check_plfs_CPPFLAGS"],
|
||||
[ompi_check_plfs_happy="no"])
|
||||
|
||||
AS_IF([test "$ompi_check_plfs_happy" = "yes"],
|
||||
[AS_IF([test -d "$with_plfs/lib"],
|
||||
[check_plfs_LDFLAGS="-L$with_plfs/lib"
|
||||
$1_LDFLAGS="$check_plfs_LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $check_plfs_LDFLAGS"],
|
||||
[ompi_check_plfs_happy="no"])
|
||||
],[])
|
||||
|
||||
# Try to find all the plfs libraries
|
||||
AS_IF([test "$ompi_check_plfs_happy" = "yes"],
|
||||
[ AS_IF([test -n "$with_plfs_libs"]
|
||||
[for lib in $with_plfs_libs ; do
|
||||
check_plfs_LIBS="$check_plfs_LIBS -l$lib"
|
||||
done])
|
||||
|
||||
$1_LIBS="$check_plfs_LIBS"
|
||||
LIBS="$LIBS $check_plfs_LIBS"
|
||||
|
||||
# check for plfs
|
||||
AC_CHECK_HEADERS([plfs.h],
|
||||
[AC_MSG_CHECKING([if possible to link PLFS])
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <plfs.h>]],
|
||||
[[is_plfs_path(NULL);]])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
ompi_check_plfs_happy="yes"],
|
||||
[AC_MSG_RESULT([no])
|
||||
ompi_check_plfs_happy="no"])],
|
||||
[ompi_check_plfs_happy="no"])
|
||||
])
|
||||
|
||||
|
||||
LDFLAGS="$check_plfs_save_LDFLAGS"
|
||||
CPPFLAGS="$check_plfs_save_CPPFLAGS"
|
||||
LIBS="$check_plfs_save_LIBS"
|
||||
AS_IF([test "$ompi_check_plfs_happy" = "yes"],
|
||||
[$2],
|
||||
[AS_IF([test ! -z "$with_plfs" && test "$with_plfs" != "no"],
|
||||
[echo PLFS support not found])
|
||||
$3])
|
||||
|
||||
with_plfs="$temp_with_plfs"
|
||||
with_plfs_libs="$temp_with_plfs_libs"
|
||||
|
||||
])
|
||||
|
@ -1,92 +0,0 @@
|
||||
dnl -*- shell-script -*-
|
||||
dnl
|
||||
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
dnl University Research and Technology
|
||||
dnl Corporation. All rights reserved.
|
||||
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
dnl of Tennessee Research Foundation. All rights
|
||||
dnl reserved.
|
||||
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
dnl University of Stuttgart. All rights reserved.
|
||||
dnl Copyright (c) 2004-2006 The Regents of the University of California.
|
||||
dnl All rights reserved.
|
||||
dnl Copyright (c) 2006 QLogic Corp. All rights reserved.
|
||||
dnl Copyright (c) 2009-2016 Cisco Systems, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||
dnl and Technology (RIST). All rights reserved.
|
||||
dnl Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
||||
dnl reserved.
|
||||
dnl Copyright (c) 2016 Intel Corporation. All rights reserved.
|
||||
dnl
|
||||
dnl $COPYRIGHT$
|
||||
dnl
|
||||
dnl Additional copyrights may follow
|
||||
dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
# OMPI_CHECK_PSM(prefix, [action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------
|
||||
# check if PSM support can be found. sets prefix_{CPPFLAGS,
|
||||
# LDFLAGS, LIBS} as needed and runs action-if-found if there is
|
||||
# support, otherwise executes action-if-not-found
|
||||
AC_DEFUN([OMPI_CHECK_PSM],[
|
||||
if test -z "$ompi_check_psm_happy" ; then
|
||||
AC_ARG_WITH([psm],
|
||||
[AC_HELP_STRING([--with-psm(=DIR)],
|
||||
[Build PSM (Qlogic InfiniPath) support, optionally adding DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])])
|
||||
OPAL_CHECK_WITHDIR([psm], [$with_psm], [include/psm.h])
|
||||
AC_ARG_WITH([psm-libdir],
|
||||
[AC_HELP_STRING([--with-psm-libdir=DIR],
|
||||
[Search for PSM (QLogic InfiniPath PSM) libraries in DIR])])
|
||||
OPAL_CHECK_WITHDIR([psm-libdir], [$with_psm_libdir], [libpsm_infinipath.*])
|
||||
|
||||
ompi_check_psm_$1_save_CPPFLAGS="$CPPFLAGS"
|
||||
ompi_check_psm_$1_save_LDFLAGS="$LDFLAGS"
|
||||
ompi_check_psm_$1_save_LIBS="$LIBS"
|
||||
|
||||
AS_IF([test "$with_psm" != "no"],
|
||||
[AS_IF([test ! -z "$with_psm" && test "$with_psm" != "yes"],
|
||||
[ompi_check_psm_dir="$with_psm"])
|
||||
AS_IF([test ! -z "$with_psm_libdir" && test "$with_psm_libdir" != "yes"],
|
||||
[ompi_check_psm_libdir="$with_psm_libdir"])
|
||||
|
||||
OPAL_CHECK_PACKAGE([ompi_check_psm],
|
||||
[psm.h],
|
||||
[psm_infinipath],
|
||||
[psm_finalize],
|
||||
[],
|
||||
[$ompi_check_psm_dir],
|
||||
[$ompi_check_psm_libdir],
|
||||
[ompi_check_psm_happy="yes"],
|
||||
[ompi_check_psm_happy="no"])],
|
||||
[ompi_check_psm_happy="no"])
|
||||
|
||||
CPPFLAGS="$ompi_check_psm_$1_save_CPPFLAGS"
|
||||
LDFLAGS="$ompi_check_psm_$1_save_LDFLAGS"
|
||||
LIBS="$ompi_check_psm_$1_save_LIBS"
|
||||
|
||||
AS_IF([test "$ompi_check_psm_happy" = "yes" && test "$enable_progress_threads" = "yes"],
|
||||
[AC_MSG_WARN([PSM driver does not currently support progress threads. Disabling BTL.])
|
||||
ompi_check_psm_happy="no"])
|
||||
|
||||
AS_IF([test "$ompi_check_psm_happy" = "yes"],
|
||||
[AC_CHECK_HEADERS(
|
||||
glob.h,
|
||||
[],
|
||||
[AC_MSG_WARN([glob.h not found. Can not build component.])
|
||||
ompi_check_psm_happy="no"])])
|
||||
|
||||
OPAL_SUMMARY_ADD([[Transports]],[[Intel TrueScale (PSM)]],[$1],[$ompi_check_psm_happy])
|
||||
fi
|
||||
|
||||
AS_IF([test "$ompi_check_psm_happy" = "yes"],
|
||||
[$1_LDFLAGS="[$]$1_LDFLAGS $ompi_check_psm_LDFLAGS"
|
||||
$1_CPPFLAGS="[$]$1_CPPFLAGS $ompi_check_psm_CPPFLAGS"
|
||||
$1_LIBS="[$]$1_LIBS $ompi_check_psm_LIBS"
|
||||
$2],
|
||||
[AS_IF([test ! -z "$with_psm" && test "$with_psm" != "no"],
|
||||
[AC_MSG_ERROR([PSM support requested but not found. Aborting])])
|
||||
$3])
|
||||
])
|
||||
|
@ -1,90 +0,0 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
# University Research and Technology
|
||||
# Corporation. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
# of Tennessee Research Foundation. All rights
|
||||
# reserved.
|
||||
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
# University of Stuttgart. All rights reserved.
|
||||
# Copyright (c) 2004-2006 The Regents of the University of California.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2006 QLogic Corp. All rights reserved.
|
||||
# Copyright (c) 2009-2016 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2016 Intel Corporation. All rights reserved.
|
||||
# Copyright (c) 2015 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
||||
# reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
# OMPI_CHECK_PSM2(prefix, [action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------
|
||||
# check if PSM2 support can be found. sets prefix_{CPPFLAGS,
|
||||
# LDFLAGS, LIBS} as needed and runs action-if-found if there is
|
||||
# support, otherwise executes action-if-not-found
|
||||
AC_DEFUN([OMPI_CHECK_PSM2],[
|
||||
if test -z "$ompi_check_psm2_happy" ; then
|
||||
AC_ARG_WITH([psm2],
|
||||
[AC_HELP_STRING([--with-psm2(=DIR)],
|
||||
[Build PSM2 (Intel PSM2) support, optionally adding DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])])
|
||||
OPAL_CHECK_WITHDIR([psm2], [$with_psm2], [include/psm2.h])
|
||||
AC_ARG_WITH([psm2-libdir],
|
||||
[AC_HELP_STRING([--with-psm2-libdir=DIR],
|
||||
[Search for PSM (Intel PSM2) libraries in DIR])])
|
||||
OPAL_CHECK_WITHDIR([psm2-libdir], [$with_psm2_libdir], [libpsm2.*])
|
||||
|
||||
ompi_check_psm2_$1_save_CPPFLAGS="$CPPFLAGS"
|
||||
ompi_check_psm2_$1_save_LDFLAGS="$LDFLAGS"
|
||||
ompi_check_psm2_$1_save_LIBS="$LIBS"
|
||||
|
||||
AS_IF([test "$with_psm2" != "no"],
|
||||
[AS_IF([test ! -z "$with_psm2" && test "$with_psm2" != "yes"],
|
||||
[ompi_check_psm2_dir="$with_psm2"])
|
||||
AS_IF([test ! -z "$with_psm2_libdir" && test "$with_psm2_libdir" != "yes"],
|
||||
[ompi_check_psm2_libdir="$with_psm2_libdir"])
|
||||
|
||||
OPAL_CHECK_PACKAGE([ompi_check_psm2],
|
||||
[psm2.h],
|
||||
[psm2],
|
||||
[psm2_mq_irecv2],
|
||||
[],
|
||||
[$ompi_check_psm2_dir],
|
||||
[$ompi_check_psm2_libdir],
|
||||
[ompi_check_psm2_happy="yes"],
|
||||
[ompi_check_psm2_happy="no"])],
|
||||
[ompi_check_psm2_happy="no"])
|
||||
|
||||
CPPFLAGS="$ompi_check_psm2_$1_save_CPPFLAGS"
|
||||
LDFLAGS="$ompi_check_psm2_$1_save_LDFLAGS"
|
||||
LIBS="$ompi_check_psm2_$1_save_LIBS"
|
||||
|
||||
AS_IF([test "$ompi_check_psm2_happy" = "yes" && test "$enable_progress_threads" = "yes"],
|
||||
[AC_MSG_WARN([PSM2 driver does not currently support progress threads. Disabling MTL.])
|
||||
ompi_check_psm2_happy="no"])
|
||||
|
||||
AS_IF([test "$ompi_check_psm2_happy" = "yes"],
|
||||
[AC_CHECK_HEADERS(
|
||||
glob.h,
|
||||
[],
|
||||
[AC_MSG_WARN([glob.h not found. Can not build component.])
|
||||
ompi_check_psm2_happy="no"])])
|
||||
|
||||
OPAL_SUMMARY_ADD([[Transports]],[[Intel Omnipath (PSM2)]],[$1],[$ompi_check_psm2_happy])
|
||||
fi
|
||||
|
||||
AS_IF([test "$ompi_check_psm2_happy" = "yes"],
|
||||
[$1_LDFLAGS="[$]$1_LDFLAGS $ompi_check_psm2_LDFLAGS"
|
||||
$1_CPPFLAGS="[$]$1_CPPFLAGS $ompi_check_psm2_CPPFLAGS"
|
||||
$1_LIBS="[$]$1_LIBS $ompi_check_psm2_LIBS"
|
||||
$2],
|
||||
[AS_IF([test ! -z "$with_psm2" && test "$with_psm2" != "no"],
|
||||
[AC_MSG_ERROR([PSM2 support requested but not found. Aborting])])
|
||||
$3])
|
||||
])
|
@ -1,68 +0,0 @@
|
||||
dnl -*- shell-script -*-
|
||||
dnl
|
||||
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
dnl University Research and Technology
|
||||
dnl Corporation. All rights reserved.
|
||||
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
dnl of Tennessee Research Foundation. All rights
|
||||
dnl reserved.
|
||||
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
dnl University of Stuttgart. All rights reserved.
|
||||
dnl Copyright (c) 2004-2006 The Regents of the University of California.
|
||||
dnl All rights reserved.
|
||||
dnl Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2008-2016 University of Houston. All rights reserved.
|
||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||
dnl and Technology (RIST). All rights reserved.
|
||||
dnl $COPYRIGHT$
|
||||
dnl
|
||||
dnl Additional copyrights may follow
|
||||
dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
# OMPI_CHECK_PVFS2(prefix, [action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------
|
||||
# check if PVFS2 support can be found. sets prefix_{CPPFLAGS,
|
||||
# LDFLAGS, LIBS} as needed and runs action-if-found if there is
|
||||
# support, otherwise executes action-if-not-found
|
||||
AC_DEFUN([OMPI_CHECK_PVFS2],[
|
||||
|
||||
check_pvfs2_CPPFLAGS=
|
||||
check_pvfs2_LDFLAGS=
|
||||
check_pvfs2_LIBS=
|
||||
|
||||
check_pvfs2_configuration="none"
|
||||
ompi_check_pvfs2_happy="yes"
|
||||
|
||||
|
||||
# Get some configuration information
|
||||
AC_ARG_WITH([pvfs2],
|
||||
[AC_HELP_STRING([--with-pvfs2(=DIR)],
|
||||
[Build Pvfs2 support, optionally adding DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])])
|
||||
OPAL_CHECK_WITHDIR([pvfs2], [$with_pvfs2], [include/pvfs2.h])
|
||||
|
||||
AS_IF([test -z "$with_pvfs2"],
|
||||
[ompi_check_pvfs2_dir="/usr/local"],
|
||||
[ompi_check_pvfs2_dir=$with_pvfs2])
|
||||
|
||||
if test -e "$ompi_check_pvfs2_dir/lib64" ; then
|
||||
ompi_check_pvfs2_libdir="$ompi_check_pvfs2_dir/lib64"
|
||||
else
|
||||
ompi_check_pvfs2_libdir="$ompi_check_pvfs2_dir/lib"
|
||||
fi
|
||||
|
||||
# Add correct -I and -L flags
|
||||
OPAL_CHECK_PACKAGE([$1], [pvfs2.h], [pvfs2], [PVFS_util_resolve], [],
|
||||
[$ompi_check_pvfs2_dir], [$ompi_check_pvfs2_libdir], [ompi_check_pvfs2_happy="yes"],
|
||||
[ompi_check_pvfs2_happy="no"])
|
||||
|
||||
|
||||
AS_IF([test "$ompi_check_pvfs2_happy" = "yes"],
|
||||
[$2],
|
||||
[AS_IF([test ! -z "$with_pvfs2" && test "$with_pvfs2" != "no"],
|
||||
[echo PVFS2 support not found])
|
||||
$3])
|
||||
|
||||
])
|
||||
|
@ -1,93 +0,0 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (C) 2015 Mellanox Technologies Ltd. ALL RIGHTS RESERVED.
|
||||
# Copyright (c) 2015 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
||||
# reserved.
|
||||
# Copyright (c) 2016 Cisco Systems, Inc. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
# OMPI_CHECK_UCX(prefix, [action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------
|
||||
# check if UCX support can be found. sets prefix_{CPPFLAGS,
|
||||
# LDFLAGS, LIBS} as needed and runs action-if-found if there is
|
||||
# support, otherwise executes action-if-not-found
|
||||
AC_DEFUN([OMPI_CHECK_UCX],[
|
||||
if test -z "$ompi_check_ucx_happy" ; then
|
||||
AC_ARG_WITH([ucx],
|
||||
[AC_HELP_STRING([--with-ucx(=DIR)],
|
||||
[Build with Unified Communication X library support])])
|
||||
OPAL_CHECK_WITHDIR([ucx], [$with_ucx], [include/ucp/api/ucp.h])
|
||||
AC_ARG_WITH([ucx-libdir],
|
||||
[AC_HELP_STRING([--with-ucx-libdir=DIR],
|
||||
[Search for Unified Communication X libraries in DIR])])
|
||||
OPAL_CHECK_WITHDIR([ucx-libdir], [$with_ucx_libdir], [libucp.*])
|
||||
|
||||
ompi_check_ucx_$1_save_CPPFLAGS="$CPPFLAGS"
|
||||
ompi_check_ucx_$1_save_LDFLAGS="$LDFLAGS"
|
||||
ompi_check_ucx_$1_save_LIBS="$LIBS"
|
||||
|
||||
AS_IF([test "$with_ucx" != "no"],
|
||||
[AS_IF([test ! -z "$with_ucx" && test "$with_ucx" != "yes"],
|
||||
[
|
||||
ompi_check_ucx_dir="$with_ucx"
|
||||
ompi_check_ucx_libdir="$with_ucx/lib"
|
||||
])
|
||||
AS_IF([test ! -z "$with_ucx_libdir" && test "$with_ucx_libdir" != "yes"],
|
||||
[ompi_check_ucx_libdir="$with_ucx_libdir"])
|
||||
|
||||
ompi_check_ucx_extra_libs="-L$ompi_check_ucx_libdir"
|
||||
|
||||
OPAL_CHECK_PACKAGE([ompi_check_ucx],
|
||||
[ucp/api/ucp.h],
|
||||
[ucp],
|
||||
[ucp_cleanup],
|
||||
[$ompi_check_ucx_extra_libs],
|
||||
[$ompi_check_ucx_dir],
|
||||
[$ompi_check_ucx_libdir],
|
||||
[ompi_check_ucx_happy="yes"],
|
||||
[ompi_check_ucx_happy="no"])],
|
||||
[ompi_check_ucx_happy="no"])
|
||||
|
||||
|
||||
|
||||
CPPFLAGS="$ompi_check_ucx_$1_save_CPPFLAGS"
|
||||
LDFLAGS="$ompi_check_ucx_$1_save_LDFLAGS"
|
||||
LIBS="$ompi_check_ucx_$1_save_LIBS"
|
||||
|
||||
AC_MSG_CHECKING(for UCX version compatibility)
|
||||
AC_REQUIRE_CPP
|
||||
old_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS -I$ompi_check_ucx_dir/include"
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM([[#include <uct/api/version.h>]],
|
||||
[[
|
||||
]])],
|
||||
[ompi_ucx_version_ok="yes"],
|
||||
[ompi_ucx_version_ok="no"])
|
||||
|
||||
AC_MSG_RESULT([$ompi_ucx_version_ok])
|
||||
CPPFLAGS=$old_CPPFLAGS
|
||||
|
||||
AS_IF([test "$ompi_ucx_version_ok" = "no"], [ompi_check_ucx_happy="no"])
|
||||
|
||||
OPAL_SUMMARY_ADD([[Transports]],[[Open UCX]],[$1],[$ompi_check_ucx_happy])
|
||||
fi
|
||||
|
||||
|
||||
AS_IF([test "$ompi_check_ucx_happy" = "yes"],
|
||||
[$1_CPPFLAGS="[$]$1_CPPFLAGS $ompi_check_ucx_CPPFLAGS"
|
||||
$1_LDFLAGS="[$]$1_LDFLAGS $ompi_check_ucx_LDFLAGS"
|
||||
$1_LIBS="[$]$1_LIBS $ompi_check_ucx_LIBS"
|
||||
$2],
|
||||
[AS_IF([test ! -z "$with_ucx" && test "$with_ucx" != "no"],
|
||||
[AC_MSG_ERROR([UCX support requested but not found. Aborting])])
|
||||
$3])
|
||||
])
|
||||
|
@ -1,120 +0,0 @@
|
||||
dnl -*- shell-script -*-
|
||||
dnl
|
||||
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
dnl University Research and Technology
|
||||
dnl Corporation. All rights reserved.
|
||||
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
dnl of Tennessee Research Foundation. All rights
|
||||
dnl reserved.
|
||||
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
dnl University of Stuttgart. All rights reserved.
|
||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
dnl All rights reserved.
|
||||
dnl Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||
dnl and Technology (RIST). All rights reserved.
|
||||
dnl $COPYRIGHT$
|
||||
dnl
|
||||
dnl Additional copyrights may follow
|
||||
dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
# OMPI_CHECK_UDAPL(prefix, [action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------
|
||||
# check if uDAPL support can be found. sets prefix_{CPPFLAGS,
|
||||
# LDFLAGS, LIBS} as needed and runs action-if-found if there is
|
||||
# support, otherwise executes action-if-not-found
|
||||
AC_DEFUN([OMPI_CHECK_UDAPL],[
|
||||
AC_ARG_WITH([udapl],
|
||||
[AC_HELP_STRING([--with-udapl(=DIR)],
|
||||
[Build uDAPL support, optionally adding DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])])
|
||||
OPAL_CHECK_WITHDIR([udapl], [$with_udapl], [include/dat/udat.h])
|
||||
AC_ARG_WITH([udapl-libdir],
|
||||
[AC_HELP_STRING([--with-udapl-libdir=DIR],
|
||||
[Search for uDAPL libraries in DIR])])
|
||||
OPAL_CHECK_WITHDIR([udapl-libdir], [$with_udapl_libdir], [libdat.*])
|
||||
|
||||
# Special case for OFED/Linux: the default /etc/dat.conf that
|
||||
# ships with OFED is broken in that it includes DAT providers that
|
||||
# are not guarnateed to work (e.g., it includes providers for ib0,
|
||||
# ib1, ib2, ib3, and bond0). Usually, a sysadmin will need to
|
||||
# edit this file to configure it for the specific environment in
|
||||
# which it will be used. Hence, if you run the udapl BTL on
|
||||
# Linux/OFED, you'll get a bunch of warning messages about the
|
||||
# providers that don't work. However, on Linux/OFED, you don't
|
||||
# really want to use udapl anyway; you likely really want to use
|
||||
# the openib BTL (i.e., native verbs, not udapl).
|
||||
|
||||
# So after exploring many different scenarios, the least evil
|
||||
# solution seemed to be to disable building the udapl BTL on
|
||||
# Linux/OFED *unless the user specifically asks for it.* To be
|
||||
# specific: on Linux/OFED, if you do not specify
|
||||
# --with-udapl(=DIR), the udapl BTL will not be built.
|
||||
AS_IF([test -z "$with_udapl"],
|
||||
[case $host in
|
||||
*linux*)
|
||||
AC_MSG_WARN([On Linux and --with-udapl was not specified])
|
||||
AC_MSG_WARN([Not building the udapl BTL])
|
||||
with_udapl=no
|
||||
;;
|
||||
esac])
|
||||
|
||||
AS_IF([test ! -z "$with_udapl" && test "$with_udapl" != "yes"],
|
||||
[ompi_check_udapl_dir="$with_udapl"])
|
||||
AS_IF([test ! -z "$with_udapl_libdir" && test "$with_udapl_libdir" != "yes"],
|
||||
[ompi_check_udapl_libdir="$with_udapl_libdir"])
|
||||
AS_IF([test "$with_udapl" = "no"],
|
||||
[ompi_check_udapl_happy="no"],
|
||||
[ompi_check_udapl_happy="yes"])
|
||||
|
||||
dnl Do not use ompi_check_package directly, because then we have
|
||||
dnl to test for the header file twice, and caching is disabled
|
||||
dnl for all ompi_check_package checks. Instead, do what
|
||||
dnl ompi_check_package does, but only do the header check once.
|
||||
dnl Still do the lib check twice, the second time if it turns
|
||||
dnl out we need -ldapl to link (looks like udapl over GM).
|
||||
|
||||
ompi_check_package_$1_save_CPPFLAGS="$CPPFLAGS"
|
||||
ompi_check_package_$1_save_LDFLAGS="$LDFLAGS"
|
||||
ompi_check_package_$1_save_LIBS="$LIBS"
|
||||
|
||||
ompi_check_package_$1_orig_CPPFLAGS="$$1_CPPFLAGS"
|
||||
ompi_check_package_$1_orig_LDFLAGS="$$1_LDFLAGS"
|
||||
ompi_check_package_$1_orig_LIBS="$$1_LIBS"
|
||||
|
||||
AS_IF([test "$ompi_check_udapl_happy" = "yes"],
|
||||
[_OPAL_CHECK_PACKAGE_HEADER([$1],
|
||||
[dat/udat.h],
|
||||
[$ompi_check_udapl_dir],
|
||||
[ompi_check_udapl_happy="yes"],
|
||||
[ompi_check_udapl_happy="no"])])
|
||||
|
||||
AS_IF([test "$ompi_check_udapl_happy" = "yes"],
|
||||
[_OPAL_CHECK_PACKAGE_LIB([$1],
|
||||
[dat],
|
||||
[dat_registry_list_providers],
|
||||
[],
|
||||
[$ompi_check_udapl_dir],
|
||||
[$ompi_check_udapl_libdir],
|
||||
[ompi_check_udapl_happy="yes"],
|
||||
[_OPAL_CHECK_PACKAGE_LIB([$1],
|
||||
[dat],
|
||||
[dat_registry_list_providers],
|
||||
[-ldapl],
|
||||
[$ompi_check_udapl_dir],
|
||||
[$ompi_check_udapl_libdir],
|
||||
[ompi_check_udapl_happy="yes"],
|
||||
[ompi_check_udapl_happy="no"])])])
|
||||
|
||||
CPPFLAGS="$ompi_check_package_$1_save_CPPFLAGS"
|
||||
LDFLAGS="$ompi_check_package_$1_save_LDFLAGS"
|
||||
LIBS="$ompi_check_package_$1_save_LIBS"
|
||||
|
||||
AS_IF([test "$ompi_check_udapl_happy" = "yes"],
|
||||
[$2],
|
||||
[AS_IF([test ! -z "$with_udapl" && test "$with_udapl" != "no"],
|
||||
[AC_MSG_ERROR([uDAPL support requested but not found. Aborting])])
|
||||
$3])
|
||||
])
|
||||
|
@ -1,52 +0,0 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
AC_DEFUN([OMPI_CONFIG_FILES],[
|
||||
AC_CONFIG_FILES([
|
||||
ompi/Makefile
|
||||
ompi/etc/Makefile
|
||||
ompi/include/Makefile
|
||||
ompi/include/mpif.h
|
||||
ompi/include/mpif-config.h
|
||||
|
||||
ompi/datatype/Makefile
|
||||
ompi/debuggers/Makefile
|
||||
|
||||
ompi/mpi/c/Makefile
|
||||
ompi/mpi/c/profile/Makefile
|
||||
ompi/mpi/cxx/Makefile
|
||||
ompi/mpi/fortran/base/Makefile
|
||||
ompi/mpi/fortran/mpif-h/Makefile
|
||||
ompi/mpi/fortran/mpif-h/profile/Makefile
|
||||
ompi/mpi/fortran/use-mpi-tkr/Makefile
|
||||
ompi/mpi/fortran/use-mpi-tkr/fortran_sizes.h
|
||||
ompi/mpi/fortran/use-mpi-tkr/fortran_kinds.sh
|
||||
ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile
|
||||
ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-interfaces.h
|
||||
ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-file-interfaces.h
|
||||
ompi/mpi/fortran/use-mpi-f08/Makefile
|
||||
ompi/mpi/fortran/use-mpi-f08-desc/Makefile
|
||||
ompi/mpi/fortran/mpiext/Makefile
|
||||
ompi/mpi/tool/Makefile
|
||||
ompi/mpi/tool/profile/Makefile
|
||||
|
||||
ompi/tools/ompi_info/Makefile
|
||||
ompi/tools/wrappers/Makefile
|
||||
ompi/tools/wrappers/mpicc-wrapper-data.txt
|
||||
ompi/tools/wrappers/mpic++-wrapper-data.txt
|
||||
ompi/tools/wrappers/mpifort-wrapper-data.txt
|
||||
ompi/tools/wrappers/ompi.pc
|
||||
ompi/tools/wrappers/ompi-c.pc
|
||||
ompi/tools/wrappers/ompi-cxx.pc
|
||||
ompi/tools/wrappers/ompi-fort.pc
|
||||
ompi/tools/wrappers/mpijavac.pl
|
||||
ompi/tools/mpisync/Makefile
|
||||
])
|
||||
])
|
@ -1,271 +0,0 @@
|
||||
dnl -*- shell-script -*-
|
||||
dnl
|
||||
dnl Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
||||
dnl University Research and Technology
|
||||
dnl Corporation. All rights reserved.
|
||||
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
dnl of Tennessee Research Foundation. All rights
|
||||
dnl reserved.
|
||||
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
dnl University of Stuttgart. All rights reserved.
|
||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
dnl All rights reserved.
|
||||
dnl Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2009 IBM Corporation. All rights reserved.
|
||||
dnl Copyright (c) 2009 Los Alamos National Security, LLC. All rights
|
||||
dnl reserved.
|
||||
dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
||||
dnl Copyright (c) 2013 Intel, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2015-2016 Research Organization for Information Science
|
||||
dnl and Technology (RIST). All rights reserved.
|
||||
dnl
|
||||
dnl $COPYRIGHT$
|
||||
dnl
|
||||
dnl Additional copyrights may follow
|
||||
dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
AC_DEFUN([OMPI_CONFIGURE_OPTIONS],[
|
||||
opal_show_subtitle "OMPI Configuration options"
|
||||
|
||||
#
|
||||
# Disable MPI layer?
|
||||
#
|
||||
AC_ARG_ENABLE([mpi],
|
||||
[AC_HELP_STRING([--disable-mpi],
|
||||
[Disable building the MPI layer (default:enabled)])])
|
||||
|
||||
#
|
||||
# Do we want to enable MPI interface warnings (e.g. deprecated
|
||||
# functionality and others)?
|
||||
#
|
||||
# This was disabled by default in v1.5, but will be enabled by default
|
||||
# in 1.7 and beyond.
|
||||
#
|
||||
|
||||
AC_MSG_CHECKING([if want compile-time warnings inside of mpi.h])
|
||||
AC_ARG_ENABLE(mpi-interface-warning,
|
||||
AC_HELP_STRING([--enable-mpi-interface-warning],
|
||||
[enable compile-time warnings when deprecated MPI functions are used (default: enabled)]))
|
||||
if test "$enable_mpi_interface_warning" != "no"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
OMPI_WANT_MPI_INTERFACE_WARNING=1
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
OMPI_WANT_MPI_INTERFACE_WARNING=0
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([OMPI_WANT_MPI_INTERFACE_WARNING], [$OMPI_WANT_MPI_INTERFACE_WARNING],
|
||||
[Enable warnings when using deprecated MPI functions])
|
||||
|
||||
#
|
||||
# Sparse Groups
|
||||
#
|
||||
|
||||
AC_MSG_CHECKING([if want sparse process groups])
|
||||
AC_ARG_ENABLE(sparse-groups,
|
||||
AC_HELP_STRING([--enable-sparse-groups],
|
||||
[enable sparse process groups (default: not enabled)]))
|
||||
if test "$enable_sparse_groups" = "yes"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
GROUP_SPARSE=1
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
GROUP_SPARSE=0
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([OMPI_GROUP_SPARSE],$GROUP_SPARSE,
|
||||
[Wether we want sparse process groups])
|
||||
|
||||
|
||||
#
|
||||
# Do we want to enable peruse interface?
|
||||
#
|
||||
|
||||
AC_MSG_CHECKING([if want peruse support])
|
||||
AC_ARG_ENABLE(peruse,
|
||||
AC_HELP_STRING([--enable-peruse],
|
||||
[enable PERUSE interface (default: disabled)]))
|
||||
if test "$enable_peruse" = "yes"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
WANT_PERUSE=1
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
WANT_PERUSE=0
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([OMPI_WANT_PERUSE],
|
||||
[$WANT_PERUSE],
|
||||
[if the peruse interface should be enabled])
|
||||
AM_CONDITIONAL(WANT_PERUSE, test "$WANT_PERUSE" = "1")
|
||||
|
||||
#
|
||||
# Fortran MPI bindings
|
||||
#
|
||||
AC_MSG_CHECKING([if want Fortran MPI bindings])
|
||||
AC_ARG_ENABLE(mpi-fortran,
|
||||
AC_HELP_STRING([--enable-mpi-fortran],
|
||||
[specify which Fortran MPI bindings to build: yes, none (or no), best-effort, mpifh (build only mpif.h support), usempi (build mpif.h and the mpi module), or usempif08 (or all, build mpifh, the mpi module, and the mpi_f08 module) (default: "yes" if Fortran compiler found)]))
|
||||
|
||||
# These are the 4 monotonically-rising values indicating levels of
|
||||
# Fortran bindings support.
|
||||
OMPI_FORTRAN_NO_BINDINGS=0
|
||||
OMPI_FORTRAN_MPIFH_BINDINGS=1
|
||||
OMPI_FORTRAN_USEMPI_BINDINGS=2
|
||||
OMPI_FORTRAN_USEMPIF08_BINDINGS=3
|
||||
|
||||
# Set this variable to minimum the level of Fortran bindings support
|
||||
# that is *required* (i.e., if we can't achieve this level, then
|
||||
# configure should abort).
|
||||
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS
|
||||
# Set this variable to the highest level of Fortran bindings support
|
||||
# that should be attempted. This value will never be <=
|
||||
# $OMPI_MIN_REQUIRED_FORTRAN_BINDINGS.
|
||||
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS
|
||||
|
||||
case "x$enable_mpi_fortran" in
|
||||
x|xbest-effort)
|
||||
AC_MSG_RESULT([ (try)])
|
||||
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS
|
||||
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPIF08_BINDINGS
|
||||
;;
|
||||
|
||||
xyes)
|
||||
AC_MSG_RESULT([yes (default)])
|
||||
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_MPIFH_BINDINGS
|
||||
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPIF08_BINDINGS
|
||||
;;
|
||||
|
||||
xall|xusempif08)
|
||||
AC_MSG_RESULT([all (usempif08)])
|
||||
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPIF08_BINDINGS
|
||||
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPIF08_BINDINGS
|
||||
;;
|
||||
|
||||
xno|xnone)
|
||||
AC_MSG_RESULT([no (none)])
|
||||
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS
|
||||
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS
|
||||
;;
|
||||
|
||||
xmpifh)
|
||||
AC_MSG_RESULT([yes (mpif.h)])
|
||||
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_MPIFH_BINDINGS
|
||||
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_MPIFH_BINDINGS
|
||||
;;
|
||||
|
||||
xusempi)
|
||||
AC_MSG_RESULT([yes (mpif.h, mpi module)])
|
||||
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS
|
||||
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_MSG_RESULT([unknown: $binding])
|
||||
AC_MSG_WARN([--enable-mpi-fortran supports only one of the following values: yes, all, none, best-effort, mpifh, usempi, or usempif08])
|
||||
AC_MSG_ERROR([Cannot continue])
|
||||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
# C++
|
||||
#
|
||||
|
||||
AC_MSG_CHECKING([if want C++ bindings])
|
||||
AC_ARG_ENABLE(mpi-cxx,
|
||||
AC_HELP_STRING([--enable-mpi-cxx],
|
||||
[enable C++ MPI bindings (default: disabled)]))
|
||||
if test "$enable_mpi_cxx" = "yes"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
WANT_MPI_CXX_SUPPORT=1
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
WANT_MPI_CXX_SUPPORT=0
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if want MPI::SEEK_SET support])
|
||||
AC_ARG_ENABLE([mpi-cxx-seek],
|
||||
[AC_HELP_STRING([--enable-mpi-cxx-seek],
|
||||
[enable support for MPI::SEEK_SET, MPI::SEEK_END, and MPI::SEEK_POS in C++ bindings (default: enabled)])])
|
||||
if test "$enable_mpi_cxx_seek" != "no" ; then
|
||||