changed new vars to be DI_FILE_* instead of DINTF*. Updated docs, changes, release
[scons.git] / SCons / Tool / DCommon.xml
blob80b0b15375b0329c5816d55b9511e865c9e2a55d
1 <?xml version="1.0"?>
2 <!--
3 SPDX-License-Identifier: MIT
5 Copyright The SCons Foundation
6 -->
8 <!DOCTYPE sconsdoc [
9         <!ENTITY % scons SYSTEM '../../doc/scons.mod'>
10         %scons;
11         <!ENTITY % builders-mod SYSTEM '../../doc/generated/builders.mod'>
12         %builders-mod;
13         <!ENTITY % functions-mod SYSTEM '../../doc/generated/functions.mod'>
14         %functions-mod;
15         <!ENTITY % tools-mod SYSTEM '../../doc/generated/tools.mod'>
16         %tools-mod;
17         <!ENTITY % variables-mod SYSTEM '../../doc/generated/variables.mod'>
18         %variables-mod;
19         ]>
21 <sconsdoc xmlns="http://www.scons.org/dbxsd/v1.0"
22           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23           xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0/scons.xsd">
25 <cvar name="DC">
26 <summary>
27 <para>
28 The D compiler to use.
29 See also &cv-link-SHDC; for compiling to shared objects.
30 </para>
31 </summary>
32 </cvar>
34 <cvar name="DCOM">
35 <summary>
36 <para>
37 The command line used to compile a D file to an object file.
38 Any options specified in the &cv-link-DFLAGS; construction variable
39 is included on this command line.
40 See also &cv-link-SHDCOM; for compiling to shared objects.
41 </para>
42 </summary>
43 </cvar>
45 <cvar name="DCOMSTR">
46 <summary>
47 <para>
48 If set, the string displayed when a D source file
49 is compiled to a (static) object file.
50 If not set, then &cv-link-DCOM; (the command line) is displayed.
51 See also &cv-link-SHDCOMSTR; for compiling to shared objects.
52 </para>
53 </summary>
54 </cvar>
56 <cvar name="DDEBUG">
57 <summary>
58 <para>
59 List of debug tags to enable when compiling.
60 </para>
61 </summary>
62 </cvar>
64 <cvar name="DDEBUGPREFIX">
65 <summary>
66 <para>
67 DDEBUGPREFIX.
68 </para>
69 </summary>
70 </cvar>
72 <cvar name="DDEBUGSUFFIX">
73 <summary>
74 <para>
75 DDEBUGSUFFIX.
76 </para>
77 </summary>
78 </cvar>
80 <cvar name="DFILESUFFIX">
81 <summary>
82 <para>
83 DFILESUFFIX.
84 </para>
85 </summary>
86 </cvar>
88 <cvar name="DFLAGPREFIX">
89 <summary>
90 <para>
91 DFLAGPREFIX.
92 </para>
93 </summary>
94 </cvar>
96 <cvar name="DFLAGS">
97 <summary>
98 <para>
99 General options that are passed to the D compiler.
100 </para>
101 </summary>
102 </cvar>
104 <cvar name="DFLAGSUFFIX">
105 <summary>
106 <para>
107 DFLAGSUFFIX.
108 </para>
109 </summary>
110 </cvar>
112 <cvar name="DINCSUFFIX">
113 <summary>
114 <para>
115 DLIBFLAGSUFFIX.
116 </para>
117 </summary>
118 </cvar>
120 <cvar name="DINCPREFIX">
121 <summary>
122 <para>
123 DINCPREFIX.
124 </para>
125 </summary>
126 </cvar>
128 <cvar name="DLIB">
129 <summary>
130 <para>
131 Name of the lib tool to use for D codes.
132 </para>
133 </summary>
134 </cvar>
136 <cvar name="DLIBCOM">
137 <summary>
138 <para>
139 The command line to use when creating libraries.
140 </para>
141 </summary>
142 </cvar>
144 <cvar name="DLIBDIRPREFIX">
145 <summary>
146 <para>
147 DLIBLINKPREFIX.
148 </para>
149 </summary>
150 </cvar>
152 <cvar name="DLIBDIRSUFFIX">
153 <summary>
154 <para>
155 DLIBLINKSUFFIX.
156 </para>
157 </summary>
158 </cvar>
160 <cvar name="DLIBFLAGSUFFIX">
161 <summary>
162 <para>
163 DLIBFLAGSUFFIX.
164 </para>
165 </summary>
166 </cvar>
168 <cvar name="DLIBFLAGPREFIX">
169 <summary>
170 <para>
171 DLIBFLAGPREFIX.
172 </para>
173 </summary>
174 </cvar>
176 <cvar name="DLIBLINKPREFIX">
177 <summary>
178 <para>
179 DLIBLINKPREFIX.
180 </para>
181 </summary>
182 </cvar>
184 <cvar name="DLIBLINKSUFFIX">
185 <summary>
186 <para>
187 DLIBLINKSUFFIX.
188 </para>
189 </summary>
190 </cvar>
192 <cvar name="DLINK">
193 <summary>
194 <para>
195 Name of the linker to use for linking systems including D sources.
196 See also &cv-link-SHDLINK; for linking shared objects.
197 </para>
198 </summary>
199 </cvar>
201 <cvar name="DLINKCOM">
202 <summary>
203 <para>
204 The command line to use when linking systems including D sources.
205 See also &cv-link-SHDLINKCOM; for linking shared objects.
206 </para>
207 </summary>
208 </cvar>
210 <cvar name="DLINKFLAGS">
211 <summary>
212 <para>
213 List of linker flags.
214 See also &cv-link-SHDLINKFLAGS; for linking shared objects.
215 </para>
216 </summary>
217 </cvar>
219 <cvar name="DLINKFLAGSUFFIX">
220 <summary>
221 <para>
222 DLINKFLAGSUFFIX.
223 </para>
224 </summary>
225 </cvar>
227 <cvar name="DLINKFLAGPREFIX">
228 <summary>
229 <para>
230 DLINKFLAGPREFIX.
231 </para>
232 </summary>
233 </cvar>
235 <cvar name="DPATH">
236 <summary>
237 <para>
238   List of paths to search for import modules.
239 </para>
240 </summary>
241 </cvar>
243 <cvar name="DRPATHPREFIX">
244 <summary>
245 <para>
246 DRPATHPREFIX.
247 </para>
248 </summary>
249 </cvar>
251 <cvar name="DRPATHSUFFIX">
252 <summary>
253 <para>
254 DRPATHSUFFIX.
255 </para>
256 </summary>
257 </cvar>
259 <cvar name="DVERPREFIX">
260 <summary>
261 <para>
262 DVERPREFIX.
263 </para>
264 </summary>
265 </cvar>
267 <cvar name="DVERSIONS">
268 <summary>
269 <para>
270 List of version tags to enable when compiling.
271 </para>
272 </summary>
273 </cvar>
275 <cvar name="DVERSUFFIX">
276 <summary>
277 <para>
278 DVERSUFFIX.
279 </para>
280 </summary>
281 </cvar>
283 <cvar name="SHDC">
284 <summary>
285 <para>
286 The name of the compiler to use when compiling D source
287 destined to be in a shared objects.
288 See also &cv-link-DC; for compiling to static objects.
289 </para>
290 </summary>
291 </cvar>
293 <cvar name="SHDCOM">
294 <summary>
295 <para>
296 The command line to use when compiling code to be part of shared objects.
297 See also &cv-link-DCOM; for compiling to static objects.
298 </para>
299 </summary>
300 </cvar>
302 <cvar name="SHDCOMSTR">
303 <summary>
304 <para>
305 If set, the string displayed when a D source file
306 is compiled to a (shared) object file.
307 If not set, then &cv-link-SHDCOM; (the command line) is displayed.
308 See also &cv-link-DCOMSTR; for compiling to static objects.
309 </para>
310 </summary>
311 </cvar>
314 <cvar name="SHDLIBVERSIONFLAGS">
315 <summary>
316 <para>
317 Extra flags added to &cv-link-SHDLINKCOM; when building versioned
318 &b-link-SharedLibrary;. These flags are only used when &cv-link-SHLIBVERSION; is
319 set.
320 </para>
321 </summary>
322 </cvar>
324 <cvar name="SHDLINK">
325 <summary>
326 <para>
327 The linker to use when creating shared objects for code bases
328 include D sources.
329 See also &cv-link-DLINK; for linking static objects.
330 </para>
331 </summary>
332 </cvar>
334 <cvar name="SHDLINKCOM">
335 <summary>
336 <para>
337 The command line to use when generating shared objects.
338 See also &cv-link-DLINKCOM; for linking static objects.
339 </para>
340 </summary>
341 </cvar>
343 <cvar name="SHDLINKFLAGS">
344 <summary>
345 <para>
346 The list of flags to use when generating a shared object.
347 See also &cv-link-DLINKFLAGS; for linking static objects.
348 </para>
349 </summary>
350 </cvar>
352 <cvar name="DI_FILE_SUFFIX">
353 <summary>
354 <para>
355 Suffix of d include files default is .di
356 </para>
357 </summary>
358 </cvar>
360 <cvar name="DI_FILE_DIR">
361 <summary>
362 <para>
363 Path where .di files will be generated
364 </para>
365 </summary>
366 </cvar>
368 <cvar name="DI_FILE_DIR_PREFIX">
369 <summary>
370 <para>
371 Prefix to send the di path argument to compiler
372 </para>
373 </summary>
374 </cvar>
376 <cvar name="DI_FILE_DIR_SUFFFIX">
377 <summary>
378 <para>
379 Suffix to send the di path argument to compiler
380 </para>
381 </summary>
382 </cvar>
384 <builder name="ProgramAllAtOnce">
385 <summary>
386   <para>
387     Builds an executable from D sources without first creating individual
388     objects for each file.
389   </para>
390   <para>
391     D sources can be compiled file-by-file as C and C++ source are, and
392     D is integrated into the &scons; Object and Program builders for
393     this model of build. D codes can though do whole source
394     meta-programming (some of the testing frameworks do this). For this
395     it is imperative that all sources are compiled and linked in a single
396     call to the D compiler. This builder serves that purpose.
397   </para>
398   <example_commands>
399     env.ProgramAllAtOnce('executable', ['mod_a.d, mod_b.d', 'mod_c.d'])
400   </example_commands>
401   <para>
402     This command will compile the modules mod_a, mod_b, and mod_c in a
403     single compilation process without first creating object files for
404     the modules. Some of the D compilers will create executable.o others
405     will not.
406   </para>
407 </summary>
408 </builder>
410 </sconsdoc>