-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathcommon.gypi
111 lines (111 loc) · 3.08 KB
/
common.gypi
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
{
'target_defaults':
{
'default_configuration': 'Debug',
'configurations':
{
'Debug':
{
'defines': [ 'DEBUG', '_DEBUG' ],
'cflags': [ '-g', '-O0' ],
'xcode_settings': {
'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks
'GCC_OPTIMIZATION_LEVEL': 0,
#'GCC_DEBUGGING_SYMBOLS': 'full',
'OTHER_CFLAGS': [
'-g',
],
},
'msvs_settings':
{
'VCCLCompilerTool':
{
'RuntimeLibrary': 1, # static debug
'Optimization': 0, # /Od, no optimization
'MinimalRebuild': 'false',
'OmitFramePointers': 'false',
'BasicRuntimeChecks': 3, # /RTC1
'DebugInformationFormat': 4,
},
'VCLinkerTool':
{
'LinkIncremental': 2, #enable incremenetal linking
'GenerateDebugInformation': 'true',
},
},
},
'Release':
{
'defines': [ 'NDEBUG' ],
'cflags': [ '-O3' ],
'xcode_settings': {
'GCC_CW_ASM_SYNTAX': 'NO',
'GCC_OPTIMIZATION_LEVEL': 3,
},
'msvs_settings':
{
'VCCLCompilerTool':
{
'RuntimeLibrary': 0, # static release
'Optimization': 3, # /Ox, full optimization
'FavorSizeOrSpeed': 1, # /Ot, favour speed over size
'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible
'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG
'OmitFramePointers': 'true',
'EnableFunctionLevelLinking': 'true',
'EnableIntrinsicFunctions': 'true',
},
'VCLibrarianTool':
{
'AdditionalOptions':
[
'/LTCG', # link time code generation
],
},
'VCLinkerTool':
{
'LinkTimeCodeGeneration': 1, # link-time code generation
'OptimizeReferences': 2, # /OPT:REF
'EnableCOMDATFolding': 2, # /OPT:ICF
'LinkIncremental': 1, # disable incremental linking
},
},
},
},
'msvs_settings':
{
'VCCLCompilerTool':
{
'StringPooling': 'true', # pool string literals
'DebugInformationFormat': 3, # Generate a PDB
'WarningLevel': 3,
'BufferSecurityCheck': 'true',
'ExceptionHandling': 1, # /EHsc
'SuppressStartupBanner': 'true',
'WarnAsError': 'false',
'AdditionalOptions':
[
'/MP', # compile across multiple CPUs
],
},
'VCLibrarianTool':
{
},
'VCLinkerTool':
{
'GenerateDebugInformation': 'true',
'RandomizedBaseAddress': 2, # enable ASLR
'DataExecutionPrevention': 2, # enable DEP
'AllowIsolation': 'true',
'SuppressStartupBanner': 'true',
'target_conditions':
[
['_type=="executable"',
{
'SubSystem': 1, # console executable
}],
],
},
},
},
}