69ecf1670c
This configure option was only relevant when we were generating TKR "use mpi" interfaces for MPI subroutines with choice buffers. Now that we aren't, the only interface that needs to accept a choice buffer is MPI_SIZEOF (which we have to provide). And since there's now only several dozen interfaces in the "mpi" TKR module, there's no reason to not generate ''all'' possible array rank values (when there were thousands of interfaces, generating 4-vs-7 array ranks per interface per type was a big deal). The default used to be 4; now we can just hard-code it to 7, the max possible value for Fortran 2003 (I think the max was raised ?to 11? in F2008, but let's not go there for now). cmr=v1.7.5:reviewer=dgoodell:subject=Remove even more dead Fortran configury This commit was SVN r30257.
85 строки
2.7 KiB
Bash
85 строки
2.7 KiB
Bash
#! /bin/sh
|
|
#
|
|
# Copyright (c) 2004-2006 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-2005 The Regents of the University of California.
|
|
# All rights reserved.
|
|
# Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
max_array_rank=7
|
|
|
|
ikinds="@OMPI_FORTRAN_IKINDS@"
|
|
rkinds="@OMPI_FORTRAN_RKINDS@"
|
|
ckinds="@OMPI_FORTRAN_CKINDS@"
|
|
|
|
# In prior versions of Open MPI, we used to allow the user to choose
|
|
# which "size" of "use mpi" module to build: tiny, small, medium, and
|
|
# large. Large never really worked.
|
|
#
|
|
# According to MPI-3 p610:34-41, if ignore TKR is not supported, we
|
|
# should not provide interfaces for MPI subroutines with choice
|
|
# buffers. So we default to "small" (in 1.7-1.7.3, we defaulted to
|
|
# "medium", but then MPI-3 p610 was pointed out to us in Jan 2014, so
|
|
# we changed the default back to "small").
|
|
size=small
|
|
|
|
# fix up for broken generation scripts that don't properly compute the
|
|
# ranks variable before using it
|
|
ranks="1"
|
|
rank="2"
|
|
while test "`expr $rank \\<= $max_array_rank`" = "1"; do
|
|
ranks="$ranks $rank"
|
|
rank="`expr $rank + 1`"
|
|
done
|
|
unset rank
|
|
|
|
#
|
|
# Helper function
|
|
#
|
|
check_size() {
|
|
# Sanity check
|
|
if test "$1" != "trivial" -a "$1" != "small" -a "$1" != "medium" -a \
|
|
"$1" != "large"; then
|
|
echo "WARNING: unrecognized size: $1" >&2
|
|
fi
|
|
|
|
# Check the value
|
|
output=0
|
|
if test "$1" = "trivial"; then
|
|
# Since we've got a trivial source, always build it (since
|
|
# trivial is the smallest allowable size to build, and we
|
|
# already verified above that the size is valid).
|
|
output=1
|
|
elif test "$1" = "small"; then
|
|
# If we've got a small source, build it unless the user only
|
|
# requested trivial.
|
|
if test "$size" != "trivial"; then
|
|
output=1
|
|
fi
|
|
elif test "$1" = "medium"; then
|
|
# If we've got a medium source, build it only if the user
|
|
# requested medium or large.
|
|
if test "$size" = "medium" -o "$size" = "large"; then
|
|
output=1
|
|
fi
|
|
elif test "$1" = "large"; then
|
|
# If we've got a large source, build it only if the user
|
|
# requested large.
|
|
if test "$size" = "large"; then
|
|
output=1
|
|
fi
|
|
fi
|
|
}
|