3 SPDX-FileCopyrightText: Copyright The SCons Foundation (https://scons.org)
4 SPDX-License-Identifier: MIT
5 SPDX-FileType: DOCUMENTATION
7 This file is processed by the bin/SConsDoc.py module.
11 <!ENTITY % scons SYSTEM '../../doc/scons.mod'>
13 <!ENTITY % builders-mod SYSTEM '../../doc/generated/builders.mod'>
15 <!ENTITY % functions-mod SYSTEM '../../doc/generated/functions.mod'>
17 <!ENTITY % tools-mod SYSTEM '../../doc/generated/tools.mod'>
19 <!ENTITY % variables-mod SYSTEM '../../doc/generated/variables.mod'>
23 <sconsdoc xmlns="http://www.scons.org/dbxsd/v1.0"
24 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
25 xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">
30 Set construction variables for generic POSIX Fortran 08 compilers.
39 <item>SHF08FLAGS</item>
41 <item>SHF08PPCOM</item>
42 <item>_F08INCFLAGS</item>
45 <item>F08COMSTR</item>
46 <item>F08PPCOMSTR</item>
47 <item>SHF08COMSTR</item>
48 <item>SHF08PPCOMSTR</item>
49 <item>FORTRANCOMMONFLAGS</item>
56 The Fortran 08 compiler.
57 You should normally set the &cv-link-FORTRAN; variable,
58 which specifies the default Fortran compiler
59 for all Fortran versions.
60 You only need to set &cv-link-F08; if you need to use a specific compiler
61 or compiler version for Fortran 08 files.
69 The command line used to compile a Fortran 08 source file to an object file.
70 You only need to set &cv-link-F08COM; if you need to use a specific
71 command line for Fortran 08 files.
72 You should normally set the &cv-link-FORTRANCOM; variable,
73 which specifies the default command line
74 for all Fortran versions.
79 <cvar name="F08COMSTR">
82 If set, the string displayed when a Fortran 08 source file
83 is compiled to an object file.
84 If not set, then &cv-link-F08COM; or &cv-link-FORTRANCOM;
85 (the command line) is displayed.
90 <cvar name="F08FILESUFFIXES">
93 The list of file extensions for which the F08 dialect will be used. By
94 default, this is <literal>['.f08']</literal>
99 <cvar name="F08PPFILESUFFIXES">
102 The list of file extensions for which the compilation + preprocessor pass for
103 F08 dialect will be used. By default, this is empty.
108 <cvar name="F08FLAGS">
111 General user-specified options that are passed to the Fortran 08 compiler.
112 Note that this variable does
113 <emphasis>not</emphasis>
116 (or similar) include search path options
117 that scons generates automatically from &cv-link-F08PATH;.
119 &cv-link-_F08INCFLAGS;
121 for the variable that expands to those options.
122 You only need to set &cv-link-F08FLAGS; if you need to define specific
123 user options for Fortran 08 files.
124 You should normally set the &cv-link-FORTRANFLAGS; variable,
125 which specifies the user-specified options
126 passed to the default Fortran compiler
127 for all Fortran versions.
132 <cvar name="_F08INCFLAGS">
135 An automatically-generated construction variable
136 containing the Fortran 08 compiler command-line options
137 for specifying directories to be searched for include files.
138 The value of &cv-link-_F08INCFLAGS; is created
139 by appending &cv-link-INCPREFIX; and &cv-link-INCSUFFIX;
140 to the beginning and end
141 of each directory in &cv-link-F08PATH;.
146 <cvar name="F08PATH">
149 The list of directories that the Fortran 08 compiler will search for include
150 directories. The implicit dependency scanner will search these
151 directories for include files. Don't explicitly put include directory
152 arguments in &cv-link-F08FLAGS; because the result will be non-portable
153 and the directories will not be searched by the dependency scanner. Note:
154 directory names in &cv-link-F08PATH; will be looked-up relative to the SConscript
155 directory when they are used in a command. To force
157 to lookup a directory relative to the root of the source tree, use #:
158 You only need to set &cv-link-F08PATH; if you need to define a specific
159 include path for Fortran 08 files.
160 You should normally set the &cv-link-FORTRANPATH; variable,
161 which specifies the include path
162 for the default Fortran compiler
163 for all Fortran versions.
167 env = Environment(F08PATH='#/include')
171 The directory lookup can also be forced using the
177 include = Dir('include')
178 env = Environment(F08PATH=include)
182 The directory list will be added to command lines
183 through the automatically-generated
184 &cv-link-_F08INCFLAGS;
185 construction variable,
186 which is constructed by
187 appending the values of the
188 &cv-link-INCPREFIX; and &cv-link-INCSUFFIX;
189 construction variables
190 to the beginning and end
191 of each directory in &cv-link-F08PATH;.
192 Any command lines you define that need
193 the F08PATH directory list should
194 include &cv-link-_F08INCFLAGS;:
198 env = Environment(F08COM="my_compiler $_F08INCFLAGS -c -o $TARGET $SOURCE")
203 <cvar name="F08PPCOM">
206 The command line used to compile a Fortran 08 source file to an object file
207 after first running the file through the C preprocessor.
208 Any options specified in the &cv-link-F08FLAGS; and &cv-link-CPPFLAGS; construction variables
209 are included on this command line.
210 You only need to set &cv-link-F08PPCOM; if you need to use a specific
211 C-preprocessor command line for Fortran 08 files.
212 You should normally set the &cv-link-FORTRANPPCOM; variable,
213 which specifies the default C-preprocessor command line
214 for all Fortran versions.
219 <cvar name="F08PPCOMSTR">
222 If set, the string displayed when a Fortran 08 source file
223 is compiled to an object file
224 after first running the file through the C preprocessor.
225 If not set, then &cv-link-F08PPCOM; or &cv-link-FORTRANPPCOM;
226 (the command line) is displayed.
234 The Fortran 08 compiler used for generating shared-library objects.
235 You should normally set the &cv-link-SHFORTRAN; variable,
236 which specifies the default Fortran compiler
237 for all Fortran versions.
238 You only need to set &cv-link-SHF08; if you need to use a specific compiler
239 or compiler version for Fortran 08 files.
244 <cvar name="SHF08COM">
247 The command line used to compile a Fortran 08 source file
248 to a shared-library object file.
249 You only need to set &cv-link-SHF08COM; if you need to use a specific
250 command line for Fortran 08 files.
251 You should normally set the &cv-link-SHFORTRANCOM; variable,
252 which specifies the default command line
253 for all Fortran versions.
258 <cvar name="SHF08COMSTR">
261 If set, the string displayed when a Fortran 08 source file
262 is compiled to a shared-library object file.
263 If not set, then &cv-link-SHF08COM; or &cv-link-SHFORTRANCOM;
264 (the command line) is displayed.
269 <cvar name="SHF08FLAGS">
272 Options that are passed to the Fortran 08 compiler
273 to generated shared-library objects.
274 You only need to set &cv-link-SHF08FLAGS; if you need to define specific
275 user options for Fortran 08 files.
276 You should normally set the &cv-link-FORTRANCOMMONFLAGS; variable,
277 which specifies the user-specified options
278 passed to the default Fortran compiler
279 for all Fortran versions.
284 <cvar name="SHF08PPCOM">
287 The command line used to compile a Fortran 08 source file to a
288 shared-library object file
289 after first running the file through the C preprocessor.
290 Any options specified in the &cv-link-SHF08FLAGS; and &cv-link-CPPFLAGS; construction variables
291 are included on this command line.
292 You only need to set &cv-link-SHF08PPCOM; if you need to use a specific
293 C-preprocessor command line for Fortran 08 files.
294 You should normally set the &cv-link-SHFORTRANPPCOM; variable,
295 which specifies the default C-preprocessor command line
296 for all Fortran versions.
301 <cvar name="SHF08PPCOMSTR">
304 If set, the string displayed when a Fortran 08 source file
305 is compiled to a shared-library object file
306 after first running the file through the C preprocessor.
307 If not set, then &cv-link-SHF08PPCOM; or &cv-link-SHFORTRANPPCOM;
308 (the command line) is displayed.