impi-devel 2021.17.1__py2.py3-none-manylinux_2_28_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. impi_devel-2021.17.1.data/data/bin/mpicc +81 -0
  2. impi_devel-2021.17.1.data/data/bin/mpicxx +81 -0
  3. impi_devel-2021.17.1.data/data/bin/mpif77 +740 -0
  4. impi_devel-2021.17.1.data/data/bin/mpif90 +884 -0
  5. impi_devel-2021.17.1.data/data/bin/mpifc +81 -0
  6. impi_devel-2021.17.1.data/data/bin/mpigcc +683 -0
  7. impi_devel-2021.17.1.data/data/bin/mpigxx +687 -0
  8. impi_devel-2021.17.1.data/data/bin/mpiicc +42 -0
  9. impi_devel-2021.17.1.data/data/bin/mpiicpc +42 -0
  10. impi_devel-2021.17.1.data/data/bin/mpiicpx +573 -0
  11. impi_devel-2021.17.1.data/data/bin/mpiicx +582 -0
  12. impi_devel-2021.17.1.data/data/bin/mpiifort +46 -0
  13. impi_devel-2021.17.1.data/data/bin/mpiifx +738 -0
  14. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi.mod +0 -0
  15. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi_base.mod +0 -0
  16. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi_constants.mod +0 -0
  17. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi_sizeofs.mod +0 -0
  18. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/pmpi_base.mod +0 -0
  19. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi.mod +0 -0
  20. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi_base.mod +0 -0
  21. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi_constants.mod +0 -0
  22. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi_sizeofs.mod +0 -0
  23. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/pmpi_base.mod +0 -0
  24. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi.mod +0 -0
  25. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi_base.mod +0 -0
  26. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi_constants.mod +0 -0
  27. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi_sizeofs.mod +0 -0
  28. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/pmpi_base.mod +0 -0
  29. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi.mod +0 -0
  30. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi_base.mod +0 -0
  31. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi_constants.mod +0 -0
  32. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi_sizeofs.mod +0 -0
  33. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/pmpi_base.mod +0 -0
  34. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi.mod +0 -0
  35. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi_base.mod +0 -0
  36. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi_constants.mod +0 -0
  37. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi_sizeofs.mod +0 -0
  38. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/pmpi_base.mod +0 -0
  39. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi.mod +0 -0
  40. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi_base.mod +0 -0
  41. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi_constants.mod +0 -0
  42. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi_sizeofs.mod +0 -0
  43. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/pmpi_base.mod +0 -0
  44. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi.mod +0 -0
  45. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi_base.mod +0 -0
  46. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi_constants.mod +0 -0
  47. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi_sizeofs.mod +0 -0
  48. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/pmpi_base.mod +0 -0
  49. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi.mod +0 -0
  50. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi_base.mod +0 -0
  51. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi_constants.mod +0 -0
  52. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi_sizeofs.mod +0 -0
  53. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/pmpi_base.mod +0 -0
  54. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi.mod +0 -0
  55. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi_base.mod +0 -0
  56. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi_constants.mod +0 -0
  57. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi_sizeofs.mod +0 -0
  58. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/pmpi_base.mod +0 -0
  59. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi.mod +0 -0
  60. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi_base.mod +0 -0
  61. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi_constants.mod +0 -0
  62. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi_sizeofs.mod +0 -0
  63. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/pmpi_base.mod +0 -0
  64. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi.mod +0 -0
  65. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi_base.mod +0 -0
  66. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi_constants.mod +0 -0
  67. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi_sizeofs.mod +0 -0
  68. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/pmpi_base.mod +0 -0
  69. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi.mod +0 -0
  70. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi_base.mod +0 -0
  71. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi_constants.mod +0 -0
  72. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi_sizeofs.mod +0 -0
  73. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/pmpi_base.mod +0 -0
  74. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi.mod +0 -0
  75. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi_base.mod +0 -0
  76. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi_constants.mod +0 -0
  77. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi_sizeofs.mod +0 -0
  78. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/pmpi_base.mod +0 -0
  79. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi.mod +0 -0
  80. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi_base.mod +0 -0
  81. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi_constants.mod +0 -0
  82. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi_sizeofs.mod +0 -0
  83. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/pmpi_base.mod +0 -0
  84. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi.mod +0 -0
  85. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi_base.mod +0 -0
  86. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi_constants.mod +0 -0
  87. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi_sizeofs.mod +0 -0
  88. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/pmpi_base.mod +0 -0
  89. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi.mod +0 -0
  90. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi_base.mod +0 -0
  91. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi_constants.mod +0 -0
  92. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi_sizeofs.mod +0 -0
  93. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/pmpi_base.mod +0 -0
  94. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi.mod +0 -0
  95. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi_base.mod +0 -0
  96. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi_constants.mod +0 -0
  97. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi_sizeofs.mod +0 -0
  98. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/pmpi_base.mod +0 -0
  99. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi.mod +0 -0
  100. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi_base.mod +0 -0
  101. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi_constants.mod +0 -0
  102. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi_sizeofs.mod +0 -0
  103. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/pmpi_base.mod +0 -0
  104. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi.mod +0 -0
  105. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi_base.mod +0 -0
  106. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi_constants.mod +0 -0
  107. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi_sizeofs.mod +0 -0
  108. impi_devel-2021.17.1.data/data/include/mpi/ilp64/pmpi_base.mod +0 -0
  109. impi_devel-2021.17.1.data/data/include/mpi/mpi.mod +0 -0
  110. impi_devel-2021.17.1.data/data/include/mpi/mpi_base.mod +0 -0
  111. impi_devel-2021.17.1.data/data/include/mpi/mpi_constants.mod +0 -0
  112. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08.mod +0 -0
  113. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_callbacks.mod +0 -0
  114. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_compile_constants.mod +0 -0
  115. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_link_constants.mod +0 -0
  116. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_types.mod +0 -0
  117. impi_devel-2021.17.1.data/data/include/mpi/mpi_sizeofs.mod +0 -0
  118. impi_devel-2021.17.1.data/data/include/mpi/pmpi_base.mod +0 -0
  119. impi_devel-2021.17.1.data/data/include/mpi/pmpi_f08.mod +0 -0
  120. impi_devel-2021.17.1.data/data/include/mpi.h +4224 -0
  121. impi_devel-2021.17.1.data/data/include/mpi_abi.h +2057 -0
  122. impi_devel-2021.17.1.data/data/include/mpicxx.h +2796 -0
  123. impi_devel-2021.17.1.data/data/include/mpif.h +651 -0
  124. impi_devel-2021.17.1.data/data/include/mpio.h +767 -0
  125. impi_devel-2021.17.1.data/data/include/mpiof.h +113 -0
  126. impi_devel-2021.17.1.data/data/opt/mpi/bin/mpiptx +0 -0
  127. impi_devel-2021.17.1.data/data/share/doc/mpi/licensing/license.txt +72 -0
  128. impi_devel-2021.17.1.data/data/share/doc/mpi/licensing/third-party-programs.txt +1476 -0
  129. impi_devel-2021.17.1.dist-info/LICENSE.txt +25 -0
  130. impi_devel-2021.17.1.dist-info/METADATA +23 -0
  131. impi_devel-2021.17.1.dist-info/RECORD +133 -0
  132. impi_devel-2021.17.1.dist-info/WHEEL +6 -0
  133. impi_devel-2021.17.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,740 @@
