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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
{ "defaults":
{ "type": ["CC", "defaults"]
, "arguments_config":
["DEBUG", "OS", "ARCH", "TARGET_ARCH", "COMPILER_FAMILY"]
, "base": [["@", "base", "CC", "defaults"]]
, "ADD_CFLAGS":
{ "type": "let*"
, "bindings":
[ [ "COMPILER_FAMILY"
, {"type": "var", "name": "COMPILER_FAMILY", "default": "unknown"}
]
, [ "OS"
, { "type": "var"
, "name": "OS"
, "default":
{"type": "fail", "msg": "Required variable 'OS' is not set."}
}
]
, [ "TARGET_ARCH"
, { "type": "var"
, "name": "TARGET_ARCH"
, "default":
{ "type": "var"
, "name": "ARCH"
, "default":
{"type": "fail", "msg": "Required variable 'ARCH' is not set."}
}
}
]
]
, "body":
{ "type": "++"
, "$1":
[ ["-std=c11"]
, { "type": "case"
, "expr": {"type": "var", "name": "COMPILER_FAMILY"}
, "case": {"msvc": []}
, "default":
[ "-Wall"
, "-Wextra"
, "-Wno-unused-parameter"
, "-Wno-sign-compare"
, "-Wno-implicit-fallthrough"
, "-DOSATOMIC_USE_INLINED=1"
]
}
, { "type": "case"
, "expr": {"type": "var", "name": "COMPILER_FAMILY"}
, "case": {"gnu": ["-Wno-clobbered"]}
}
, { "type": "if"
, "cond": {"type": "var", "name": "DEBUG"}
, "then": ["-D_DEBUG", "-DDEBUG"]
, "else": ["-Wframe-larger-than=16384"]
}
, { "type": "case"
, "expr": {"type": "var", "name": "OS"}
, "case":
{ "windows":
[ "-D_WIN32_WINNT=0x0600"
, "-DWIN32_LEAN_AND_MEAN"
, "-D_HAS_EXCEPTIONS=0"
, "-DUNICODE"
, "-D_UNICODE"
, "-DNOMINMAX"
]
}
}
]
}
}
, "ADD_CXXFLAGS":
{ "type": "let*"
, "bindings":
[ [ "COMPILER_FAMILY"
, {"type": "var", "name": "COMPILER_FAMILY", "default": "unknown"}
]
, [ "OS"
, { "type": "var"
, "name": "OS"
, "default":
{"type": "fail", "msg": "Required variable 'OS' is not set."}
}
]
, [ "TARGET_ARCH"
, { "type": "var"
, "name": "TARGET_ARCH"
, "default":
{ "type": "var"
, "name": "ARCH"
, "default":
{"type": "fail", "msg": "Required variable 'ARCH' is not set."}
}
}
]
]
, "body":
{ "type": "++"
, "$1":
[ ["-std=c++20"]
, { "type": "case"
, "expr": {"type": "var", "name": "COMPILER_FAMILY"}
, "case": {"msvc": []}
, "default":
[ "-Wall"
, "-Wextra"
, "-Wno-unused-parameter"
, "-Wno-uninitialized"
, "-Wno-missing-field-initializers"
, "-DOSATOMIC_USE_INLINED=1"
, "-Wno-redundant-move"
, "-Wno-comment"
, "-Wno-attributes"
, "-Wno-unused-function"
, "-Wno-unknown-warning-option"
, "-Wno-implicit-const-int-float-conversion"
, "-Wno-stringop-overflow"
, "-Wno-stringop-truncation"
, "-Wno-class-memaccess"
]
}
, { "type": "if"
, "cond": {"type": "var", "name": "DEBUG"}
, "then": ["-D_DEBUG", "-DDEBUG"]
, "else": ["-Wframe-larger-than=16384"]
}
, { "type": "case"
, "expr": {"type": "var", "name": "OS"}
, "case":
{ "windows":
[ "-D_WIN32_WINNT=0x0600"
, "-DWIN32_LEAN_AND_MEAN"
, "-D_HAS_EXCEPTIONS=0"
, "-DUNICODE"
, "-D_UNICODE"
, "-DNOMINMAX"
]
}
}
, { "type": "case"
, "expr":
{ "type": "var"
, "name": "TARGET_ARCH"
, "default": {"type": "var", "name": "ARCH"}
}
, "case": {"arm": ["-Wno-atomic-alignment"]}
}
]
}
}
}
}
|