| 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 |