1
+ #! /bin/sh
2
+ #
3
+ # Copyright Intel Corporation.
4
+ #
5
+ # This software and the related documents are Intel copyrighted materials, and
6
+ # your use of them is governed by the express license under which they were
7
+ # provided to you (License). Unless the License provides otherwise, you may
8
+ # not use, modify, copy, publish, distribute, disclose or transmit this
9
+ # software or the related documents without Intel's prior written permission.
10
+ #
11
+ # This software and the related documents are provided as is, with no express
12
+ # or implied warranties, other than those that are expressly stated in the
13
+ # License.
14
+ ##
15
+ ## Copyright (C) by Argonne National Laboratory
16
+ #
17
+ # COPYRIGHT
18
+ #
19
+ # The following is a notice of limited availability of the code, and disclaimer
20
+ # which must be included in the prologue of the code and in all source listings
21
+ # of the code.
22
+ #
23
+ # Copyright Notice
24
+ # 1998--2020, Argonne National Laboratory
25
+ #
26
+ # Permission is hereby granted to use, reproduce, prepare derivative works, and
27
+ # to redistribute to others. This software was authored by:
28
+ #
29
+ # Mathematics and Computer Science Division
30
+ # Argonne National Laboratory, Argonne IL 60439
31
+ #
32
+ # (and)
33
+ #
34
+ # Department of Computer Science
35
+ # University of Illinois at Urbana-Champaign
36
+ #
37
+ #
38
+ # GOVERNMENT LICENSE
39
+ #
40
+ # Portions of this material resulted from work developed under a U.S.
41
+ # Government Contract and are subject to the following license: the Government
42
+ # is granted for itself and others acting on its behalf a paid-up, nonexclusive,
43
+ # irrevocable worldwide license in this computer software to reproduce, prepare
44
+ # derivative works, and perform publicly and display publicly.
45
+ #
46
+ # DISCLAIMER
47
+ #
48
+ # This computer code material was prepared, in part, as an account of work
49
+ # sponsored by an agency of the United States Government. Neither the United
50
+ # States, nor the University of Chicago, nor any of their employees, makes any
51
+ # warranty express or implied, or assumes any legal liability or responsibility
52
+ # for the accuracy, completeness, or usefulness of any information, apparatus,
53
+ # product, or process disclosed, or represents that its use would not infringe
54
+ # privately owned rights.
55
+ #
56
+ # EXTERNAL CONTRIBUTIONS
57
+ #
58
+ # Portions of this code have been contributed under the above license by:
59
+ #
60
+ # * Intel Corporation
61
+ # * Cray
62
+ # * IBM Corporation
63
+ # * Microsoft Corporation
64
+ # * Mellanox Technologies Ltd.
65
+ # * DataDirect Networks.
66
+ # * Oak Ridge National Laboratory
67
+ # * Sun Microsystems, Lustre group
68
+ # * Dolphin Interconnect Solutions Inc.
69
+ # * Institut Polytechnique de Bordeaux
70
+ #
71
+ ##
72
+ ##
73
+
74
+ # Simple script to compile and/or link MPI programs.
75
+ # This script knows the default flags and libraries, and can handle
76
+ # alternative C compilers and the associated flags and libraries.
77
+ # The important terms are:
78
+ # includedir, libdir - Directories containing an *installed* mpich
79
+ # prefix, execprefix - Often used to define includedir and libdir
80
+ # F77 - Fortran 77 compiler
81
+ # WRAPPER_FFLAGS - Any special flags needed to compile
82
+ # WRAPPER_LDFLAGS - Any special flags needed to link
83
+ # WRAPPER_LIBS - Any special libraries needed in order to link
84
+ # F77_OTHER_LIBS - Yet more libraries, needed just with F77
85
+ #
86
+ #
87
+ # We assume that (a) the C compiler can both compile and link programs
88
+ #
89
+ # Handling of command-line options:
90
+ # This is a little tricky because some options may contain blanks.
91
+ #
92
+ # Special issues with shared libraries - todo
93
+ #
94
+ # --------------------------------------------------------------------------
95
+ # Set the default values of all variables.
96
+ #
97
+ # Directory locations: Fixed for any MPI implementation.
98
+ # Set from the directory arguments to configure (e.g., --prefix=/usr/local)
99
+ prefix=I_MPI_SUBSTITUTE_INSTALLDIR
100
+ if [ -n "${I_MPI_ROOT}" ] ; then
101
+ prefix="${I_MPI_ROOT}";
102
+ fi
103
+
104
+ exec_prefix=__EXEC_PREFIX_TO_BE_FILLED_AT_INSTALL_TIME__
105
+ sysconfdir=${prefix}/etc
106
+ includedir=${prefix}/include
107
+ libdir=${prefix}/lib
108
+
109
+ if [ ! -f "${prefix}/lib/mpi/debug/libmpi.so" ]; then
110
+ release_lib_dir="/release"
111
+ debug_lib_dir="/debug"
112
+ else
113
+ sysconfdir=${prefix}/opt/mpi/etc
114
+ release_lib_dir=""
115
+ debug_lib_dir="/mpi/debug"
116
+ fi
117
+ MPILIBDIR=${release_lib_dir}
118
+ # The environment variable I_MPI_COMPILER_CONFIG_DIR may be used to override
119
+ # folder where *.conf files are placed
120
+ if [ -n "$I_MPI_COMPILER_CONFIG_DIR" ] ; then
121
+ sysconfdir=$I_MPI_COMPILER_CONFIG_DIR;
122
+ fi
123
+ # Default settings for compiler, flags, and libraries
124
+ # Determined by a combination of environment variables and tests within
125
+ # configure (e.g., determining whehter -lsocket is needee)
126
+ F77="gfortran"
127
+ F77CPP=""
128
+ MPICH_VERSION="3.4a2"
129
+ MPIVERSION="2021.17"
130
+ FFLAGS=""
131
+ MPILIBNAME="mpi"
132
+
133
+
134
+ # How to pass a linker flag through the compiler.
135
+ wl=""
136
+
137
+ # Static library suffix (normally "a").
138
+ libext="a"
139
+
140
+ # Shared library suffix (normally "so").
141
+ shlibext="so"
142
+
143
+ # Format of library name prefix.
144
+ libname_spec="lib\$name"
145
+
146
+ # Library names that the linker finds when passed -lNAME.
147
+ library_names_spec="\$libname\$shrext"
148
+
149
+ # Flag to hardcode $libdir into a binary during linking.
150
+ # This must work even if $libdir does not exist.
151
+ hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir"
152
+
153
+ # Flag to add dtags to allow using runpath instead of rpath
154
+ enable_dtags_flag=""
155
+ disable_dtags_flag=""
156
+
157
+ # Whether we need a single -rpath flag with a separated argument.
158
+ hardcode_libdir_separator=""
159
+
160
+ # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
161
+ # resulting binary.
162
+ hardcode_direct="no"
163
+
164
+ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
165
+ # resulting binary.
166
+ hardcode_minus_L="no"
167
+
168
+
169
+ strip_debug_info=
170
+ handle_executable=
171
+ executable=a.out
172
+ static_log=yes
173
+ ilp64=no
174
+ no_ilp64=
175
+ trace_opt=no
176
+ no_rpath=no
177
+ # Attempt to construct dynamic loading info, based on the user
178
+ # preference of rpath, runpath or none and on the detected libdir
179
+ # flags.
180
+ with_wrapper_dl_type=no
181
+ if test "X${with_wrapper_dl_type}" = "Xrunpath" ; then
182
+ eval wrapper_dl_type_flags=\"${hardcode_libdir_flag_spec} ${enable_dtags_flag}\"
183
+ elif test "X${with_wrapper_dl_type}" = "Xrpath" ; then
184
+ eval wrapper_dl_type_flags=\"${hardcode_libdir_flag_spec} ${disable_dtags_flag}\"
185
+ else
186
+ wrapper_dl_type_flags=""
187
+ fi
188
+
189
+ # Internal variables
190
+ # Show is set to echo to cause the compilation command to be echoed instead
191
+ # of executed.
192
+ Show=eval
193
+ #
194
+ # End of initialization of variables
195
+ #---------------------------------------------------------------------
196
+ # Environment Variables.
197
+ # The environment variables I_MPI_F77, MPICH_F77 may be used to override the
198
+ # default choices. I_MPI_F77 has higher priority than MPICH_F77.
199
+ # In addition, if there is a file $sysconfdir/mpif77-$F77name.conf,
200
+ # where F77name is the name of the compiler with all spaces replaced by hyphens
201
+ # (e.g., "f77 -64" becomes "f77--64", that file is sources, allowing other
202
+ # changes to the compilation environment. See the variables used by the
203
+ # script (defined above)
204
+ # Added MPICH_F77_OLD, MPICH_F77 can be used to prefix F77
205
+ # with external utility, e.g. setenv MPICH_F77 'eval linkcache $MPICH_F77_OLD'
206
+ if [ -n "$I_MPI_FFLAGS" ] ; then
207
+ FFLAGS=" "$I_MPI_FFLAGS
208
+ fi
209
+ if [ -n "$I_MPI_LDFLAGS" ] ; then
210
+ LDFLAGS=" -ldl "$I_MPI_LDFLAGS
211
+ fi
212
+ if [ -n "$I_MPI_F77" ] ; then
213
+ F77="$I_MPI_F77"
214
+ F77name=`echo $F77 | sed 's/ /-/g'`
215
+ if [ -s $sysconfdir/mpif77-$(basename $F77name).conf ] ; then
216
+ . $sysconfdir/mpif77-$(basename $F77name).conf
217
+ fi
218
+ else
219
+ if [ -n "$MPICH_F77" ] ; then
220
+ F77="$MPICH_F77"
221
+ F77name=`echo $F77 | sed 's/ /-/g'`
222
+ if [ -s $sysconfdir/mpif77-$(basename $F77name).conf ] ; then
223
+ . $sysconfdir/mpif77-$(basename $F77name).conf
224
+ fi
225
+ fi
226
+ fi
227
+ if [ -n "$I_MPI_DEBUG_INFO_STRIP" ] ; then
228
+ for comp_val in "0" "off" "no" "disable"
229
+ do
230
+ if [ "$I_MPI_DEBUG_INFO_STRIP" = "$comp_val" ] ; then
231
+ strip_debug_info=no
232
+ break
233
+ fi
234
+ done
235
+ fi
236
+ # Allow a profiling option to be selected through an environment variable
237
+ if [ -n "$MPIF77_PROFILE" ] ; then
238
+ profConf=$MPIF77_PROFILE
239
+ fi
240
+ if [ -n "$I_MPI_F77_PROFILE" ] ; then
241
+ profConf=$I_MPI_F77_PROFILE
242
+ fi
243
+ if [ -n "$MPIFC_PROFILE" ] ; then
244
+ profConf=$MPIFC_PROFILE
245
+ fi
246
+ if [ -n "$I_MPI_FC_PROFILE" ] ; then
247
+ profConf=$I_MPI_FC_PROFILE
248
+ fi
249
+
250
+ # Override default mpi library
251
+ if [ -n "$I_MPI_LINK" ] ; then
252
+ mpilib_override=$I_MPI_LINK
253
+ fi
254
+
255
+ # ------------------------------------------------------------------------
256
+ # Argument processing.
257
+ # This is somewhat awkward because of the handling of arguments within
258
+ # the shell. We want to handle arguments that include spaces without
259
+ # loosing the spacing (an alternative would be to use a more powerful
260
+ # scripting language that would allow us to retain the array of values,
261
+ # which the basic (rather than enhanced) Bourne shell does not.
262
+ #
263
+ # Look through the arguments for arguments that indicate compile only.
264
+ # If these are *not* found, add the library options
265
+
266
+ linking=yes
267
+ allargs=""
268
+ argno=0
269
+ cppflags=""
270
+ interlib_deps=yes
271
+ static_mpi=no
272
+ for arg in "$@" ; do
273
+ # Set addarg to no if this arg should be ignored by the C compiler
274
+ addarg=yes
275
+ qarg=$arg
276
+ if [ "x$handle_executable" = "xyes" ] ; then
277
+ executable=$arg
278
+ handle_executable=
279
+ fi
280
+ case "$arg" in
281
+ # ----------------------------------------------------------------
282
+ # Compiler options that affect whether we are linking or no
283
+ -c|-S|-E|-M|-MM)
284
+ # The compiler links by default
285
+ linking=no
286
+ ;;
287
+ -o )
288
+ handle_executable=yes
289
+ addarg=yes
290
+ ;;
291
+ # ----------------------------------------------------------------
292
+ # Options that control how we use mpif77 (e.g., -show,
293
+ # -f77=* -config=*
294
+ -static)
295
+ interlib_deps=no
296
+ static_mpi=yes
297
+ static_log=yes
298
+ FFLAGS="$FFLAGS -Xlinker --export-dynamic"
299
+ addarg=yes
300
+ ;;
301
+ -static-mpi)
302
+ interlib_deps=no
303
+ static_mpi=yes
304
+ FFLAGS="$FFLAGS -Xlinker --export-dynamic"
305
+ addarg=no
306
+ ;;
307
+ -echo)
308
+ addarg=no
309
+ set -x
310
+ ;;
311
+
312
+ -f77=*)
313
+ F77=`echo A$arg | sed -e 's/A-f77=//g'`
314
+ if [ "$#" -eq "1" ] ; then
315
+ echo "Error: extra arguments required"
316
+ echo "usage: mpif77 -f77=<name> -v"
317
+ exit 1
318
+ fi
319
+ addarg=no
320
+ ;;
321
+ -fc=*)
322
+ F77=`echo A$arg | sed -e 's/A-fc=//g'`
323
+ if [ "$#" -eq "1" ] ; then
324
+ echo "Error: extra arguments required"
325
+ echo "usage: mpif77 -fc=<name> -v"
326
+ exit 1
327
+ fi
328
+ addarg=no
329
+ ;;
330
+
331
+ -show)
332
+ addarg=no
333
+ Show=echo
334
+ ;;
335
+ -config=*)
336
+ addarg=no
337
+ F77name=`echo A$arg | sed -e 's/A-config=//g'`
338
+ if [ -s "$sysconfdir/mpif77-$F77name.conf" ] ; then
339
+ . "$sysconfdir/mpif77-$F77name.conf"
340
+ else
341
+ echo "Configuration file mpif77-$F77name.conf not found"
342
+ fi
343
+ ;;
344
+ -compile-info|-compile_info)
345
+ # -compile_info included for backward compatibility
346
+ Show=echo
347
+ addarg=no
348
+ ;;
349
+ -link-info|-link_info)
350
+ # -link_info included for backward compatibility
351
+ Show=echo
352
+ addarg=no
353
+ ;;
354
+ -v)
355
+ # Pass this argument to the compiler as well.
356
+ echo "$(basename $0) for the Intel(R) MPI Library $MPIVERSION for Linux*"
357
+ echo "Copyright Intel Corporation."
358
+ linking=no
359
+ ;;
360
+ -profile=*)
361
+ # Pass the name of a profiling configuration. As
362
+ # a special case, lib<name>.so or lib<name>.la may be used
363
+ # if the library is in $libdir
364
+ profConf=`echo A$arg | sed -e 's/A-profile=//g'`
365
+ addarg=no
366
+ # Loading the profConf file is handled below
367
+ ;;
368
+ -help)
369
+ # Print mini-help if started without parameters
370
+ echo "Simple script to compile and/or link MPI programs."
371
+ echo "Usage: `basename $0` [options] <files>"
372
+ echo "----------------------------------------------------------------------------"
373
+ echo "The following options are supported:"
374
+ echo " -fc=<name> | -f77=<name>"
375
+ echo " specify a FORTRAN compiler name: i.e. -fc=g77"
376
+ echo " -echo print the scripts during their execution"
377
+ echo " -show show command lines without real calling"
378
+ echo " -config=<name> specify a configuration file: i.e. -config=g77 for mpif77-g77.conf file"
379
+ echo " -v print version info of $(basename $0) and its native compiler"
380
+ echo " -profile=<name> specify a profile configuration file (an MPI profiling"
381
+ echo " library): i.e. -profile=myprofile for the myprofile.cfg file."
382
+ echo " As a special case, lib<name>.so or lib<name>.a may be used"
383
+ echo " if the library is found"
384
+ echo " -check_mpi link against the Intel(R) Trace Collector (-profile=vtmc)."
385
+ echo " -static_mpi link the Intel(R) MPI Library statically"
386
+ echo " -mt_mpi link the thread safe version of the Intel(R) MPI Library"
387
+ echo " -ilp64 link the ILP64 support of the Intel(R) MPI Library"
388
+ echo " -no_ilp64 disable ILP64 support explicitly"
389
+ echo " -t or -trace"
390
+ echo " link against the Intel(R) Trace Collector"
391
+ echo " -trace-imbalance"
392
+ echo " link against the Intel(R) Trace Collector imbalance library"
393
+ echo " (-profile=vtim)"
394
+ echo " -dynamic_log link against the Intel(R) Trace Collector dynamically"
395
+ echo " -static use static linkage method"
396
+ echo " -nostrip turn off the debug information stripping during static linking"
397
+ echo " -O enable optimization"
398
+ echo " -link_mpi=<name>"
399
+ echo " link against the specified version of the Intel(R) MPI Library"
400
+ echo " i.e -link_mpi=opt|opt_mt|dbg|dbg_mt"
401
+ echo " -norpath disable rpath for compiler wrapper of the Intel(R) MPI Library"
402
+ echo "All other options will be passed to the compiler without changing."
403
+ echo "----------------------------------------------------------------------------"
404
+ echo "The following environment variables are used:"
405
+ echo " I_MPI_ROOT the Intel(R) MPI Library installation directory path"
406
+ echo " I_MPI_F77 or MPICH_F77"
407
+ echo " the path/name of the underlying compiler to be used"
408
+ echo " I_MPI_FC_PROFILE or I_MPI_F77_PROFILE or MPIF77_PROFILE"
409
+ echo " the name of profile file (without extension)"
410
+ echo " I_MPI_COMPILER_CONFIG_DIR"
411
+ echo " the folder which contains configuration files *.conf"
412
+ echo " I_MPI_TRACE_PROFILE"
413
+ echo " specify a default profile for the -trace option"
414
+ echo " I_MPI_CHECK_PROFILE"
415
+ echo " specify a default profile for the -check_mpi option"
416
+ echo " I_MPI_LINK specify the version of the Intel(R) MPI Library"
417
+ echo " I_MPI_DEBUG_INFO_STRIP"
418
+ echo " turn on/off the debug information stripping during static linking"
419
+ echo " I_MPI_FFLAGS"
420
+ echo " special flags needed for compilation"
421
+ echo " I_MPI_LDFLAGS "
422
+ echo " special flags needed for linking"
423
+ echo "----------------------------------------------------------------------------"
424
+ exit 0
425
+ ;;
426
+ -nolinkage)
427
+ # This internal option is used by wrapper driver scripts mpicc, mpicxx, mpifc when -v option is used.
428
+ linking=no
429
+ addarg=no
430
+ ;;
431
+ -g)
432
+ MPILIBDIR=${release_lib_dir}
433
+ ;;
434
+ -static_log)
435
+ static_log=yes
436
+ addarg=no
437
+ ;;
438
+ -dynamic_log)
439
+ static_log=no
440
+ addarg=no
441
+ ;;
442
+ -mt_mpi)
443
+ addarg=no
444
+ ;;
445
+ -ilp64)
446
+ ilp64=yes
447
+ addarg=no
448
+ ;;
449
+ -i8)
450
+ if [ -z "$no_ilp64" ] ; then
451
+ ilp64=yes
452
+ fi
453
+ if [ "$F77" = gfortran ]; then
454
+ FFLAGS="-fdefault-integer-8 $FFLAGS"
455
+ addarg=no
456
+ else
457
+ addarg=yes
458
+ fi
459
+ ;;
460
+ -fdefault-integer-8)
461
+ if [ -z "$no_ilp64" ] ; then
462
+ ilp64=yes
463
+ fi
464
+ ;;
465
+ -no_ilp64)
466
+ no_ilp64=yes
467
+ ilp64=no
468
+ addarg=no
469
+ ;;
470
+ -check_mpi)
471
+ if [ -z "$profConf" ]; then
472
+ if [ -z "$I_MPI_CHECK_PROFILE" ]; then
473
+ profConf="vtmc"
474
+ else
475
+ profConf="$I_MPI_CHECK_PROFILE"
476
+ fi
477
+ else
478
+ echo "Warning: the -check_mpi option will be ignored because the profile was set."
479
+ fi
480
+ addarg=no
481
+ ;;
482
+ -trace-imbalance)
483
+ if [ -z "$profConf" ]; then
484
+ profConf="vtim"
485
+ else
486
+ echo "Warning: the -trace-imbalance option will be ignored because the profile was set."
487
+ fi
488
+ addarg=no
489
+ ;;
490
+ -t | -trace | -t=* | -trace=* )
491
+ if [ -z "$profConf" ]; then
492
+ if [ -z "$I_MPI_TRACE_PROFILE" ]; then
493
+ profConf="vt"
494
+ else
495
+ profConf="$I_MPI_TRACE_PROFILE"
496
+ fi
497
+ else
498
+ echo "Warning: the -trace option will be ignored because the profile was set."
499
+ fi
500
+ addarg=no
501
+ ;;
502
+ -nativelinking)
503
+ # Internal option to use native compiler for linking without MPI libraries
504
+ nativelinking=yes
505
+ addarg=no
506
+ ;;
507
+ -link_mpi=* )
508
+ mpilib_override=`echo A$arg | sed -e 's/A-link_mpi=//g'`
509
+ addarg=no
510
+ ;;
511
+ -nostrip )
512
+ strip_debug_info=no
513
+ addarg=no
514
+ ;;
515
+ -norpath )
516
+ no_rpath=yes
517
+ addarg=no
518
+ ;;
519
+ # -----------------------------------------------------------------
520
+ # Other arguments. We are careful to handle arguments with
521
+ # quotes (we try to quote all arguments in case they include
522
+ # any spaces)
523
+ *\"*)
524
+ qarg="'"$arg"'"
525
+ case $arg in
526
+ -D*)
527
+ cppflags="$cppflags $qarg"
528
+ ;;
529
+ esac
530
+ ;;
531
+ *\'*)
532
+ qarg=`echo \"$arg\"`
533
+ case $arg in
534
+ -D*)
535
+ cppflags="$cppflags $qarg"
536
+ ;;
537
+ esac
538
+ ;;
539
+
540
+ # The following are special args used to handle .F files when the
541
+ # Fortran compiler itself does not handle these options
542
+ -I*)
543
+ cppflags="$cppflags $arg"
544
+ ;;
545
+ -D*)
546
+ cppflags="$cppflags $arg"
547
+ ;;
548
+ *.F|*.F90|*.fpp|*.FPP)
549
+ # If F77CPP is not empty, then we need to do the following:
550
+ # If any input files have the .F or .F90 extension, then
551
+ # If F77CPP = false, then
552
+ # generate an error message and exit
553
+ # Use F77CPP to convert the file from .F to .f, using
554
+ # $TMPDIR/f$$-$count.f as the output file name
555
+ # Replace the input file with this name in the args
556
+ # This is needed only for very broken systems
557
+ #
558
+ if [ -n "$F77CPP" ] ; then
559
+ if [ "$F77CPP" = "false" ] ; then
560
+ echo "This Fortran compiler does not accept .F or .F90 files"
561
+ exit 1
562
+ fi
563
+ addarg=no
564
+ # Remove and directory names and extension
565
+ $ext=`expr "$arg" : '.*\(\..*\)'`
566
+ bfile=`basename $arg $ext`
567
+ #
568
+ TMPDIR=${TMPDIR:-/tmp}
569
+ tmpfile=$TMPDIR/f$$-$bfile.f
570
+ if $F77CPP $cppflags $arg > $tmpfile ; then
571
+ # Add this file to the commandline list
572
+ count=`expr $count + 1`
573
+ allargs="$allargs $tmpfile"
574
+ rmfiles="$rmfiles $tmpfile"
575
+ else
576
+ echo "Aborting compilation because of failure in preprocessing step"
577
+ echo "for file $arg ."
578
+ exit 1
579
+ fi
580
+ fi
581
+ # Otherwise, just accept the argument
582
+ ;;
583
+ # - end of special handling for .F files
584
+ *)
585
+ qarg="'$arg'"
586
+ ;;
587
+ esac
588
+ if [ $addarg = yes ] ; then
589
+ allargs="$allargs $qarg"
590
+ fi
591
+ done
592
+
593
+ if [ $# -eq 0 ] ; then
594
+ echo "Error: Command line argument is needed!"
595
+ "$0" -help
596
+ exit 1
597
+ fi
598
+
599
+ if [ "${static_mpi}" = yes ] ; then
600
+ mpilibs="$libdir/libmpi.a"
601
+ else
602
+ mpilibs="-lmpi"
603
+ fi
604
+
605
+ if [ -n "$mpilib_override" ] ; then
606
+ case "$mpilib_override" in
607
+ opt )
608
+ MPILIBDIR=${release_lib_dir}
609
+ ;;
610
+ opt_mt )
611
+ MPILIBDIR=${release_lib_dir}
612
+ ;;
613
+ dbg )
614
+ MPILIBDIR=${debug_lib_dir}
615
+ ;;
616
+ dbg_mt )
617
+ MPILIBDIR=${debug_lib_dir}
618
+ ;;
619
+ * )
620
+ echo "Warning: incorrect library version specified. Automatically selected library will be used."
621
+ ;;
622
+ esac
623
+ fi
624
+ # -----------------------------------------------------------------------
625
+ if [ "$static_mpi" = yes ] ; then
626
+ mpilibs="${libdir}/libmpifort.a ${libdir}${MPILIBDIR}/lib${MPILIBNAME}.a"
627
+ I_MPI_OTHERLIBS=" -lrt -lpthread "
628
+ if [ "$ilp64" = yes ]; then
629
+ mpilibs="$libdir/libmpi_ilp64.a $mpilibs"
630
+ fi
631
+ if [ "x$strip_debug_info" = "x" ] ; then
632
+ strip_debug_info=yes
633
+ fi
634
+ else
635
+ mpilibs="-lmpifort -l$MPILIBNAME"
636
+ I_MPI_OTHERLIBS=" -lrt -lpthread "
637
+ if [ "$ilp64" = yes ]; then
638
+ mpilibs="-lmpi_ilp64 $mpilibs"
639
+ fi
640
+ fi
641
+ # Derived variables. These are assembled from variables set from the
642
+ # default, environment, configuration file (if any) and command-line
643
+ # options (if any)
644
+ f77libs=
645
+ if [ "mpifort" != "mpi" ] ; then
646
+ if [ "${static_mpi}" = yes ] ; then
647
+ f77libs="$libdir/libmpifort.a"
648
+ else
649
+ f77libs="-lmpifort"
650
+ fi
651
+ fi
652
+
653
+ PROFILE_FOO=
654
+ # Handle the case of a profile switch
655
+ if [ -n "$profConf" ] ; then
656
+ profConffile=
657
+ if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then
658
+ PROFILE_FOO="-l$profConf"
659
+ mpilibs="-l$profConf $mpilibs"
660
+ elif [ -s "$sysconfdir/$profConf.conf" ] ; then
661
+ profConffile="$sysconfdir/$profConf.conf"
662
+ elif [ -s "$profConf.conf" ] ; then
663
+ profConffile="$profConf.conf"
664
+ else
665
+ echo "Profiling configuration file $profConf.conf not found in $sysconfdir"
666
+ fi
667
+ if [ -n "$profConffile" -a -s "$profConffile" ] ; then
668
+ . $profConffile
669
+ if [ -n "$PROFILE_INCPATHS" ] ; then
670
+ CFLAGS="$PROFILE_INCPATHS $CFLAGS"
671
+ fi
672
+ if [ -n "$PROFILE_PRELIB" ] ; then
673
+ mpilibs="$PROFILE_PRELIB $mpilibs"
674
+ fi
675
+ if [ -n "$PROFILE_POSTLIB" ] ; then
676
+ mpilibs="$mpilibs $PROFILE_POSTLIB"
677
+ fi
678
+ fi
679
+ fi
680
+
681
+ if [ "${static_mpi}" = "yes" ] ; then
682
+ final_fflags=" -Xlinker --export-dynamic "
683
+ else
684
+ final_fflags=" "
685
+ fi
686
+
687
+ final_ldflags=" -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -Xlinker --enable-new-dtags -ldl "
688
+ final_libs="-lpthread -lrt "
689
+
690
+ # A temporary statement to invoke the compiler
691
+ # Place the -L before any args incase there are any mpi libraries in there.
692
+ # Eventually, we'll want to move this after any non-MPI implementation
693
+ # libraries
694
+ #
695
+ if [ "$no_rpath" = "yes" ]; then
696
+ rpath_opt="-Xlinker --enable-new-dtags"
697
+ else
698
+ rpath_opt="-Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker \"${libdir}${MPILIBDIR}\" -Xlinker -rpath -Xlinker \"${libdir}\""
699
+ fi
700
+ if [ "$linking" = yes ] ; then
701
+ if [ "$nativelinking" = yes ] ; then
702
+ $Show $F77 $PROFILE_INCPATHS ${final_fflags} ${final_ldflags} $allargs -I\"${includedir}\" -I\"${includedir}/mpi\"
703
+ rc=$?
704
+ else
705
+ $Show $F77 $FFLAGS $allargs -I\"${includedir}\" -I\"${includedir}/mpi\" -L\"${libdir}${MPILIBDIR}\" -L\"${libdir}\" $rpath_opt $mpilibs $I_MPI_OTHERLIBS ${final_ldflags}
706
+ rc=$?
707
+ if [ $rc -eq 0 -a "x$strip_debug_info" = "xyes" ] ; then
708
+ $Show objcopy --only-keep-debug ${executable} ${executable}.dbg
709
+ $Show objcopy --strip-debug ${executable}
710
+ $Show objcopy --add-gnu-debuglink=${executable}.dbg ${executable}
711
+ fi
712
+ fi
713
+ # if [ "$static_mpi" = no ] ; then
714
+ # $Show $F77 $PROFILE_INCPATHS ${final_fflags} ${final_ldflags} "${allargs[@]}" -I$includedir -L$libdir $f77libs $PROFILE_PRELIB $PROFILE_FOO ${wrapper_dl_type_flags} -lmpi $PROFILE_POSTLIB ${final_libs}
715
+ # else
716
+ # $Show $F77 $PROFILE_INCPATHS ${final_fflags} ${final_ldflags} "${allargs[@]}" -I$includedir -L$libdir $f77libs $PROFILE_PRELIB $PROFILE_FOO ${wrapper_dl_type_flags} $libdir/libmpi.a $PROFILE_POSTLIB ${final_libs}
717
+ # rc=$?
718
+ # fi
719
+ else
720
+ cmd_line="$F77 $PROFILE_INCPATHS ${final_fflags} $allargs -I\"${includedir}\" -I\"${includedir}/mpi\""
721
+ if [ "$Show" = echo ] ; then
722
+ echo $cmd_line
723
+ else
724
+ eval `echo $cmd_line`
725
+ fi
726
+ rc=$?
727
+ fi
728
+ if [ -n "$rmfiles" ] ; then
729
+ for file in $rmfiles ; do
730
+ objfile=`basename $file .f`
731
+ if [ -s "${objfile}.o" ] ; then
732
+ # Rename
733
+ destfile=`echo $objfile | sed -e "s/.*$$-//"`
734
+ mv -f ${objfile}.o ${destfile}.o
735
+ fi
736
+ rm -f $file
737
+ done
738
+ rm -f $rmfiles
739
+ fi
740
+ exit $rc