Fixed ninja binary location logic to use ninja.BIN_DIR. Previous logic no longer...
[scons.git] / SCons / Tool / DCommon.xml
blob03a7096a21b2e7080d7c5af5a02ad5ab0e521e88
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;
21         ]>
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/scons.xsd">
27 <cvar name="DC">
28 <summary>
29 <para>
30 The D compiler to use.
31 See also &cv-link-SHDC; for compiling to shared objects.
32 </para>
33 </summary>
34 </cvar>
36 <cvar name="DCOM">
37 <summary>
38 <para>
39 The command line used to compile a D file to an object file.
40 Any options specified in the &cv-link-DFLAGS; construction variable
41 is included on this command line.
42 See also &cv-link-SHDCOM; for compiling to shared objects.
43 </para>
44 </summary>
45 </cvar>
47 <cvar name="DCOMSTR">
48 <summary>
49 <para>
50 If set, the string displayed when a D source file
51 is compiled to a (static) object file.
52 If not set, then &cv-link-DCOM; (the command line) is displayed.
53 See also &cv-link-SHDCOMSTR; for compiling to shared objects.
54 </para>
55 </summary>
56 </cvar>
58 <cvar name="DDEBUG">
59 <summary>
60 <para>
61 List of debug tags to enable when compiling.
62 </para>
63 </summary>
64 </cvar>
66 <cvar name="DDEBUGPREFIX">
67 <summary>
68 <para>
69 DDEBUGPREFIX.
70 </para>
71 </summary>
72 </cvar>
74 <cvar name="DDEBUGSUFFIX">
75 <summary>
76 <para>
77 DDEBUGSUFFIX.
78 </para>
79 </summary>
80 </cvar>
82 <cvar name="DFILESUFFIX">
83 <summary>
84 <para>
85 DFILESUFFIX.
86 </para>
87 </summary>
88 </cvar>
90 <cvar name="DFLAGPREFIX">
91 <summary>
92 <para>
93 DFLAGPREFIX.
94 </para>
95 </summary>
96 </cvar>
98 <cvar name="DFLAGS">
99 <summary>
100 <para>
101 General options that are passed to the D compiler.
102 </para>
103 </summary>
104 </cvar>
106 <cvar name="DFLAGSUFFIX">
107 <summary>
108 <para>
109 DFLAGSUFFIX.
110 </para>
111 </summary>
112 </cvar>
114 <cvar name="DINCSUFFIX">
115 <summary>
116 <para>
117 DLIBFLAGSUFFIX.
118 </para>
119 </summary>
120 </cvar>
122 <cvar name="DINCPREFIX">
123 <summary>
124 <para>
125 DINCPREFIX.
126 </para>
127 </summary>
128 </cvar>
130 <cvar name="DLIB">
131 <summary>
132 <para>
133 Name of the lib tool to use for D codes.
134 </para>
135 </summary>
136 </cvar>
138 <cvar name="DLIBCOM">
139 <summary>
140 <para>
141 The command line to use when creating libraries.
142 </para>
143 </summary>
144 </cvar>
146 <cvar name="DLIBDIRPREFIX">
147 <summary>
148 <para>
149 DLIBLINKPREFIX.
150 </para>
151 </summary>
152 </cvar>
154 <cvar name="DLIBDIRSUFFIX">
155 <summary>
156 <para>
157 DLIBLINKSUFFIX.
158 </para>
159 </summary>
160 </cvar>
162 <cvar name="DLIBFLAGSUFFIX">
163 <summary>
164 <para>
165 DLIBFLAGSUFFIX.
166 </para>
167 </summary>
168 </cvar>
170 <cvar name="DLIBFLAGPREFIX">
171 <summary>
172 <para>
173 DLIBFLAGPREFIX.
174 </para>
175 </summary>
176 </cvar>
178 <cvar name="DLIBLINKPREFIX">
179 <summary>
180 <para>
181 DLIBLINKPREFIX.
182 </para>
183 </summary>
184 </cvar>
186 <cvar name="DLIBLINKSUFFIX">
187 <summary>
188 <para>
189 DLIBLINKSUFFIX.
190 </para>
191 </summary>
192 </cvar>
194 <cvar name="DLINK">
195 <summary>
196 <para>
197 Name of the linker to use for linking systems including D sources.
198 See also &cv-link-SHDLINK; for linking shared objects.
199 </para>
200 </summary>
201 </cvar>
203 <cvar name="DLINKCOM">
204 <summary>
205 <para>
206 The command line to use when linking systems including D sources.
207 See also &cv-link-SHDLINKCOM; for linking shared objects.
208 </para>
209 </summary>
210 </cvar>
212 <cvar name="DLINKFLAGS">
213 <summary>
214 <para>
215 List of linker flags.
216 See also &cv-link-SHDLINKFLAGS; for linking shared objects.
217 </para>
218 </summary>
219 </cvar>
221 <cvar name="DLINKFLAGSUFFIX">
222 <summary>
223 <para>
224 DLINKFLAGSUFFIX.
225 </para>
226 </summary>
227 </cvar>
229 <cvar name="DLINKFLAGPREFIX">
230 <summary>
231 <para>
232 DLINKFLAGPREFIX.
233 </para>
234 </summary>
235 </cvar>
237 <cvar name="DPATH">
238 <summary>
239 <para>
240   List of paths to search for import modules.
241 </para>
242 </summary>
243 </cvar>
245 <cvar name="DRPATHPREFIX">
246 <summary>
247 <para>
248 DRPATHPREFIX.
249 </para>
250 </summary>
251 </cvar>
253 <cvar name="DRPATHSUFFIX">
254 <summary>
255 <para>
256 DRPATHSUFFIX.
257 </para>
258 </summary>
259 </cvar>
261 <cvar name="DVERPREFIX">
262 <summary>
263 <para>
264 DVERPREFIX.
265 </para>
266 </summary>
267 </cvar>
269 <cvar name="DVERSIONS">
270 <summary>
271 <para>
272 List of version tags to enable when compiling.
273 </para>
274 </summary>
275 </cvar>
277 <cvar name="DVERSUFFIX">
278 <summary>
279 <para>
280 DVERSUFFIX.
281 </para>
282 </summary>
283 </cvar>
285 <cvar name="SHDC">
286 <summary>
287 <para>
288 The name of the compiler to use when compiling D source
289 destined to be in a shared object.
290 See also &cv-link-DC; for compiling to static objects.
291 </para>
292 </summary>
293 </cvar>
295 <cvar name="SHDCOM">
296 <summary>
297 <para>
298 The command line to use when compiling code to be part of shared objects.
299 See also &cv-link-DCOM; for compiling to static objects.
300 </para>
301 </summary>
302 </cvar>
304 <cvar name="SHDCOMSTR">
305 <summary>
306 <para>
307 If set, the string displayed when a D source file
308 is compiled to a (shared) object file.
309 If not set, then &cv-link-SHDCOM; (the command line) is displayed.
310 See also &cv-link-DCOMSTR; for compiling to static objects.
311 </para>
312 </summary>
313 </cvar>
316 <cvar name="SHDLIBVERSIONFLAGS">
317 <summary>
318 <para>
319 Extra flags added to &cv-link-SHDLINKCOM; when building versioned
320 &b-link-SharedLibrary;. These flags are only used when &cv-link-SHLIBVERSION; is
321 set.
322 </para>
323 </summary>
324 </cvar>
326 <cvar name="SHDLINK">
327 <summary>
328 <para>
329 The linker to use when creating shared objects for code bases
330 include D sources.
331 See also &cv-link-DLINK; for linking static objects.
332 </para>
333 </summary>
334 </cvar>
336 <cvar name="SHDLINKCOM">
337 <summary>
338 <para>
339 The command line to use when generating shared objects.
340 See also &cv-link-DLINKCOM; for linking static objects.
341 </para>
342 </summary>
343 </cvar>
345 <cvar name="SHDLINKFLAGS">
346 <summary>
347 <para>
348 The list of flags to use when generating a shared object.
349 See also &cv-link-DLINKFLAGS; for linking static objects.
350 </para>
351 </summary>
352 </cvar>
354 <cvar name="DI_FILE_SUFFIX">
355 <summary>
356 <para>
357 Suffix of d include files default is .di
358 </para>
359 </summary>
360 </cvar>
362 <cvar name="DI_FILE_DIR">
363 <summary>
364 <para>
365 Path where .di files will be generated
366 </para>
367 </summary>
368 </cvar>
370 <cvar name="DI_FILE_DIR_PREFIX">
371 <summary>
372 <para>
373 Prefix to send the di path argument to compiler
374 </para>
375 </summary>
376 </cvar>
378 <cvar name="DI_FILE_DIR_SUFFFIX">
379 <summary>
380 <para>
381 Suffix to send the di path argument to compiler
382 </para>
383 </summary>
384 </cvar>
386 <builder name="ProgramAllAtOnce">
387 <summary>
388   <para>
389     Builds an executable from D sources without first creating individual
390     objects for each file.
391   </para>
392   <para>
393     D sources can be compiled file-by-file as C and C++ source are, and
394     D is integrated into the &scons; Object and Program builders for
395     this model of build. D codes can though do whole source
396     meta-programming (some of the testing frameworks do this). For this
397     it is imperative that all sources are compiled and linked in a single
398     call to the D compiler. This builder serves that purpose.
399   </para>
400   <example_commands>
401     env.ProgramAllAtOnce('executable', ['mod_a.d, mod_b.d', 'mod_c.d'])
402   </example_commands>
403   <para>
404     This command will compile the modules mod_a, mod_b, and mod_c in a
405     single compilation process without first creating object files for
406     the modules. Some of the D compilers will create executable.o others
407     will not.
408   </para>
409 </summary>
410 </builder>
412 </sconsdoc>