Mercurial > projects > ddmd
annotate dmd/Param.d @ 130:60bb0fe4563e
dmdfe 2.037 first main iteration
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Thu, 09 Sep 2010 22:51:44 +0100 |
parents | 010eb8f0e18d |
children | e3afd1303184 |
rev | line source |
---|---|
0 | 1 module dmd.Param; |
2 | |
114 | 3 import dmd.common; |
0 | 4 import dmd.Array; |
5 import dmd.OutBuffer; | |
6 | |
7 // Put command line switches in here | |
8 struct Param | |
9 { | |
10 bool obj; // write object file | |
11 bool link; // perform link | |
12 bool lib; // write library file instead of object file(s) | |
13 bool multiobj; // break one object file into multiple ones | |
14 bool oneobj; // write one object file instead of multiple ones | |
15 bool trace; // insert profiling hooks | |
16 bool quiet; // suppress non-error messages | |
17 bool verbose; // verbose compile | |
18 bool vtls; // identify thread local variables | |
19 byte symdebug; // insert debug symbolic information | |
20 bool optimize; // run optimizer | |
21 bool cpu; // target CPU | |
22 bool isX86_64; // generate X86_64 bit code | |
23 bool isLinux; // generate code for linux | |
24 bool isOSX; // generate code for Mac OSX | |
25 bool isWindows; // generate code for Windows | |
26 bool isFreeBSD; // generate code for FreeBSD | |
27 bool isSolaris; // generate code for Solaris | |
28 bool scheduler; // which scheduler to use | |
29 bool useDeprecated; // allow use of deprecated features | |
30 bool useAssert; // generate runtime code for assert()'s | |
31 bool useInvariants; // generate class invariant checks | |
32 bool useIn; // generate precondition checks | |
33 bool useOut; // generate postcondition checks | |
130
60bb0fe4563e
dmdfe 2.037 first main iteration
Eldar Insafutdinov <e.insafutdinov@gmail.com>
parents:
129
diff
changeset
|
34 byte useArrayBounds; // 0: no array bounds checks |
60bb0fe4563e
dmdfe 2.037 first main iteration
Eldar Insafutdinov <e.insafutdinov@gmail.com>
parents:
129
diff
changeset
|
35 // 1: array bounds checks for safe functions only |
60bb0fe4563e
dmdfe 2.037 first main iteration
Eldar Insafutdinov <e.insafutdinov@gmail.com>
parents:
129
diff
changeset
|
36 // 2: array bounds checks for all functions |
60bb0fe4563e
dmdfe 2.037 first main iteration
Eldar Insafutdinov <e.insafutdinov@gmail.com>
parents:
129
diff
changeset
|
37 bool noboundscheck; // no array bounds checking at all |
0 | 38 bool useSwitchError; // check for switches without a default |
39 bool useUnitTests; // generate unittest code | |
40 bool useInline; // inline expand functions | |
41 bool release; // build release version | |
42 bool preservePaths; // !=0 means don't strip path from source file | |
43 bool warnings; // enable warnings | |
44 bool pic; // generate position-independent-code for shared libs | |
45 bool cov; // generate code coverage data | |
46 bool nofloat; // code should not pull in floating point support | |
47 byte Dversion; // D version number | |
48 bool ignoreUnsupportedPragmas; // rather than error on them | |
49 | |
50 string argv0; // program name | |
51 Array imppath; // array of char*'s of where to look for import modules | |
52 Array fileImppath; // array of char*'s of where to look for file import modules | |
53 string objdir; // .obj/.lib file output directory | |
54 string objname; // .obj file output name | |
55 string libname; // .lib file output name | |
56 | |
57 bool doDocComments; // process embedded documentation comments | |
58 string docdir; // write documentation file to docdir directory | |
59 string docname; // write documentation file to docname | |
60 Array ddocfiles; // macro include files for Ddoc | |
61 | |
62 bool doHdrGeneration; // process embedded documentation comments | |
63 string hdrdir; // write 'header' file to docdir directory | |
64 string hdrname; // write 'header' file to docname | |
65 | |
79 | 66 bool doXGeneration; // write JSON file |
67 string xfilename; // write JSON file to xfilename | |
68 | |
0 | 69 uint debuglevel; // debug level |
129 | 70 Vector!string debugids; // debug identifiers |
0 | 71 |
72 uint versionlevel; // version level | |
73 Array versionids; // version identifiers | |
74 | |
75 bool dump_source; | |
76 | |
77 const(char)* defaultlibname; // default library for non-debug builds | |
78 const(char)* debuglibname; // default library for debug builds | |
79 | |
80 string moduleDepsFile; // filename for deps output | |
81 OutBuffer moduleDeps; // contents to be written to deps file | |
82 | |
83 // Hidden debug switches | |
84 bool debuga; | |
85 bool debugb; | |
86 bool debugc; | |
87 bool debugf; | |
88 bool debugr; | |
89 bool debugw; | |
90 bool debugx; | |
91 bool debugy; | |
92 | |
93 bool run; // run resulting executable | |
94 size_t runargs_length; | |
95 string[] runargs; // arguments for executable | |
96 | |
97 // Linker stuff | |
98 Array objfiles; | |
99 Array linkswitches; | |
100 Array libfiles; | |
101 string deffile; | |
102 string resfile; | |
103 string exefile; | |
104 } |