renamed SCons.Tool.ninja -> SCons.Tool.ninja_tool and added alias in tool loading...
[scons.git] / SCons / Tool / f77.xml
blobe6992986f553303ec7d5fb43b0e31737c1f118a0
1 <?xml version="1.0"?>
2 <!--
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.
8 -->
10 <!DOCTYPE sconsdoc [
11 <!ENTITY % scons SYSTEM '../../doc/scons.mod'>
12 %scons;
13 <!ENTITY % builders-mod SYSTEM '../../doc/generated/builders.mod'>
14 %builders-mod;
15 <!ENTITY % functions-mod SYSTEM '../../doc/generated/functions.mod'>
16 %functions-mod;
17 <!ENTITY % tools-mod SYSTEM '../../doc/generated/tools.mod'>
18 %tools-mod;
19 <!ENTITY % variables-mod SYSTEM '../../doc/generated/variables.mod'>
20 %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">
27 <tool name="f77">
28 <summary>
29 <para>
30 Set construction variables for generic POSIX Fortran 77 compilers.
31 </para>
32 </summary>
33 <sets>
34 <item>F77</item>
35 <item>F77FLAGS</item>
36 <item>F77COM</item>
37 <item>F77PPCOM</item>
38 <item>F77FILESUFFIXES</item>
39 <item>F77PPFILESUFFIXES</item>
40 <item>FORTRAN</item>
41 <item>FORTRANFLAGS</item>
42 <item>FORTRANCOM</item>
43 <item>SHF77</item>
44 <item>SHF77FLAGS</item>
45 <item>SHF77COM</item>
46 <item>SHF77PPCOM</item>
47 <item>SHFORTRAN</item>
48 <item>SHFORTRANFLAGS</item>
49 <item>SHFORTRANCOM</item>
50 <item>SHFORTRANPPCOM</item>
51 <item>_F77INCFLAGS</item>
52 </sets>
53 <uses>
54 <item>F77COMSTR</item>
55 <item>F77PPCOMSTR</item>
56 <item>FORTRANCOMSTR</item>
57 <item>FORTRANPPCOMSTR</item>
58 <item>SHF77COMSTR</item>
59 <item>SHF77PPCOMSTR</item>
60 <item>SHFORTRANCOMSTR</item>
61 <item>SHFORTRANPPCOMSTR</item>
62 <item>FORTRANFLAGS</item>
63 <item>FORTRANCOMMONFLAGS</item>
64 <item>SHFORTRANFLAGS</item>
65 </uses>
66 </tool>
68 <cvar name="F77">
69 <summary>
70 <para>
71 The Fortran 77 compiler.
72 You should normally set the &cv-link-FORTRAN; variable,
73 which specifies the default Fortran compiler
74 for all Fortran versions.
75 You only need to set &cv-link-F77; if you need to use a specific compiler
76 or compiler version for Fortran 77 files.
77 </para>
78 </summary>
79 </cvar>
81 <cvar name="F77COM">
82 <summary>
83 <para>
84 The command line used to compile a Fortran 77 source file to an object file.
85 You only need to set &cv-link-F77COM; if you need to use a specific
86 command line for Fortran 77 files.
87 You should normally set the &cv-link-FORTRANCOM; variable,
88 which specifies the default command line
89 for all Fortran versions.
90 </para>
91 </summary>
92 </cvar>
94 <cvar name="F77FILESUFFIXES">
95 <summary>
96 <para>
97 The list of file extensions for which the F77 dialect will be used. By
98 default, this is <literal>['.f77']</literal>
99 </para>
100 </summary>
101 </cvar>
103 <cvar name="F77PPFILESUFFIXES">
104 <summary>
105 <para>
106 The list of file extensions for which the compilation + preprocessor pass for
107 F77 dialect will be used. By default, this is empty.
108 </para>
109 </summary>
110 </cvar>
112 <cvar name="F77COMSTR">
113 <summary>
114 <para>
115 If set, the string displayed when a Fortran 77 source file
116 is compiled to an object file.
117 If not set, then &cv-link-F77COM; or &cv-link-FORTRANCOM;
118 (the command line) is displayed.
119 </para>
120 </summary>
121 </cvar>
123 <cvar name="F77FLAGS">
124 <summary>
125 <para>
126 General user-specified options that are passed to the Fortran 77 compiler.
127 Note that this variable does
128 <emphasis>not</emphasis>
129 contain
130 <option>-I</option>
131 (or similar) include search path options
132 that scons generates automatically from &cv-link-F77PATH;.
134 &cv-link-_F77INCFLAGS;
135 below,
136 for the variable that expands to those options.
137 You only need to set &cv-link-F77FLAGS; if you need to define specific
138 user options for Fortran 77 files.
139 You should normally set the &cv-link-FORTRANFLAGS; variable,
140 which specifies the user-specified options
141 passed to the default Fortran compiler
142 for all Fortran versions.
143 </para>
144 </summary>
145 </cvar>
147 <cvar name="_F77INCFLAGS">
148 <summary>
149 <para>
150 An automatically-generated construction variable
151 containing the Fortran 77 compiler command-line options
152 for specifying directories to be searched for include files.
153 The value of &cv-link-_F77INCFLAGS; is created
154 by appending &cv-link-INCPREFIX; and &cv-link-INCSUFFIX;
155 to the beginning and end
156 of each directory in &cv-link-F77PATH;.
157 </para>
158 </summary>
159 </cvar>
161 <cvar name="F77PATH">
162 <summary>
163 <para>
164 The list of directories that the Fortran 77 compiler will search for include
165 directories. The implicit dependency scanner will search these
166 directories for include files. Don't explicitly put include directory
167 arguments in &cv-link-F77FLAGS; because the result will be non-portable
168 and the directories will not be searched by the dependency scanner. Note:
169 directory names in &cv-link-F77PATH; will be looked-up relative to the SConscript
170 directory when they are used in a command. To force
171 &scons;
172 to lookup a directory relative to the root of the source tree, use #:
173 You only need to set &cv-link-F77PATH; if you need to define a specific
174 include path for Fortran 77 files.
175 You should normally set the &cv-link-FORTRANPATH; variable,
176 which specifies the include path
177 for the default Fortran compiler
178 for all Fortran versions.
179 </para>
181 <example_commands>
182 env = Environment(F77PATH='#/include')
183 </example_commands>
185 <para>
186 The directory lookup can also be forced using the
187 &Dir;()
188 function:
189 </para>
191 <example_commands>
192 include = Dir('include')
193 env = Environment(F77PATH=include)
194 </example_commands>
196 <para>
197 The directory list will be added to command lines
198 through the automatically-generated
199 &cv-link-_F77INCFLAGS;
200 construction variable,
201 which is constructed by
202 appending the values of the
203 &cv-link-INCPREFIX; and &cv-link-INCSUFFIX;
204 construction variables
205 to the beginning and end
206 of each directory in &cv-link-F77PATH;.
207 Any command lines you define that need
208 the F77PATH directory list should
209 include &cv-link-_F77INCFLAGS;:
210 </para>
212 <example_commands>
213 env = Environment(F77COM="my_compiler $_F77INCFLAGS -c -o $TARGET $SOURCE")
214 </example_commands>
215 </summary>
216 </cvar>
218 <cvar name="F77PPCOM">
219 <summary>
220 <para>
221 The command line used to compile a Fortran 77 source file to an object file
222 after first running the file through the C preprocessor.
223 Any options specified in the &cv-link-F77FLAGS; and &cv-link-CPPFLAGS; construction variables
224 are included on this command line.
225 You only need to set &cv-link-F77PPCOM; if you need to use a specific
226 C-preprocessor command line for Fortran 77 files.
227 You should normally set the &cv-link-FORTRANPPCOM; variable,
228 which specifies the default C-preprocessor command line
229 for all Fortran versions.
230 </para>
231 </summary>
232 </cvar>
234 <cvar name="F77PPCOMSTR">
235 <summary>
236 <para>
237 If set, the string displayed when a Fortran 77 source file
238 is compiled to an object file
239 after first running the file through the C preprocessor.
240 If not set, then &cv-link-F77PPCOM; or &cv-link-FORTRANPPCOM;
241 (the command line) is displayed.
242 </para>
243 </summary>
244 </cvar>
246 <cvar name="SHF77">
247 <summary>
248 <para>
249 The Fortran 77 compiler used for generating shared-library objects.
250 You should normally set the &cv-link-SHFORTRAN; variable,
251 which specifies the default Fortran compiler
252 for all Fortran versions.
253 You only need to set &cv-link-SHF77; if you need to use a specific compiler
254 or compiler version for Fortran 77 files.
255 </para>
256 </summary>
257 </cvar>
259 <cvar name="SHF77COM">
260 <summary>
261 <para>
262 The command line used to compile a Fortran 77 source file
263 to a shared-library object file.
264 You only need to set &cv-link-SHF77COM; if you need to use a specific
265 command line for Fortran 77 files.
266 You should normally set the &cv-link-SHFORTRANCOM; variable,
267 which specifies the default command line
268 for all Fortran versions.
269 </para>
270 </summary>
271 </cvar>
273 <cvar name="SHF77COMSTR">
274 <summary>
275 <para>
276 If set, the string displayed when a Fortran 77 source file
277 is compiled to a shared-library object file.
278 If not set, then &cv-link-SHF77COM; or &cv-link-SHFORTRANCOM;
279 (the command line) is displayed.
280 </para>
281 </summary>
282 </cvar>
284 <cvar name="SHF77FLAGS">
285 <summary>
286 <para>
287 Options that are passed to the Fortran 77 compiler
288 to generated shared-library objects.
289 You only need to set &cv-link-SHF77FLAGS; if you need to define specific
290 user options for Fortran 77 files.
291 You should normally set the &cv-link-FORTRANCOMMONFLAGS; variable,
292 which specifies the user-specified options
293 passed to the default Fortran compiler
294 for all Fortran versions.
295 </para>
296 </summary>
297 </cvar>
299 <cvar name="SHF77PPCOM">
300 <summary>
301 <para>
302 The command line used to compile a Fortran 77 source file to a
303 shared-library object file
304 after first running the file through the C preprocessor.
305 Any options specified in the &cv-link-SHF77FLAGS; and &cv-link-CPPFLAGS; construction variables
306 are included on this command line.
307 You only need to set &cv-link-SHF77PPCOM; if you need to use a specific
308 C-preprocessor command line for Fortran 77 files.
309 You should normally set the &cv-link-SHFORTRANPPCOM; variable,
310 which specifies the default C-preprocessor command line
311 for all Fortran versions.
312 </para>
313 </summary>
314 </cvar>
316 <cvar name="SHF77PPCOMSTR">
317 <summary>
318 <para>
319 If set, the string displayed when a Fortran 77 source file
320 is compiled to a shared-library object file
321 after first running the file through the C preprocessor.
322 If not set, then &cv-link-SHF77PPCOM; or &cv-link-SHFORTRANPPCOM;
323 (the command line) is displayed.
324 </para>
325 </summary>
326 </cvar>
328 </sconsdoc>