OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # ============================================================================= | 5 # ============================================================================= |
6 # BUILD FLAGS | 6 # BUILD FLAGS |
7 # ============================================================================= | 7 # ============================================================================= |
8 # | 8 # |
9 # This block lists input arguments to the build, along with their default | 9 # This block lists input arguments to the build, along with their default |
10 # values. GN requires listing them explicitly so it can validate input and have | 10 # values. GN requires listing them explicitly so it can validate input and have |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 # | 193 # |
194 # We define lists of filters for each platform for all builds so they can | 194 # We define lists of filters for each platform for all builds so they can |
195 # be used by individual targets if necessary (a target can always change | 195 # be used by individual targets if necessary (a target can always change |
196 # sources_assignment_filter on itself if it needs something more specific). | 196 # sources_assignment_filter on itself if it needs something more specific). |
197 # | 197 # |
198 # Note that the patterns are NOT regular expressions. Only "*" and "\b" (path | 198 # Note that the patterns are NOT regular expressions. Only "*" and "\b" (path |
199 # boundary = end of string or slash) are supported, and the entire string | 199 # boundary = end of string or slash) are supported, and the entire string |
200 # muct match the pattern (so you need "*.cc" to match all .cc files, for | 200 # muct match the pattern (so you need "*.cc" to match all .cc files, for |
201 # example). | 201 # example). |
202 | 202 |
| 203 # DO NOT ADD MORE PATTERNS TO THIS LIST, see set_sources_assignment_filter call |
| 204 # below. |
203 windows_sources_filters = [ | 205 windows_sources_filters = [ |
204 "*_win.cc", | 206 "*_win.cc", |
205 "*_win.h", | 207 "*_win.h", |
206 "*_win_unittest.cc", | 208 "*_win_unittest.cc", |
207 "*\bwin/*", | 209 "*\bwin/*", |
208 ] | 210 ] |
209 mac_sources_filters = [ | 211 mac_sources_filters = [ |
210 "*_mac.h", | 212 "*_mac.h", |
211 "*_mac.cc", | 213 "*_mac.cc", |
212 "*_mac.mm", | 214 "*_mac.mm", |
(...skipping 20 matching lines...) Expand all Loading... |
233 ] | 235 ] |
234 objective_c_sources_filters = [ | 236 objective_c_sources_filters = [ |
235 "*.mm", | 237 "*.mm", |
236 ] | 238 ] |
237 linux_sources_filters = [ | 239 linux_sources_filters = [ |
238 "*_linux.h", | 240 "*_linux.h", |
239 "*_linux.cc", | 241 "*_linux.cc", |
240 "*_linux_unittest.h", | 242 "*_linux_unittest.h", |
241 "*_linux_unittest.cc", | 243 "*_linux_unittest.cc", |
242 "*\blinux/*", | 244 "*\blinux/*", |
243 "*_x11.cc", | |
244 "*_x11.h", | |
245 ] | 245 ] |
246 android_sources_filters = [ | 246 android_sources_filters = [ |
247 "*_android.h", | 247 "*_android.h", |
248 "*_android.cc", | 248 "*_android.cc", |
249 "*_android_unittest.h", | 249 "*_android_unittest.h", |
250 "*_android_unittest.cc", | 250 "*_android_unittest.cc", |
251 "*\bandroid/*", | 251 "*\bandroid/*", |
252 ] | 252 ] |
253 posix_sources_filters = [ | 253 posix_sources_filters = [ |
254 "*_posix.h", | 254 "*_posix.h", |
255 "*_posix.cc", | 255 "*_posix.cc", |
256 "*_posix_unittest.h", | 256 "*_posix_unittest.h", |
257 "*_posix_unittest.cc", | 257 "*_posix_unittest.cc", |
258 "*\bposix/*", | 258 "*\bposix/*", |
259 ] | 259 ] |
| 260 # DO NOT ADD MORE PATTERNS TO THIS LIST, see set_sources_assignment_filter call |
| 261 # below. |
260 | 262 |
261 # Construct the full list of sources we're using for this platform. | 263 # Construct the full list of sources we're using for this platform. |
262 sources_assignment_filter = [] | 264 sources_assignment_filter = [] |
263 if (is_win) { | 265 if (is_win) { |
264 sources_assignment_filter += posix_sources_filters | 266 sources_assignment_filter += posix_sources_filters |
265 } else { | 267 } else { |
266 sources_assignment_filter += windows_sources_filters | 268 sources_assignment_filter += windows_sources_filters |
267 } | 269 } |
268 if (!is_mac) { | 270 if (!is_mac) { |
269 sources_assignment_filter += mac_sources_filters | 271 sources_assignment_filter += mac_sources_filters |
270 } | 272 } |
271 if (!is_ios) { | 273 if (!is_ios) { |
272 sources_assignment_filter += ios_sources_filters | 274 sources_assignment_filter += ios_sources_filters |
273 } | 275 } |
274 if (!is_mac && !is_ios) { | 276 if (!is_mac && !is_ios) { |
275 sources_assignment_filter += objective_c_sources_filters | 277 sources_assignment_filter += objective_c_sources_filters |
276 } | 278 } |
277 if (!is_linux) { | 279 if (!is_linux) { |
278 sources_assignment_filter += linux_sources_filters | 280 sources_assignment_filter += linux_sources_filters |
279 } | 281 } |
280 if (!is_android) { | 282 if (!is_android) { |
281 sources_assignment_filter += android_sources_filters | 283 sources_assignment_filter += android_sources_filters |
282 } | 284 } |
283 | 285 |
284 # This is the actual set. | 286 # Actually save this list. |
| 287 # |
| 288 # DO NOT ADD MORE PATTERNS TO THIS LIST. |
| 289 # |
| 290 # These patterns are executed for every file in the source tree of every run. |
| 291 # Therefore, adding more patterns slows down the build for everybody. We should |
| 292 # only add automatic patterns for configurations affecting hundreds of files |
| 293 # across many projects in the tree. |
| 294 # |
| 295 # Therefore, we only add rules to this list corresponding to platforms on the |
| 296 # Chromium waterfall. This is not for non-officially-supported platforms |
| 297 # (FreeBSD, etc.) toolkits, (X11, GTK, etc.), or features. For these cases, |
| 298 # write a conditional in the target to remove the file(s) from the list when |
| 299 # your platform/toolkit/feature doesn't apply. |
285 set_sources_assignment_filter(sources_assignment_filter) | 300 set_sources_assignment_filter(sources_assignment_filter) |
286 | 301 |
287 # ============================================================================= | 302 # ============================================================================= |
288 # BUILD OPTIONS | 303 # BUILD OPTIONS |
289 # ============================================================================= | 304 # ============================================================================= |
290 | 305 |
291 if (is_component_build) { | 306 if (is_component_build) { |
292 component_mode = "shared_library" | 307 component_mode = "shared_library" |
293 } else { | 308 } else { |
294 component_mode = "static_library" | 309 component_mode = "static_library" |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
443 } else if (is_linux) { | 458 } else if (is_linux) { |
444 host_toolchain = "//build/toolchain/linux:$build_cpu_arch" | 459 host_toolchain = "//build/toolchain/linux:$build_cpu_arch" |
445 set_default_toolchain("//build/toolchain/linux:$cpu_arch") | 460 set_default_toolchain("//build/toolchain/linux:$cpu_arch") |
446 } else if (is_mac) { | 461 } else if (is_mac) { |
447 host_toolchain = "//build/toolchain/mac:clang" | 462 host_toolchain = "//build/toolchain/mac:clang" |
448 set_default_toolchain(host_toolchain) | 463 set_default_toolchain(host_toolchain) |
449 } else if (is_ios) { | 464 } else if (is_ios) { |
450 host_toolchain = "//build/toolchain/mac:host_clang" | 465 host_toolchain = "//build/toolchain/mac:host_clang" |
451 set_default_toolchain("//build/toolchain/mac:clang") | 466 set_default_toolchain("//build/toolchain/mac:clang") |
452 } | 467 } |
OLD | NEW |