5 This file is processed by the bin/SConsDoc.py module.
6 See its __doc__ string for a discussion of the format.
10 <!ENTITY % scons SYSTEM '../../doc/scons.mod'>
12 <!ENTITY % builders-mod SYSTEM '../../doc/generated/builders.mod'>
14 <!ENTITY % functions-mod SYSTEM '../../doc/generated/functions.mod'>
16 <!ENTITY % tools-mod SYSTEM '../../doc/generated/tools.mod'>
18 <!ENTITY % variables-mod SYSTEM '../../doc/generated/variables.mod'>
22 <sconsdoc xmlns="http://www.scons.org/dbxsd/v1.0"
23 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
24 xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0/scons.xsd">
29 The D compiler to use.
30 See also &cv-link-SHDC; for compiling to shared objects.
38 The command line used to compile a D file to an object file.
39 Any options specified in the &cv-link-DFLAGS; construction variable
40 is included on this command line.
41 See also &cv-link-SHDCOM; for compiling to shared objects.
49 If set, the string displayed when a D source file
50 is compiled to a (static) object file.
51 If not set, then &cv-link-DCOM; (the command line) is displayed.
52 See also &cv-link-SHDCOMSTR; for compiling to shared objects.
60 List of debug tags to enable when compiling.
65 <cvar name="DDEBUGPREFIX">
73 <cvar name="DDEBUGSUFFIX">
81 <cvar name="DFILESUFFIX">
89 <cvar name="DFLAGPREFIX">
100 General options that are passed to the D compiler.
105 <cvar name="DFLAGSUFFIX">
113 <cvar name="DINCSUFFIX">
121 <cvar name="DINCPREFIX">
132 Name of the lib tool to use for D codes.
137 <cvar name="DLIBCOM">
140 The command line to use when creating libraries.
145 <cvar name="DLIBDIRPREFIX">
153 <cvar name="DLIBDIRSUFFIX">
161 <cvar name="DLIBFLAGSUFFIX">
169 <cvar name="DLIBFLAGPREFIX">
177 <cvar name="DLIBLINKPREFIX">
185 <cvar name="DLIBLINKSUFFIX">
196 Name of the linker to use for linking systems including D sources.
197 See also &cv-link-SHDLINK; for linking shared objects.
202 <cvar name="DLINKCOM">
205 The command line to use when linking systems including D sources.
206 See also &cv-link-SHDLINKCOM; for linking shared objects.
211 <cvar name="DLINKFLAGS">
214 List of linker flags.
215 See also &cv-link-SHDLINKFLAGS; for linking shared objects.
220 <cvar name="DLINKFLAGSUFFIX">
228 <cvar name="DLINKFLAGPREFIX">
239 List of paths to search for import modules.
244 <cvar name="DRPATHPREFIX">
252 <cvar name="DRPATHSUFFIX">
260 <cvar name="DVERPREFIX">
268 <cvar name="DVERSIONS">
271 List of version tags to enable when compiling.
276 <cvar name="DVERSUFFIX">
287 The name of the compiler to use when compiling D source
288 destined to be in a shared objects.
289 See also &cv-link-DC; for compiling to static objects.
297 The command line to use when compiling code to be part of shared objects.
298 See also &cv-link-DCOM; for compiling to static objects.
303 <cvar name="SHDCOMSTR">
306 If set, the string displayed when a D source file
307 is compiled to a (shared) object file.
308 If not set, then &cv-link-SHDCOM; (the command line) is displayed.
309 See also &cv-link-DCOMSTR; for compiling to static objects.
315 <cvar name="SHDLIBVERSIONFLAGS">
318 Extra flags added to &cv-link-SHDLINKCOM; when building versioned
319 &b-link-SharedLibrary;. These flags are only used when &cv-link-SHLIBVERSION; is
325 <cvar name="SHDLINK">
328 The linker to use when creating shared objects for code bases
330 See also &cv-link-DLINK; for linking static objects.
335 <cvar name="SHDLINKCOM">
338 The command line to use when generating shared objects.
339 See also &cv-link-DLINKCOM; for linking static objects.
344 <cvar name="SHDLINKFLAGS">
347 The list of flags to use when generating a shared object.
348 See also &cv-link-DLINKFLAGS; for linking static objects.
354 <builder name="ProgramAllAtOnce">
357 Builds an executable from D sources without first creating individual
358 objects for each file.
361 D sources can be compiled file-by-file as C and C++ source are, and
362 D is integrated into the &scons; Object and Program builders for
363 this model of build. D codes can though do whole source
364 meta-programming (some of the testing frameworks do this). For this
365 it is imperative that all sources are compiled and linked in a single
366 call to the D compiler. This builder serves that purpose.
369 env.ProgramAllAtOnce('executable', ['mod_a.d, mod_b.d', 'mod_c.d'])
372 This command will compile the modules mod_a, mod_b, and mod_c in a
373 single compilation process without first creating object files for
374 the modules. Some of the D compilers will create executable.o others