-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathGlobalParams.d
71 lines (61 loc) · 1.67 KB
/
GlobalParams.d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/+
+ Copyright Andrej Mitrovic 2011.
+ Copyright Tomasz Stachowiak 2009 - 2011.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+/
module xfbuild.GlobalParams;
import std.path;
struct GlobalParams
{
string compilerName;
string[] compilerOptions;
string objPath = ".objs";
string depsPath = ".deps";
//string projectFile = "project.xfbuild";
version (Windows)
{
string objExt = ".obj";
string exeExt = ".exe";
}
else
{
string objExt = ".o";
string exeExt = "";
}
string outputFile;
string workingPath;
string[] ignore;
string[] ignorePaths;
bool manageHeaders = false;
string[] noHeaders;
bool verbose;
bool printCommands;
int numThreads = 4;
bool depCompileUseMT = true;
bool useOQ = false;
bool useOP = true;
bool recompileOnUndefinedReference = false; // todo: still not a RT option
bool storeStrongSymbols = true; // TODO
string pathSep = dirSeparator;
int maxModulesToCompile = int.max;
int threadsToUse = 1;
bool nolink = false;
bool removeRspOnFail = true;
// it sometimes makes OPTLINK not crash... e.g. in Nucled
bool reverseModuleOrder = false;
bool moduleByModule = false;
bool recursiveModuleScan = false;
bool useDeps = true;
version (MultiThreaded)
{
bool manageAffinity = true;
}
else
{
bool manageAffinity = false;
}
size_t linkerAffinityMask = size_t.max;
}
__gshared GlobalParams globalParams;