File: fortran_kinds.sh.in

package info (click to toggle)
openmpi 5.0.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 202,312 kB
  • sloc: ansic: 612,441; makefile: 42,495; sh: 11,230; javascript: 9,244; f90: 7,052; java: 6,404; perl: 5,154; python: 1,856; lex: 740; fortran: 61; cpp: 20; tcl: 12
file content (84 lines) | stat: -rw-r--r-- 2,796 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#! /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
}