diff dmd/Param.d @ 0:10317f0c89a5

Initial commit
author korDen
date Sat, 24 Oct 2009 08:42:06 +0400
parents
children 43073c7c7769
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dmd/Param.d	Sat Oct 24 08:42:06 2009 +0400
@@ -0,0 +1,100 @@
+module dmd.Param;
+
+import dmd.Array;
+import dmd.OutBuffer;
+
+// Put command line switches in here
+struct Param
+{
+    bool obj;		// write object file
+    bool link;		// perform link
+    bool lib;		// write library file instead of object file(s)
+    bool multiobj;	// break one object file into multiple ones
+    bool oneobj;	// write one object file instead of multiple ones
+    bool trace;		// insert profiling hooks
+    bool quiet;		// suppress non-error messages
+    bool verbose;	// verbose compile
+    bool vtls;		// identify thread local variables
+    byte symdebug;	// insert debug symbolic information
+    bool optimize;	// run optimizer
+    bool cpu;		// target CPU
+    bool isX86_64;	// generate X86_64 bit code
+    bool isLinux;	// generate code for linux
+    bool isOSX;		// generate code for Mac OSX
+    bool isWindows;	// generate code for Windows
+    bool isFreeBSD;	// generate code for FreeBSD
+    bool isSolaris;	// generate code for Solaris
+    bool scheduler;	// which scheduler to use
+    bool useDeprecated;	// allow use of deprecated features
+    bool useAssert;	// generate runtime code for assert()'s
+    bool useInvariants;	// generate class invariant checks
+    bool useIn;		// generate precondition checks
+    bool useOut;	// generate postcondition checks
+    bool useArrayBounds; // generate array bounds checks
+    bool useSwitchError; // check for switches without a default
+    bool useUnitTests;	// generate unittest code
+    bool useInline;	// inline expand functions
+    bool release;	// build release version
+    bool preservePaths;	// !=0 means don't strip path from source file
+    bool warnings;	// enable warnings
+    bool pic;		// generate position-independent-code for shared libs
+    bool cov;		// generate code coverage data
+    bool nofloat;	// code should not pull in floating point support
+    byte Dversion;	// D version number
+    bool ignoreUnsupportedPragmas;	// rather than error on them
+    bool safe;		// enforce safe memory model
+
+    string argv0;	// program name
+    Array imppath;	// array of char*'s of where to look for import modules
+    Array fileImppath;	// array of char*'s of where to look for file import modules
+    string objdir;	// .obj/.lib file output directory
+    string objname;	// .obj file output name
+    string libname;	// .lib file output name
+
+    bool doDocComments;	// process embedded documentation comments
+    string docdir;	// write documentation file to docdir directory
+    string docname;	// write documentation file to docname
+    Array ddocfiles;	// macro include files for Ddoc
+
+    bool doHdrGeneration;	// process embedded documentation comments
+    string hdrdir;		// write 'header' file to docdir directory
+    string hdrname;		// write 'header' file to docname
+
+    uint debuglevel;	// debug level
+    Array debugids;		// debug identifiers
+
+    uint versionlevel;	// version level
+    Array versionids;		// version identifiers
+
+    bool dump_source;
+
+    const(char)* defaultlibname;	// default library for non-debug builds
+    const(char)* debuglibname;	// default library for debug builds
+
+    const(char)* xmlname;	// filename for XML output
+
+    string moduleDepsFile;	// filename for deps output
+    OutBuffer moduleDeps;	// contents to be written to deps file
+
+    // Hidden debug switches
+    bool debuga;
+    bool debugb;
+    bool debugc;
+    bool debugf;
+    bool debugr;
+    bool debugw;
+    bool debugx;
+    bool debugy;
+
+    bool run;		// run resulting executable
+    size_t runargs_length;
+    string[] runargs;	// arguments for executable
+
+    // Linker stuff
+    Array objfiles;
+    Array linkswitches;
+    Array libfiles;
+    string deffile;
+    string resfile;
+    string exefile;
+}
\ No newline at end of file