OLD | NEW |
| (Empty) |
1 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
2 # for details. All rights reserved. Use of this source code is governed by a | |
3 # BSD-style license that can be found in the LICENSE file. | |
4 | |
5 { | |
6 'variables': { | |
7 'dart_debug_optimization_level%': '2', | |
8 }, | |
9 'target_defaults': { | |
10 'configurations': { | |
11 'Dart_Linux_Base': { | |
12 'abstract': 1, | |
13 'defines': [ | |
14 '_FORTIFY_SOURCE=2', | |
15 ], | |
16 'cflags': [ | |
17 '<@(common_gcc_warning_flags)', | |
18 '-Wnon-virtual-dtor', | |
19 '-Wvla', | |
20 '-Woverloaded-virtual', | |
21 '-g3', | |
22 '-ggdb3', | |
23 '-fno-rtti', | |
24 '-fno-exceptions', | |
25 '-fstack-protector', | |
26 '-Wa,--noexecstack', | |
27 ], | |
28 'ldflags': [ | |
29 '-Wl,-z,noexecstack', | |
30 '-Wl,-z,now', | |
31 '-Wl,-z,relro', | |
32 ], | |
33 }, | |
34 | |
35 'Dart_Linux_ia32_Base': { | |
36 'abstract': 1, | |
37 'cflags': [ | |
38 '-m32', | |
39 '-msse2', | |
40 '-mfpmath=sse', | |
41 ], | |
42 'ldflags': [ | |
43 '-m32', | |
44 ], | |
45 }, | |
46 | |
47 'Dart_Linux_x64_Base': { | |
48 'abstract': 1, | |
49 'cflags': [ | |
50 '-m64', | |
51 '-msse2', | |
52 ], | |
53 'ldflags': [ | |
54 '-m64', | |
55 ], | |
56 }, | |
57 | |
58 'Dart_Linux_simarm_Base': { | |
59 'abstract': 1, | |
60 'cflags': [ | |
61 '-O3', | |
62 '-m32', | |
63 '-msse2', | |
64 '-mfpmath=sse', | |
65 ], | |
66 'ldflags': [ | |
67 '-m32', | |
68 ], | |
69 }, | |
70 | |
71 'Dart_Linux_simarmv6_Base': { | |
72 'abstract': 1, | |
73 'cflags': [ | |
74 '-O3', | |
75 '-m32', | |
76 '-msse2', | |
77 '-mfpmath=sse', | |
78 ], | |
79 'ldflags': [ | |
80 '-m32', | |
81 ], | |
82 }, | |
83 | |
84 'Dart_Linux_simarmv5te_Base': { | |
85 'abstract': 1, | |
86 'cflags': [ | |
87 '-O3', | |
88 '-m32', | |
89 '-msse2', | |
90 '-mfpmath=sse', | |
91 ], | |
92 'ldflags': [ | |
93 '-m32', | |
94 ], | |
95 }, | |
96 | |
97 'Dart_Linux_simarm64_Base': { | |
98 'abstract': 1, | |
99 'cflags': [ | |
100 '-O3', | |
101 '-m64', | |
102 '-msse2', | |
103 '-mfpmath=sse', | |
104 ], | |
105 'ldflags': [ | |
106 '-m64', | |
107 ], | |
108 }, | |
109 | |
110 'Dart_Linux_simdbc_Base': { | |
111 'abstract': 1, | |
112 'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ], | |
113 'ldflags': [ '-m32', ], | |
114 }, | |
115 | |
116 'Dart_Linux_simdbc64_Base': { | |
117 'abstract': 1, | |
118 'cflags': [ '-O3', '-m64', '-msse2', '-mfpmath=sse' ], | |
119 'ldflags': [ '-m64', ], | |
120 }, | |
121 | |
122 # ARM cross-build | |
123 'Dart_Linux_xarm_Base': { | |
124 'abstract': 1, | |
125 'target_conditions': [ | |
126 ['_toolset=="target"', { | |
127 'cflags': [ | |
128 '-marm', | |
129 '-mfpu=vfp', | |
130 '-Wno-psabi', # suppresses va_list warning | |
131 '-fno-strict-overflow', | |
132 ], | |
133 }], | |
134 ['_toolset=="host"', { | |
135 'cflags': [ | |
136 '-m32', | |
137 '-msse2', | |
138 '-mfpmath=sse', | |
139 ], | |
140 'ldflags': [ | |
141 '-m32', | |
142 ], | |
143 }]] | |
144 }, | |
145 | |
146 # ARM native build | |
147 'Dart_Linux_arm_Base': { | |
148 'abstract': 1, | |
149 'cflags': [ | |
150 '-marm', | |
151 '-mfpu=vfp', | |
152 '-Wno-psabi', # suppresses va_list warning | |
153 '-fno-strict-overflow', | |
154 ], | |
155 }, | |
156 | |
157 # ARMv6 cross-build | |
158 'Dart_Linux_xarmv6_Base': { | |
159 'abstract': 1, | |
160 'target_conditions': [ | |
161 ['_toolset=="target"', { | |
162 'cflags': [ | |
163 '-march=armv6', | |
164 '-mfpu=vfp', | |
165 '-Wno-psabi', # suppresses va_list warning | |
166 '-fno-strict-overflow', | |
167 ], | |
168 }], | |
169 ['_toolset=="host"', { | |
170 'cflags': [ | |
171 '-m32', | |
172 '-msse2', | |
173 '-mfpmath=sse', | |
174 ], | |
175 'ldflags': [ | |
176 '-m32', | |
177 ], | |
178 }]] | |
179 }, | |
180 | |
181 # ARMv6 native build | |
182 'Dart_Linux_armv6_Base': { | |
183 'abstract': 1, | |
184 'cflags': [ | |
185 '-march=armv6', | |
186 '-mfpu=vfp', | |
187 '-Wno-psabi', # suppresses va_list warning | |
188 '-fno-strict-overflow', | |
189 ], | |
190 }, | |
191 | |
192 # ARMv5 cross-build | |
193 'Dart_Linux_xarmv5te_Base': { | |
194 'abstract': 1, | |
195 'target_conditions': [ | |
196 ['_toolset=="target"', { | |
197 'cflags': [ | |
198 '-mthumb', | |
199 '-mlong-calls', | |
200 '-march=armv5te', | |
201 '-mfloat-abi=soft', | |
202 '-Wno-psabi', # suppresses va_list warning | |
203 '-fno-strict-overflow', | |
204 ], | |
205 }], | |
206 ['_toolset=="host"', { | |
207 'cflags': [ | |
208 '-m32', | |
209 '-msse2', | |
210 '-mfpmath=sse', | |
211 ], | |
212 'ldflags': [ | |
213 '-m32', | |
214 ], | |
215 }]] | |
216 }, | |
217 | |
218 # ARMv5 native build | |
219 'Dart_Linux_armv5te_Base': { | |
220 'abstract': 1, | |
221 'cflags': [ | |
222 '-mthumb', | |
223 '-mlong-calls', | |
224 '-march=armv5te', | |
225 '-mfloat-abi=soft', | |
226 '-Wno-psabi', # suppresses va_list warning | |
227 '-fno-strict-overflow', | |
228 ], | |
229 }, | |
230 | |
231 # ARM64 cross-build | |
232 'Dart_Linux_xarm64_Base': { | |
233 'abstract': 1, | |
234 'target_conditions': [ | |
235 ['_toolset=="target"', { | |
236 'cflags': [ | |
237 '-O3', | |
238 ], | |
239 }], | |
240 ['_toolset=="host"', { | |
241 'cflags': [ | |
242 '-O3', | |
243 '-m64', | |
244 '-msse2', | |
245 ], | |
246 'ldflags': [ | |
247 '-m64', | |
248 ], | |
249 }]] | |
250 }, | |
251 | |
252 # ARM64 native build | |
253 'Dart_Linux_arm64_Base': { | |
254 'abstract': 1, | |
255 'cflags': [ | |
256 '-O3', | |
257 ], | |
258 }, | |
259 | |
260 'Dart_Linux_Debug': { | |
261 'abstract': 1, | |
262 'cflags': [ | |
263 '-O<(dart_debug_optimization_level)', | |
264 '-fno-omit-frame-pointer', | |
265 # Clang on Linux will still omit frame pointers from leaf | |
266 # functions unless told otherwise: | |
267 # (note this flag only works on recent GCC versions.) | |
268 #'-mno-omit-leaf-frame-pointer', | |
269 ], | |
270 }, | |
271 | |
272 'Dart_Linux_Release': { | |
273 'abstract': 1, | |
274 'cflags': [ | |
275 '-O3', | |
276 '-ffunction-sections', | |
277 '-fno-omit-frame-pointer', | |
278 # Clang on Linux will still omit frame pointers from leaf | |
279 # functions unless told otherwise: | |
280 # (note this flag only works on recent GCC versions.) | |
281 #'-mno-omit-leaf-frame-pointer', | |
282 ], | |
283 'ldflags': [ | |
284 '-Wl,--gc-sections', | |
285 ], | |
286 }, | |
287 | |
288 'Dart_Linux_Product': { | |
289 'abstract': 1, | |
290 'cflags': [ | |
291 '-O3', | |
292 '-ffunction-sections', | |
293 '-fomit-frame-pointer', | |
294 ], | |
295 'ldflags': [ | |
296 '-Wl,--gc-sections', | |
297 ], | |
298 }, | |
299 }, | |
300 }, | |
301 } | |
OLD | NEW |