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,884 @@
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
+ # FC - Fortran 90 compiler
81
+ # WRAPPER_FCFLAGS - 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
+ # FC_OTHER_LIBS - Yet more libraries, needed just with FC
85
+ #
86
+ # We assume that (a) the C compiler can both compile and link programs
87
+ #
88
+ # Handling of command-line options:
89
+ # This is a little tricky because some options may contain blanks.
90
+ #
91
+ # Special issues with shared libraries - todo
92
+ #
93
+ # --------------------------------------------------------------------------
94
+ # Set the default values of all variables.
95
+ #
96
+ # Directory locations: Fixed for any MPI implementation.
97
+ # Set from the directory arguments to configure (e.g., --prefix=/usr/local)
98
+ prefix=I_MPI_SUBSTITUTE_INSTALLDIR
99
+ # The environment variable I_MPI_ROOT may be used to override installation folder path
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 [ -n "$I_MPI_COMPILER_CONFIG_DIR" ] ; then
110
+ sysconfdir=$I_MPI_COMPILER_CONFIG_DIR;
111
+ fi
112
+ modincdir=${prefix}/include
113
+
114
+ if [ ! -f "${prefix}/lib/mpi/debug/libmpi.so" ]; then
115
+ release_lib_dir="/release"
116
+ debug_lib_dir="/debug"
117
+ else
118
+ sysconfdir=${prefix}/opt/mpi/etc
119
+ release_lib_dir=""
120
+ debug_lib_dir="/mpi/debug"
121
+ modincdir=${prefix}/include/mpi
122
+ fi
123
+ MPILIBDIR=${release_lib_dir}
124
+ # Default settings for compiler, flags, and libraries
125
+ # Determined by a combination of environment variables and tests within
126
+ # configure (e.g., determining whehter -lsocket is needed)
127
+ FC="gfortran"
128
+ FCCPP=""
129
+ #
130
+ # Fortran 90 Compiler characteristics
131
+ FCINC="-I"
132
+ # f90modinc specifies how to add a directory to the search path for modules.
133
+ # Some compilers (Intel ifc version 5) do not support this concept, and
134
+ # instead need
135
+ # a specific list of files that contain module names and directories.
136
+ # The FCMODINCSPEC is a more general approach that uses <dir> and <file>
137
+ # for the directory and file respectively.
138
+ FCMODINC="-I"
139
+ FCMODINCSPEC=""
140
+ FCEXT="f90"
141
+ MPICH_VERSION="3.4a2"
142
+ FCFLAGS=""
143
+ MPIVERSION="2021.17"
144
+ MPILIBNAME="mpi"
145
+ enable_wrapper_rpath="@enable_wrapper_rpath@"
146
+
147
+
148
+ # How to pass a linker flag through the compiler.
149
+ wl=""
150
+
151
+ # Static library suffix (normally "a").
152
+ libext="a"
153
+
154
+ # Shared library suffix (normally "so").
155
+ shlibext="so"
156
+
157
+ # Format of library name prefix.
158
+ libname_spec="lib\$name"
159
+
160
+ # Library names that the linker finds when passed -lNAME.
161
+ library_names_spec="\$libname\$shrext"
162
+
163
+ # Flag to hardcode $libdir into a binary during linking.
164
+ # This must work even if $libdir does not exist.
165
+ hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir"
166
+
167
+ # Flag to add dtags to allow using runpath instead of rpath
168
+ enable_dtags_flag=""
169
+ disable_dtags_flag=""
170
+
171
+ # Whether we need a single -rpath flag with a separated argument.
172
+ hardcode_libdir_separator=""
173
+
174
+ # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
175
+ # resulting binary.
176
+ hardcode_direct="no"
177
+
178
+ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
179
+ # resulting binary.
180
+ hardcode_minus_L="no"
181
+
182
+
183
+ # Attempt to construct dynamic loading info, based on the user
184
+ # preference of rpath, runpath or none and on the detected libdir
185
+ # flags.
186
+ with_wrapper_dl_type=no
187
+ if test "X${with_wrapper_dl_type}" = "Xrunpath" ; then
188
+ eval wrapper_dl_type_flags=\"${hardcode_libdir_flag_spec} ${enable_dtags_flag}\"
189
+ elif test "X${with_wrapper_dl_type}" = "Xrpath" ; then
190
+ eval wrapper_dl_type_flags=\"${hardcode_libdir_flag_spec} ${disable_dtags_flag}\"
191
+ else
192
+ wrapper_dl_type_flags=""
193
+ fi
194
+
195
+ # Internal variables
196
+ # Show is set to echo to cause the compilation command to be echoed instead
197
+ # of executed.
198
+ Show=eval
199
+ strip_debug_info=
200
+ handle_executable=
201
+ executable=a.out
202
+ static_log=yes
203
+ ilp64=no
204
+ no_ilp64=
205
+ trace_opt=no
206
+ no_rpath=no
207
+ #
208
+ # End of initialization of variables
209
+ #---------------------------------------------------------------------
210
+ # Environment Variables.
211
+ # The environment variables MPICH_FC may be used to override the
212
+ # default choices.
213
+ # In addition, if there is a file $sysconfdir/mpifort-$FCname.conf,
214
+ # where FCname is the name of the compiler with all spaces replaced by hyphens
215
+ # (e.g., "fc -64" becomes "fc--64", that file is sources, allowing other
216
+ # changes to the compilation environment. See the variables used by the
217
+ # script (defined above)
218
+ # Added MPICH_FC_OLD, MPICH_FC can be used to prefix FC with external utility,
219
+ # e.g. setenv MPICH_FC 'eval linkcache $MPICH_FC_OLD'
220
+ if [ -n "$I_MPI_FCFLAGS" ] ; then
221
+ FCFLAGS=" "$I_MPI_FCFLAGS
222
+ fi
223
+ if [ -n "$I_MPI_LDFLAGS" ] ; then
224
+ LDFLAGS=" -ldl "$I_MPI_LDFLAGS
225
+ fi
226
+ if [ -n "$I_MPI_F90" ] ; then
227
+ FC="$I_MPI_F90"
228
+ FCname=`echo $FC | sed 's/ /-/g'`
229
+ if [ -s $sysconfdir/mpif90-$(basename $FCname).conf ] ; then
230
+ . $sysconfdir/mpif90-$(basename $FCname).conf
231
+ fi
232
+ else
233
+ if [ -n "$MPICH_FC" ] ; then
234
+ MPICH_FC_OLD="$FC"
235
+ FC="$MPICH_FC"
236
+ FCname=`echo $FC | sed 's/ /-/g'`
237
+ if [ -s $sysconfdir/mpifort-$FCname.conf ] ; then
238
+ . $sysconfdir/mpifort-$FCname.conf
239
+ fi
240
+ fi
241
+ fi
242
+ if [ -n "$I_MPI_CHECK_COMPILER" ] ; then
243
+ for comp_val in "1" "on" "yes" "enable"
244
+ do
245
+ if [ "$I_MPI_CHECK_COMPILER" = "$comp_val" ] ; then
246
+ Docompchk=yes
247
+ break
248
+ fi
249
+ done
250
+ fi
251
+ if [ -n "$I_MPI_DEBUG_INFO_STRIP" ] ; then
252
+ for comp_val in "0" "off" "no" "disable"
253
+ do
254
+ if [ "$I_MPI_DEBUG_INFO_STRIP" = "$comp_val" ] ; then
255
+ strip_debug_info=no
256
+ break
257
+ fi
258
+ done
259
+ fi
260
+ # Allow a profiling option to be selected through an environment variable
261
+ if [ -n "$MPIF90_PROFILE" ] ; then
262
+ profConf=$MPIF90_PROFILE
263
+ fi
264
+ if [ -n "$I_MPI_F90_PROFILE" ] ; then
265
+ profConf=$I_MPI_F90_PROFILE
266
+ fi
267
+ if [ -n "$MPIFC_PROFILE" ] ; then
268
+ profConf=$MPIFC_PROFILE
269
+ fi
270
+ if [ -n "$I_MPI_FC_PROFILE" ] ; then
271
+ profConf=$I_MPI_FC_PROFILE
272
+ fi
273
+
274
+ # Override default mpi library
275
+ if [ -n "$I_MPI_LINK" ] ; then
276
+ mpilib_override=$I_MPI_LINK
277
+ fi
278
+ #
279
+ # ------------------------------------------------------------------------
280
+ # Argument processing.
281
+ # This is somewhat awkward because of the handling of arguments within
282
+ # the shell. We want to handle arguments that include spaces without
283
+ # loosing the spacing (an alternative would be to use a more powerful
284
+ # scripting language that would allow us to retain the array of values,
285
+ # which the basic (rather than enhanced) Bourne shell does not.
286
+ #
287
+ # Look through the arguments for arguments that indicate compile only.
288
+ # If these are *not* found, add the library options
289
+ #
290
+ linking=yes
291
+ allargs=""
292
+ interlib_deps=yes
293
+ argno=0
294
+ cppflags=""
295
+ static_mpi=no
296
+ for arg in "$@" ; do
297
+ # Set addarg to no if this arg should be ignored by the C compiler
298
+ addarg=yes
299
+ qarg=$arg
300
+ if [ "x$handle_executable" = "xyes" ] ; then
301
+ executable=$arg
302
+ handle_executable=
303
+ fi
304
+ case "$arg" in
305
+ # ----------------------------------------------------------------
306
+ # Compiler options that affect whether we are linking or no
307
+ -c|-S|-E|-M|-MM)
308
+ # The compiler links by default
309
+ linking=no
310
+ ;;
311
+ # ----------------------------------------------------------------
312
+ # Options that control how we use mpifort (e.g., -show,
313
+ # -fc=* -config=*
314
+ -static)
315
+ interlib_deps=no
316
+ static_log=yes
317
+ static_mpi=yes
318
+ FCFLAGS="$FCFLAGS -Xlinker --export-dynamic"
319
+ addarg=yes
320
+ ;;
321
+ -o )
322
+ handle_executable=yes
323
+ addarg=yes
324
+ ;;
325
+ -static-mpi)
326
+ interlib_deps=no
327
+ static_mpi=yes
328
+ addarg=no
329
+ FCFLAGS="$FCFLAGS -Xlinker --export-dynamic"
330
+ ;;
331
+ -echo)
332
+ addarg=no
333
+ set -x
334
+ ;;
335
+ -f90=*)
336
+ FC=`echo A$arg | sed -e 's/A-f90=//g'`
337
+ if [ "$#" -eq "1" ] ; then
338
+ echo "Error: extra arguments required"
339
+ echo "usage: mpifort -f90=<name> -v"
340
+ exit 1
341
+ fi
342
+ addarg=no
343
+ ;;
344
+ -fc=*)
345
+ FC=`echo A$arg | sed -e 's/A-fc=//g'`
346
+ if [ "$#" -eq "1" ] ; then
347
+ echo "Error: extra arguments required"
348
+ echo "usage: mpifort -fc=<name> -v"
349
+ exit 1
350
+ fi
351
+ addarg=no
352
+ ;;
353
+ -show)
354
+ addarg=no
355
+ Show=echo
356
+ ;;
357
+ -config=*)
358
+ addarg=no
359
+ FCname=`echo A$arg | sed -e 's/A-config=//g'`
360
+ if [ -s "$sysconfdir/mpifort-$FCname.conf" ] ; then
361
+ . "$sysconfdir/mpifort-$FCname.conf"
362
+ else
363
+ echo "Configuration file mpifort-$FCname.conf not found"
364
+ fi
365
+ ;;
366
+ -compile-info|-compile_info)
367
+ # -compile_info included for backward compatibility
368
+ Show=echo
369
+ addarg=no
370
+ ;;
371
+ -link-info|-link_info)
372
+ # -link_info included for backward compatibility
373
+ Show=echo
374
+ addarg=no
375
+ ;;
376
+ -v)
377
+ # Pass this argument to the compiler as well.
378
+ echo "$(basename $0) for the Intel(R) MPI Library $MPIVERSION for Linux*"
379
+ echo "Copyright Intel Corporation."
380
+ linking=no
381
+ ;;
382
+ -profile=*)
383
+ # Pass the name of a profiling configuration. As
384
+ # a special case, lib<name>.so or lib<name>.la may be used
385
+ # if the library is in $libdir
386
+ profConf=`echo A$arg | sed -e 's/A-profile=//g'`
387
+ addarg=no
388
+ # Loading the profConf file is handled below
389
+ ;;
390
+ -help)
391
+ # Print mini-help if started without parameters
392
+ echo "Simple script to compile and/or link MPI programs."
393
+ echo "Usage: `basename $0` [options] <files>"
394
+ echo "----------------------------------------------------------------------------"
395
+ echo "The following options are supported:"
396
+ echo " -fc=<name> | -f90=<name>"
397
+ echo " specify a FORTRAN compiler name: i.e. -fc=gfortran"
398
+ echo " -echo print the scripts during their execution"
399
+ echo " -show show command lines without real calling"
400
+ echo " -config=<name> specify a configuration file: i.e. -config=gfortran for mpif90-gfortran.conf file"
401
+ echo " -v print version info of $(basename $0) and its native compiler"
402
+ echo " -profile=<name> specify a profile configuration file (an MPI profiling"
403
+ echo " library): i.e. -profile=myprofile for the myprofile.cfg file."
404
+ echo " As a special case, lib<name>.so or lib<name>.a may be used"
405
+ echo " if the library is found"
406
+ echo " -check_mpi link against the Intel(R) Trace Collector (-profile=vtmc)."
407
+ echo " -static_mpi link the Intel(R) MPI Library statically"
408
+ echo " -mt_mpi link the thread safe version of the Intel(R) MPI Library"
409
+ echo " -ilp64 link the ILP64 support of the Intel(R) MPI Library"
410
+ echo " -no_ilp64 disable ILP64 support explicitly"
411
+ echo " -t or -trace"
412
+ echo " link against the Intel(R) Trace Collector"
413
+ echo " -trace-imbalance"
414
+ echo " link against the Intel(R) Trace Collector imbalance library"
415
+ echo " (-profile=vtim)"
416
+ echo " -dynamic_log link against the Intel(R) Trace Collector dynamically"
417
+ echo " -static use static linkage method"
418
+ echo " -nostrip turn off the debug information stripping during static linking"
419
+ echo " -O enable optimization"
420
+ echo " -link_mpi=<name>"
421
+ echo " link against the specified version of the Intel(R) MPI Library"
422
+ echo " i.e -link_mpi=opt|opt_mt|dbg|dbg_mt"
423
+ echo " -norpath disable rpath for compiler wrapper of the Intel(R) MPI Library"
424
+ echo "All other options will be passed to the compiler without changing."
425
+ echo "----------------------------------------------------------------------------"
426
+ echo "The following environment variables are used:"
427
+ echo " I_MPI_ROOT the Intel(R) MPI Library installation directory path"
428
+ echo " I_MPI_F90 or MPICH_F90"
429
+ echo " the path/name of the underlying compiler to be used"
430
+ echo " I_MPI_FC_PROFILE or I_MPI_F90_PROFILE or MPIF90_PROFILE"
431
+ echo " the name of profile file (without extension)"
432
+ echo " I_MPI_COMPILER_CONFIG_DIR"
433
+ echo " the folder which contains configuration files *.conf"
434
+ echo " I_MPI_TRACE_PROFILE"
435
+ echo " specify a default profile for the -trace option"
436
+ echo " I_MPI_CHECK_PROFILE"
437
+ echo " specify a default profile for the -check_mpi option"
438
+ echo " I_MPI_LINK specify the version of the Intel(R) MPI Library"
439
+ echo " I_MPI_DEBUG_INFO_STRIP"
440
+ echo " turn on/off the debug information stripping during static linking"
441
+ echo " I_MPI_FCFLAGS"
442
+ echo " special flags needed for compilation"
443
+ echo " I_MPI_LDFLAGS "
444
+ echo " special flags needed for linking"
445
+ echo "----------------------------------------------------------------------------"
446
+ exit 0
447
+ ;;
448
+ -nolinkage)
449
+ # This internal option is used by wrapper driver scripts mpicc, mpicxx, mpifc when -v option is used.
450
+ linking=no
451
+ addarg=no
452
+ ;;
453
+ -g)
454
+ MPILIBDIR=${release_lib_dir}
455
+ ;;
456
+ -static_log)
457
+ static_log=yes
458
+ addarg=no
459
+ ;;
460
+ -dynamic_log)
461
+ static_log=no
462
+ addarg=no
463
+ ;;
464
+ -mt_mpi)
465
+ addarg=no
466
+ ;;
467
+ -ilp64)
468
+ ilp64=yes
469
+ addarg=no
470
+ ;;
471
+ -i8)
472
+ if [ -z "$no_ilp64" ] ; then
473
+ ilp64=yes
474
+ fi
475
+ if [ "$F90" = gfortran ]; then
476
+ FFLAGS="-fdefault-integer-8 $FFLAGS"
477
+ addarg=no
478
+ else
479
+ addarg=yes
480
+ fi
481
+ ;;
482
+ -fdefault-integer-8)
483
+ if [ -z "$no_ilp64" ] ; then
484
+ ilp64=yes
485
+ fi
486
+ ;;
487
+ -no_ilp64)
488
+ no_ilp64=yes
489
+ ilp64=no
490
+ addarg=no
491
+ ;;
492
+ -check_mpi)
493
+ if [ -z "$profConf" ]; then
494
+ if [ -z "$I_MPI_CHECK_PROFILE" ]; then
495
+ profConf="vtmc"
496
+ else
497
+ profConf="$I_MPI_CHECK_PROFILE"
498
+ fi
499
+ else
500
+ echo "Warning: the -check_mpi option will be ignored because the profile was set."
501
+ fi
502
+ addarg=no
503
+ ;;
504
+ -nativelinking)
505
+ # Internal option to use native compiler for linking without MPI libraries
506
+ nativelinking=yes
507
+ addarg=no
508
+ ;;
509
+ -trace-imbalance)
510
+ if [ -z "$profConf" ]; then
511
+ profConf="vtim"
512
+ else
513
+ echo "Warning: the -trace-imbalance option will be ignored because the profile was set."
514
+ fi
515
+ addarg=no
516
+ ;;
517
+ -t | -trace | -t=* | -trace=* )
518
+ if [ -z "$profConf" ]; then
519
+ if [ -z "$I_MPI_TRACE_PROFILE" ]; then
520
+ profConf="vt"
521
+ else
522
+ profConf="$I_MPI_TRACE_PROFILE"
523
+ fi
524
+ else
525
+ echo "Warning: the -trace option will be ignored because the profile was set."
526
+ fi
527
+ addarg=no
528
+ ;;
529
+ -fc=*)
530
+ FC=`echo A$arg | sed -e 's/A-fc=//g'`
531
+ if [ "$#" -eq "1" ] ; then
532
+ echo "Error: extra arguments required"
533
+ echo "usage: mpiifort -fc=<name> -v"
534
+ exit 1
535
+ fi
536
+ addarg=no
537
+ ;;
538
+ -link_mpi=* )
539
+ mpilib_override=`echo A$arg | sed -e 's/A-link_mpi=//g'`
540
+ addarg=no
541
+ ;;
542
+ -nostrip )
543
+ strip_debug_info=no
544
+ addarg=no
545
+ ;;
546
+ -norpath )
547
+ no_rpath=yes
548
+ addarg=no
549
+ ;;
550
+ # Other arguments. We are careful to handle arguments with
551
+ # quotes (we try to quote all arguments in case they include
552
+ # any spaces)
553
+ *\"*)
554
+ qarg="'"$arg"'"
555
+ case $arg in
556
+ -D*)
557
+ cppflags="$cppflags $qarg"
558
+ ;;
559
+ esac
560
+ ;;
561
+ *\'*)
562
+ qarg=`echo \"$arg\"`
563
+ case $arg in
564
+ -D*)
565
+ cppflags="$cppflags $qarg"
566
+ ;;
567
+ esac
568
+ ;;
569
+ # The following are special args used to handle .F files when the
570
+ # Fortran compiler itself does not handle these options
571
+ -I*)
572
+ qarg="'$arg'"
573
+ cppflags="$cppflags $qarg"
574
+ ;;
575
+ -D*)
576
+ qarg="'$arg'"
577
+ cppflags="$cppflags $qarg"
578
+ ;;
579
+ *.F|*.F90|.fpp|.FPP)
580
+ # If FCCPP is not empty, then we need to do the following:
581
+ # If any input files have the .F or .F90 extension, then
582
+ # If FCCPP = false, then
583
+ # generate an error message and exit
584
+ # Use FCCPP to convert the file from .F to .f, using
585
+ # $TMPDIR/f$$-$count.f as the output file name
586
+ # Replace the input file with this name in the args
587
+ # This is needed only for very broken systems
588
+ #
589
+ if [ -n "$FCCPP" ] ; then
590
+ if [ "$FCCPP" = "false" ] ; then
591
+ echo "This Fortran compiler does not accept .F or .F90 files"
592
+ exit 1
593
+ fi
594
+ addarg=no
595
+ # Remove and directory names and extension
596
+ $ext=`expr "$arg" : '.*\(\..*\)'`
597
+ bfile=`basename $arg $ext`
598
+ #
599
+ TMPDIR=${TMPDIR:-/tmp}
600
+ # Make sure that we use a valid extension for the temp file.
601
+ tmpfile=$TMPDIR/f$$-$bfile.$FCEXT
602
+ if $FCCPP $cppflags $arg > $tmpfile ; then
603
+ # Add this file to the commandline list
604
+ count=`expr $count + 1`
605
+ allargs="$allargs $tmpfile"
606
+ rmfiles="$rmfiles $tmpfile"
607
+ else
608
+ echo "Aborting compilation because of failure in preprocessing step"
609
+ echo "for file $arg ."
610
+ exit 1
611
+ fi
612
+ fi
613
+ # Otherwise, just accept the argument
614
+ ;;
615
+ # - end of special handling for .F files
616
+
617
+ *)
618
+ qarg="'$arg'"
619
+ ;;
620
+
621
+ esac
622
+ if [ $addarg = yes ] ; then
623
+ allargs="$allargs $qarg"
624
+ fi
625
+ done
626
+
627
+ if [ $# -eq 0 ] ; then
628
+ echo "Error: Command line argument is needed!"
629
+ "$0" -help
630
+ exit 1
631
+ fi
632
+
633
+ if [ -n "$mpilib_override" ] ; then
634
+ case "$mpilib_override" in
635
+ opt )
636
+ MPILIBDIR=${release_lib_dir}
637
+ ;;
638
+ opt_mt )
639
+ MPILIBDIR=${release_lib_dir}
640
+ ;;
641
+ dbg )
642
+ MPILIBDIR=${debug_lib_dir}
643
+ ;;
644
+ dbg_mt )
645
+ MPILIBDIR=${debug_lib_dir}
646
+ ;;
647
+ * )
648
+ echo "Warning: incorrect library version specified. Automatically selected library will be used."
649
+ ;;
650
+ esac
651
+ fi
652
+ # -----------------------------------------------------------------------
653
+ # Choose mod file corresponded gfortran version
654
+ # Tr#2270, Tr#2453, Tr#3206, Tr#3434
655
+ gfort_ver=`$FC --version | head -n 1 | cut -d '(' -f1,2 | sed -e 's/\[.*//' | sed -e 's/.*(//' | sed -e 's/[a-zA-Z,/)]//g' | sed -e 's/^[[:space:]]*//' | sed -e 's/ .*//g' | sed -e 's/-.*//'`
656
+ if [ -n "$gfort_ver" ]; then
657
+ #gfort_ver=`echo $gfort_ver | sed -e 's/gcc version //' | awk '{print $1}'`
658
+ major=`echo $gfort_ver | awk -F. '{print $1}'`
659
+ mid=`echo $gfort_ver | awk -F. '{print $2}'`
660
+ low=`echo $gfort_ver | awk -F. '{print $3}'`
661
+ case "$major" in
662
+ 7 )
663
+ case "$mid" in
664
+ 1 )
665
+ gver="/7.1.0"
666
+ ;;
667
+ * )
668
+ gver="/7.1.0"
669
+ ;;
670
+ esac
671
+ ;;
672
+ 8 )
673
+ case "$mid" in
674
+ 2 )
675
+ gver="/8.2.0"
676
+ ;;
677
+ * )
678
+ gver="/8.2.0"
679
+ ;;
680
+ esac
681
+ ;;
682
+ 9 )
683
+ case "$mid" in
684
+ 1 )
685
+ gver="/9.1.0"
686
+ ;;
687
+ * )
688
+ gver="/9.1.0"
689
+ ;;
690
+ esac
691
+ ;;
692
+ 10 )
693
+ case "$mid" in
694
+ 2 )
695
+ gver="/10.2.0"
696
+ ;;
697
+ * )
698
+ gver="/10.2.0"
699
+ ;;
700
+ esac
701
+ ;;
702
+ 11 )
703
+ case "$mid" in
704
+ 1 )
705
+ gver="/11.1.0"
706
+ ;;
707
+ * )
708
+ gver="/11.1.0"
709
+ ;;
710
+ esac
711
+ ;;
712
+ 12 )
713
+ gver="/12.4.0"
714
+ ;;
715
+ 13 )
716
+ gver="/13.3.0"
717
+ ;;
718
+ 14 )
719
+ gver="/14.2.0"
720
+ ;;
721
+ 15 )
722
+ gver="/15.1.0"
723
+ ;;
724
+ * )
725
+ gver=""
726
+ ;;
727
+ esac
728
+ else
729
+ gver=""
730
+ fi
731
+
732
+ if [ "${FC}" = "gfortran" ]; then
733
+ # Making type mismatch treated as warning to resolve issue with gfortran 10.x
734
+ if [ "$major" -gt 9 ]; then
735
+ FCFLAGS="$FCFLAGS -fallow-argument-mismatch"
736
+ fi
737
+ fi
738
+
739
+ if [ "$ilp64" = yes ] ; then
740
+ modincdir="${modincdir}/ilp64/gfortran${gver}"
741
+ else
742
+ modincdir="${modincdir}/gfortran${gver}"
743
+ fi
744
+
745
+ if [ "$static_mpi" = yes ] ; then
746
+ mpilibs="${libdir}/libmpifort.a ${libdir}${MPILIBDIR}/lib${MPILIBNAME}.a"
747
+ I_MPI_OTHERLIBS=" -lrt -lpthread "
748
+ if [ "$ilp64" = yes ]; then
749
+ mpilibs="$libdir/libmpi_ilp64.a $mpilibs"
750
+ fi
751
+ CXX_BIND_LIB="$libdir/lib.a"
752
+ if [ "x$strip_debug_info" = "x" ] ; then
753
+ strip_debug_info=yes
754
+ fi
755
+ else
756
+ mpilibs="-lmpifort -l$MPILIBNAME"
757
+ I_MPI_OTHERLIBS=" -lrt -lpthread "
758
+ if [ "$ilp64" = yes ]; then
759
+ mpilibs="-lmpi_ilp64 $mpilibs"
760
+ fi
761
+ CXX_BIND_LIB="-l"
762
+ fi
763
+ # Derived variables. These are assembled from variables set from the
764
+ # default, environment, configuration file (if any) and command-line
765
+ # options (if any)
766
+
767
+ PROFILE_FOO=
768
+ # Handle the case of a profile switch
769
+ if [ -n "$profConf" ] ; then
770
+ profConffile=
771
+ if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then
772
+ PROFILE_FOO="-l$profConf"
773
+ mpilibs="-l$profConf $mpilibs"
774
+ elif [ -s "$sysconfdir/$profConf.conf" ] ; then
775
+ profConffile="$sysconfdir/$profConf.conf"
776
+ elif [ -s "$profConf.conf" ] ; then
777
+ profConffile="$profConf.conf"
778
+ else
779
+ echo "Profiling configuration file $profConf.conf not found in $sysconfdir"
780
+ fi
781
+ if [ -n "$profConffile" -a -s "$profConffile" ] ; then
782
+ . $profConffile
783
+ if [ -n "$PROFILE_INCPATHS" ] ; then
784
+ CFLAGS="$PROFILE_INCPATHS $CFLAGS"
785
+ fi
786
+ if [ -n "$PROFILE_PRELIB" ] ; then
787
+ mpilibs="$PROFILE_PRELIB $mpilibs"
788
+ fi
789
+ if [ -n "$PROFILE_POSTLIB" ] ; then
790
+ mpilibs="$mpilibs $PROFILE_POSTLIB"
791
+ fi
792
+ fi
793
+ fi
794
+
795
+ # Construct the line to add the include directory (not all compilers
796
+ # use -I, unfortunately)
797
+ if [ -z "${FCINC}" ] ; then
798
+ # If there is no path, add a link to the mpif.h file.
799
+ # There *must* be a way to provide the path the any modules (there
800
+ # may be too many to link)
801
+ if [ ! -r mpif.h ] ; then
802
+ #echo "Adding a symbolic link for mpif.h"
803
+ trap "$Show rm -f mpif.h" 0
804
+ # This should really be the (related) f77includedir.
805
+ $Show ln -s ${includedir}/mpif.h mpif.h
806
+ # Remember to remove this file
807
+ rmfiles="$rmfiles mpif.h"
808
+ fi
809
+ FCINCDIRS=
810
+ else
811
+ # Normally, FCINC is just -I, but some compilers have used different
812
+ # command line arguments
813
+ FCINCDIRS="${FCINC}\"${includedir}\" ${FCINC}\"${includedir}/mpi\""
814
+ fi
815
+
816
+ # Handle the specification of the directory containing the modules
817
+ if [ -n "$FCMODINCSPEC" ] ; then
818
+ newarg=`echo A"$FCMODINCSPEC" | \
819
+ sed -e 's/^A//' -e 's%<dir>%'"$includedir%g" -e 's/<file>/mpi/g'`
820
+ FCMODDIRS="$newarg"
821
+ elif [ -n "$FCMODINC" ] ; then
822
+ FCMODDIRS="${FCMODINC}\"${modincdir}\""
823
+ fi
824
+
825
+ final_fcflags=" "
826
+ final_ldflags=" -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -Xlinker --enable-new-dtags -ldl "
827
+ final_libs="-lpthread -lrt "
828
+
829
+ # A temporary statement to invoke the compiler
830
+ # Place the -L before any args incase there are any mpi libraries in there.
831
+ # Eventually, we'll want to move this after any non-MPI implementation
832
+ # libraries
833
+ if [ "$no_rpath" = "yes" ]; then
834
+ rpath_opt="-Xlinker --enable-new-dtags"
835
+ else
836
+ rpath_opt="-Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker \"${libdir}${MPILIBDIR}\" -Xlinker -rpath -Xlinker \"${libdir}\""
837
+ fi
838
+ if [ "$linking" = yes ] ; then
839
+ if [ "$nativelinking" = yes ] ; then
840
+ $Show $FC $PROFILE_INCPATHS -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -Xlinker --enable-new-dtags -ldl $allargs
841
+ rc=$?
842
+ else
843
+ $Show $FC $FCFLAGS $allargs $FCMODDIRS $FCINCDIRS -L\"${libdir}${MPILIBDIR}\" -L\"${libdir}\" $rpath_opt $mpilibs $I_MPI_OTHERLIBS ${final_ldflags}
844
+ rc=$?
845
+ if [ $rc -eq 0 -a "x$strip_debug_info" = "xyes" ] ; then
846
+ $Show objcopy --only-keep-debug ${executable} ${executable}.dbg
847
+ $Show objcopy --strip-debug ${executable}
848
+ $Show objcopy --add-gnu-debuglink=${executable}.dbg ${executable}
849
+ fi
850
+ fi
851
+ # if [ "$static_mpi" = no ] ; then
852
+ # $Show $FC $PROFILE_INCPATHS ${final_fcflags} ${final_ldflags} "${allargs[@]}" $FCINCDIRS $FCMODDIRS -L$libdir -lmpifort $PROFILE_PRELIB $PROFILE_FOO ${wrapper_dl_type_flags} -lmpi $PROFILE_POSTLIB ${final_libs}
853
+ # else
854
+ # $Show $FC $PROFILE_INCPATHS ${final_fcflags} ${final_ldflags} "${allargs[@]}" $FCINCDIRS $FCMODDIRS -L$libdir -lmpifort $PROFILE_PRELIB $PROFILE_FOO ${wrapper_dl_type_flags} $libdir/libmpi.a $PROFILE_POSTLIB ${final_libs}
855
+ # fi
856
+ # rc=$?
857
+ # if [ $rc -eq 0 -a "x$strip_debug_info" = "xyes" ] ; then
858
+ # $Show objcopy --only-keep-debug ${executable} ${executable}.dbg
859
+ # $Show objcopy --strip-debug ${executable}
860
+ # $Show objcopy --add-gnu-debuglink=${executable}.dbg ${executable}
861
+ # fi
862
+ # fi
863
+ else
864
+ cmd_line="$FC $FCFLAGS $allargs $FCMODDIRS $FCINCDIRS"
865
+ if [ "$Show" = echo ] ; then
866
+ echo $cmd_line
867
+ else
868
+ eval `echo $cmd_line`
869
+ fi
870
+ rc=$?
871
+ fi
872
+ if [ -n "$rmfiles" ] ; then
873
+ for file in $rmfiles ; do
874
+ objfile=`basename $file .f`
875
+ if [ -s "${objfile}.o" ] ; then
876
+ # Rename
877
+ destfile=`echo $objfile | sed -e "s/.*$$-//"`
878
+ mv -f ${objfile}.o ${destfile}.o
879
+ fi
880
+ rm -f $file
881
+ done
882
+ rm -f $rmfiles
883
+ fi
884
+ exit $rc