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