OLD | NEW |
1 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 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 | 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. | 3 # BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'variables': { | 6 'variables': { |
7 'dart_debug_optimization_level%': '2', | 7 'dart_debug_optimization_level%': '2', |
8 }, | 8 }, |
9 'target_defaults': { | 9 'target_defaults': { |
10 'configurations': { | 10 'configurations': { |
11 'Dart_Linux_Base': { | 11 'Dart_OpenBSD_Base': { |
12 'abstract': 1, | 12 'abstract': 1, |
13 'defines': [ | 13 'defines': [ |
14 '_FORTIFY_SOURCE=2', | 14 '_FORTIFY_SOURCE=2', |
15 ], | 15 ], |
16 'cflags': [ | 16 'cflags': [ |
17 '-Werror', | 17 '-Werror', |
18 '<@(common_gcc_warning_flags)', | 18 '<@(common_gcc_warning_flags)', |
19 '-Wnon-virtual-dtor', | 19 '-Wnon-virtual-dtor', |
20 '-Wvla', | 20 '-Wvla', |
21 '-Wno-conversion-null', | 21 '-Wno-conversion-null', |
22 '-Woverloaded-virtual', | 22 '-Woverloaded-virtual', |
23 '-g3', | 23 '-g3', |
24 '-ggdb3', | 24 '-ggdb3', |
25 # TODO(iposva): Figure out if we need to pass anything else. | 25 # TODO(iposva): Figure out if we need to pass anything else. |
26 #'-ansi', | 26 #'-ansi', |
27 '-fno-rtti', | 27 '-fno-rtti', |
28 '-fno-exceptions', | 28 '-fno-exceptions', |
29 # '-fvisibility=hidden', | 29 # '-fvisibility=hidden', |
30 # '-fvisibility-inlines-hidden', | 30 # '-fvisibility-inlines-hidden', |
31 '-fstack-protector', | 31 '-fstack-protector', |
32 '-Wa,--noexecstack', | |
33 ], | 32 ], |
34 'ldflags': [ | 33 'ldflags': [ |
35 '-Wl,-z,noexecstack', | 34 '-Wa,--noexecstack', |
36 '-Wl,-z,now', | 35 '-Wl,-z,now', |
37 '-Wl,-z,relro', | 36 '-Wl,-z,relro', |
38 ], | 37 ], |
39 }, | 38 }, |
40 | 39 |
41 'Dart_Linux_ia32_Base': { | 40 'Dart_OpenBSD_ia32_Base': { |
42 'abstract': 1, | 41 'abstract': 1, |
43 'cflags': [ '-m32', '-msse2', '-mfpmath=sse' ], | 42 'cflags': [ '-m32', '-msse2', '-mfpmath=sse' ], |
44 'ldflags': [ '-m32', ], | 43 'ldflags': [ '-m32', ], |
45 'conditions': [ | 44 'conditions': [ |
46 ['c_frame_pointers==1', { | 45 ['c_frame_pointers==1', { |
47 'cflags': [ | 46 'cflags': [ |
48 # Clang on Linux will still omit frame pointers from leaf | 47 # Clang on Linux will still omit frame pointers from leaf |
49 # functions unless told otherwise: | 48 # functions unless told otherwise: |
50 # (note this flag only works on recent GCC versions.) | 49 # (note this flag only works on recent GCC versions.) |
51 '-mno-omit-leaf-frame-pointer', | 50 '-mno-omit-leaf-frame-pointer', |
52 ], | 51 ], |
53 }], | 52 }], |
54 ], | 53 ], |
55 }, | 54 }, |
56 | 55 |
57 'Dart_Linux_x64_Base': { | 56 'Dart_OpenBSD_x64_Base': { |
58 'abstract': 1, | 57 'abstract': 1, |
59 'cflags': [ '-m64', '-msse2' ], | 58 'cflags': [ '-m64', '-msse2' ], |
60 'ldflags': [ '-m64', ], | 59 'ldflags': [ '-m64', ], |
61 'conditions': [ | 60 'conditions': [ |
62 ['c_frame_pointers==1', { | 61 ['c_frame_pointers==1', { |
63 'cflags': [ | 62 'cflags': [ |
64 # Clang on Linux will still omit frame pointers from leaf | 63 # Clang on Linux will still omit frame pointers from leaf |
65 # functions unless told otherwise: | 64 # functions unless told otherwise: |
66 # (note this flag only works on recent GCC versions.) | 65 # (note this flag only works on recent GCC versions.) |
67 '-mno-omit-leaf-frame-pointer', | 66 '-mno-omit-leaf-frame-pointer', |
68 ], | 67 ], |
69 }], | 68 }], |
70 ], | 69 ], |
71 }, | 70 }, |
72 | 71 |
73 'Dart_Linux_simarm_Base': { | 72 'Dart_OpenBSD_simarm_Base': { |
74 'abstract': 1, | 73 'abstract': 1, |
75 'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ], | 74 'cflags': [ '-O3', '-m32', '-msse2' ], |
76 'ldflags': [ '-m32', ], | 75 'ldflags': [ '-m32', ], |
77 }, | 76 }, |
78 | 77 |
79 'Dart_Linux_simarmv5te_Base': { | 78 'Dart_OpenBSD_simarmv5te_Base': { |
80 'abstract': 1, | 79 'abstract': 1, |
81 'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ], | 80 'cflags': [ '-O3', '-m32', '-msse2' ], |
82 'ldflags': [ '-m32', ], | 81 'ldflags': [ '-m32', ], |
83 }, | 82 }, |
84 | 83 |
85 'Dart_Linux_simarm64_Base': { | 84 'Dart_OpenBSD_simarm64_Base': { |
86 'abstract': 1, | 85 'abstract': 1, |
87 'cflags': [ '-O3', '-m64', '-msse2', '-mfpmath=sse' ], | 86 'cflags': [ '-O3', '-m64', '-msse2' ], |
88 'ldflags': [ '-m64', ], | 87 'ldflags': [ '-m64', ], |
89 }, | 88 }, |
90 | 89 |
91 # ARM cross-build | 90 # ARM cross-build |
92 'Dart_Linux_xarm_Base': { | 91 'Dart_OpenBSD_xarm_Base': { |
93 'abstract': 1, | 92 'abstract': 1, |
94 'target_conditions': [ | 93 'target_conditions': [ |
95 ['_toolset=="target"', { | 94 ['_toolset=="target"', { |
96 'cflags': [ | 95 'cflags': [ |
97 '-marm', | 96 '-marm', |
98 '-mfpu=vfp', | 97 '-mfpu=vfp', |
99 '-Wno-psabi', # suppresses va_list warning | 98 '-Wno-psabi', # suppresses va_list warning |
100 '-fno-strict-overflow', | 99 '-fno-strict-overflow', |
101 ], | 100 ], |
102 }], | 101 }], |
103 ['_toolset=="host"', { | 102 ['_toolset=="host"', { |
104 'cflags': ['-m32', '-msse2', '-mfpmath=sse' ], | 103 'cflags': ['-m32', '-msse2'], |
105 'ldflags': ['-m32'], | 104 'ldflags': ['-m32'], |
106 }]] | 105 }]] |
107 }, | 106 }, |
108 | 107 |
109 # ARM native build | 108 # ARM native build |
110 'Dart_Linux_arm_Base': { | 109 'Dart_OpenBSD_arm_Base': { |
111 'abstract': 1, | 110 'abstract': 1, |
112 'cflags': [ | 111 'cflags': [ |
113 '-marm', | 112 '-marm', |
114 '-mfpu=vfp', | 113 '-mfpu=vfp', |
115 '-Wno-psabi', # suppresses va_list warning | 114 '-Wno-psabi', # suppresses va_list warning |
116 '-fno-strict-overflow', | 115 '-fno-strict-overflow', |
117 ], | 116 ], |
118 }, | 117 }, |
119 | 118 |
120 # ARMv5 cross-build | 119 # ARMv5 cross-build |
121 'Dart_Linux_xarmv5te_Base': { | 120 'Dart_OpenBSD_xarmv5te_Base': { |
122 'abstract': 1, | 121 'abstract': 1, |
123 'target_conditions': [ | 122 'target_conditions': [ |
124 ['_toolset=="target"', { | 123 ['_toolset=="target"', { |
125 'cflags': [ | 124 'cflags': [ |
126 '-mthumb', | 125 '-mthumb', |
127 '-mlong-calls', | 126 '-mlong-calls', |
128 '-march=armv5te', | 127 '-march=armv5te', |
129 '-mfloat-abi=soft', | 128 '-mfloat-abi=soft', |
130 '-Wno-psabi', # suppresses va_list warning | 129 '-Wno-psabi', # suppresses va_list warning |
131 '-fno-strict-overflow', | 130 '-fno-strict-overflow', |
132 ], | 131 ], |
133 }], | 132 }], |
134 ['_toolset=="host"', { | 133 ['_toolset=="host"', { |
135 'cflags': ['-m32', '-msse2', '-mfpmath=sse' ], | 134 'cflags': ['-m32', '-msse2'], |
136 'ldflags': ['-m32'], | 135 'ldflags': ['-m32'], |
137 }]] | 136 }]] |
138 }, | 137 }, |
139 | 138 |
140 # ARMv5 native build | 139 # ARMv5 native build |
141 'Dart_Linux_armv5te_Base': { | 140 'Dart_OpenBSD_armv5te_Base': { |
142 'abstract': 1, | 141 'abstract': 1, |
143 'cflags': [ | 142 'cflags': [ |
144 '-mthumb', | 143 '-mthumb', |
145 '-mlong-calls', | 144 '-mlong-calls', |
146 '-march=armv5te', | 145 '-march=armv5te', |
147 '-mfloat-abi=soft', | 146 '-mfloat-abi=soft', |
148 '-Wno-psabi', # suppresses va_list warning | 147 '-Wno-psabi', # suppresses va_list warning |
149 '-fno-strict-overflow', | 148 '-fno-strict-overflow', |
150 ], | 149 ], |
151 }, | 150 }, |
152 | 151 |
153 # ARM64 cross-build | 152 # ARM64 cross-build |
154 'Dart_Linux_xarm64_Base': { | 153 'Dart_OpenBSD_xarm64_Base': { |
155 'abstract': 1, | 154 'abstract': 1, |
156 'target_conditions': [ | 155 'target_conditions': [ |
157 ['_toolset=="target"', { | 156 ['_toolset=="target"', { |
158 'cflags': [ '-O3', ], | 157 'cflags': [ '-O3', ], |
159 }], | 158 }], |
160 ['_toolset=="host"', { | 159 ['_toolset=="host"', { |
161 'cflags': ['-O3', '-m64', '-msse2'], | 160 'cflags': ['-O3', '-m64', '-msse2'], |
162 'ldflags': ['-m64'], | 161 'ldflags': ['-m64'], |
163 }]] | 162 }]] |
164 }, | 163 }, |
165 | 164 |
166 # ARM64 native build | 165 # ARM64 native build |
167 'Dart_Linux_arm64_Base': { | 166 'Dart_OpenBSD_arm64_Base': { |
168 'abstract': 1, | 167 'abstract': 1, |
169 'cflags': [ '-O3', ], | 168 'cflags': [ '-O3', ], |
170 }, | 169 }, |
171 | 170 |
172 'Dart_Linux_simmips_Base': { | 171 'Dart_OpenBSD_simmips_Base': { |
173 'abstract': 1, | 172 'abstract': 1, |
174 'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ], | 173 'cflags': [ '-O3', '-m32', '-msse2' ], |
175 'ldflags': [ '-m32', ], | 174 'ldflags': [ '-m32', ], |
176 }, | 175 }, |
177 | 176 |
178 # MIPS cross-build | 177 # MIPS cross-build |
179 'Dart_Linux_xmips_Base': { | 178 'Dart_OpenBSD_xmips_Base': { |
180 'abstract': 1, | 179 'abstract': 1, |
181 'target_conditions': [ | 180 'target_conditions': [ |
182 ['_toolset=="target"', { | 181 ['_toolset=="target"', { |
183 'cflags': [ | 182 'cflags': [ |
184 '-EL', | 183 '-EL', |
185 '-march=mips32', | 184 '-march=mips32', |
186 '-mhard-float', | 185 '-mhard-float', |
187 '-fno-strict-overflow', | 186 '-fno-strict-overflow', |
188 ], | 187 ], |
189 'ldflags': [ | 188 'ldflags': [ |
190 '-EL', | 189 '-EL', |
191 ], | 190 ], |
192 }], | 191 }], |
193 ['_toolset=="host"',{ | 192 ['_toolset=="host"',{ |
194 'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ], | 193 'cflags': [ '-O3', '-m32', '-msse2' ], |
195 'ldflags': [ '-m32' ], | 194 'ldflags': [ '-m32' ], |
196 }]] | 195 }]] |
197 }, | 196 }, |
198 | 197 |
199 # MIPS native build | 198 # MIPS native build |
200 'Dart_Linux_mips_Base': { | 199 'Dart_OpenBSD_mips_Base': { |
201 'abstract': 1, | 200 'abstract': 1, |
202 'cflags': [ | 201 'cflags': [ |
203 '-march=mips32', | 202 '-march=mips32', |
204 '-mhard-float', | 203 '-mhard-float', |
205 '-fno-strict-overflow', | 204 '-fno-strict-overflow', |
206 ], | 205 ], |
207 }, | 206 }, |
208 | 207 |
209 'Dart_Linux_Debug': { | 208 'Dart_OpenBSD_Debug': { |
210 'abstract': 1, | 209 'abstract': 1, |
211 'conditions': [ | 210 'conditions': [ |
212 ['c_frame_pointers==1', { | 211 ['c_frame_pointers==1', { |
213 'cflags': [ | 212 'cflags': [ |
214 '-fno-omit-frame-pointer', | 213 '-fno-omit-frame-pointer', |
215 ], | 214 ], |
216 'defines': [ | 215 'defines': [ |
217 'NATIVE_CODE_HAS_FRAME_POINTERS' | 216 'NATIVE_CODE_HAS_FRAME_POINTERS' |
218 ], | 217 ], |
219 }], | 218 }], |
220 ], | 219 ], |
221 'cflags': [ | 220 'cflags': [ |
222 '-O<(dart_debug_optimization_level)', | 221 '-O<(dart_debug_optimization_level)', |
223 ], | 222 ], |
224 }, | 223 }, |
225 | 224 |
226 'Dart_Linux_Release': { | 225 'Dart_OpenBSD_Release': { |
227 'abstract': 1, | 226 'abstract': 1, |
228 'conditions': [ | 227 'conditions': [ |
229 ['c_frame_pointers==1', { | 228 ['c_frame_pointers==1', { |
230 'cflags': [ | 229 'cflags': [ |
231 '-fno-omit-frame-pointer', | 230 '-fno-omit-frame-pointer', |
232 ], | 231 ], |
233 'defines': [ | 232 'defines': [ |
234 'NATIVE_CODE_HAS_FRAME_POINTERS' | 233 'NATIVE_CODE_HAS_FRAME_POINTERS' |
235 ], | 234 ], |
236 }], | 235 }], |
237 ], | 236 ], |
238 'cflags': [ | 237 'cflags': [ |
239 '-O3', | 238 '-O3', |
240 '-ffunction-sections', | |
241 ], | |
242 'ldflags': [ | |
243 '-Wl,--gc-sections', | |
244 ], | 239 ], |
245 }, | 240 }, |
246 }, | 241 }, |
247 }, | 242 }, |
248 } | 243 } |
OLD | NEW |