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 import("//build/config/allocator.gni") | 5 import("//build/config/allocator.gni") |
6 import("//build/config/chrome_build.gni") | 6 import("//build/config/chrome_build.gni") |
| 7 import("//build/config/chromecast_build.gni") |
7 import("//build/config/crypto.gni") | 8 import("//build/config/crypto.gni") |
8 import("//build/config/features.gni") | 9 import("//build/config/features.gni") |
9 import("//build/config/sanitizers/sanitizers.gni") | 10 import("//build/config/sanitizers/sanitizers.gni") |
10 import("//build/config/ui.gni") | 11 import("//build/config/ui.gni") |
11 import("//build/toolchain/goma.gni") | 12 import("//build/toolchain/goma.gni") |
12 | 13 |
13 declare_args() { | 14 declare_args() { |
14 # When set (the default) enables C++ iterator debugging in debug builds. | 15 # When set (the default) enables C++ iterator debugging in debug builds. |
15 # Iterator debugging is always off in release builds (technically, this flag | 16 # Iterator debugging is always off in release builds (technically, this flag |
16 # affects the "debug" config, which is always available but applied by | 17 # affects the "debug" config, which is always available but applied by |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 "CoreFoundation.framework", | 402 "CoreFoundation.framework", |
402 "CoreGraphics.framework", | 403 "CoreGraphics.framework", |
403 "CoreText.framework", | 404 "CoreText.framework", |
404 "Foundation.framework", | 405 "Foundation.framework", |
405 ] | 406 ] |
406 } else if (is_linux) { | 407 } else if (is_linux) { |
407 libs = [ "dl" ] | 408 libs = [ "dl" ] |
408 } | 409 } |
409 } | 410 } |
410 | 411 |
| 412 # Executable configs ----------------------------------------------------------- |
| 413 |
| 414 # Windows linker setup for EXEs and DLLs. |
| 415 if (is_win) { |
| 416 _windows_linker_configs = [ |
| 417 "//build/config/win:sdk_link", |
| 418 "//build/config/win:common_linker_setup", |
| 419 ] |
| 420 } |
| 421 |
| 422 # This config defines the configs applied to all executables. |
| 423 config("executable_config") { |
| 424 configs = [] |
| 425 |
| 426 if (is_win) { |
| 427 configs += _windows_linker_configs |
| 428 } else if (is_mac) { |
| 429 configs += [ |
| 430 "//build/config/mac:mac_dynamic_flags", |
| 431 "//build/config/mac:mac_executable_flags", |
| 432 ] |
| 433 } else if (is_linux || is_android) { |
| 434 configs += [ "//build/config/gcc:executable_ldconfig" ] |
| 435 if (is_android) { |
| 436 configs += [ "//build/config/android:executable_config" ] |
| 437 } else if (is_chromecast) { |
| 438 configs += [ "//build/config/chromecast:executable_config" ] |
| 439 } |
| 440 } |
| 441 } |
| 442 |
| 443 # Shared library configs ------------------------------------------------------- |
| 444 |
| 445 # This config defines the configs applied to all shared libraries. |
| 446 config("shared_library_config") { |
| 447 configs = [] |
| 448 |
| 449 if (is_win) { |
| 450 configs += _windows_linker_configs |
| 451 } else if (is_mac) { |
| 452 configs += [ "//build/config/mac:mac_dynamic_flags" ] |
| 453 } else if (is_chromecast) { |
| 454 configs += [ "//build/config/chromecast:shared_library_config" ] |
| 455 } |
| 456 } |
| 457 |
411 # Add this config to your target to enable precompiled headers. | 458 # Add this config to your target to enable precompiled headers. |
412 # | 459 # |
413 # Precompiled headers are done on a per-target basis. If you have just a couple | 460 # Precompiled headers are done on a per-target basis. If you have just a couple |
414 # of files, the time it takes to precompile (~2 seconds) can actually be longer | 461 # of files, the time it takes to precompile (~2 seconds) can actually be longer |
415 # than the time saved. On a Z620, a 100 file target compiles about 2 seconds | 462 # than the time saved. On a Z620, a 100 file target compiles about 2 seconds |
416 # faster with precompiled headers, with greater savings for larger targets. | 463 # faster with precompiled headers, with greater savings for larger targets. |
417 # | 464 # |
418 # Recommend precompiled headers for targets with more than 50 .cc files. | 465 # Recommend precompiled headers for targets with more than 50 .cc files. |
419 config("precompiled_headers") { | 466 config("precompiled_headers") { |
420 if (is_win && !is_official_build && !use_goma) { | 467 if (is_win && !is_official_build && !use_goma) { |
(...skipping 18 matching lines...) Expand all Loading... |
439 # This error doesn't happen every time. In VS2013, it seems if the .pch | 486 # This error doesn't happen every time. In VS2013, it seems if the .pch |
440 # file doesn't exist, no error will be generated (probably MS tested this | 487 # file doesn't exist, no error will be generated (probably MS tested this |
441 # case but forgot the other one?). To reproduce this error, do a build, | 488 # case but forgot the other one?). To reproduce this error, do a build, |
442 # then delete the precompile.c.obj file, then build again. | 489 # then delete the precompile.c.obj file, then build again. |
443 cflags_c = [ "/wd4206" ] | 490 cflags_c = [ "/wd4206" ] |
444 } else if (is_mac && !is_official_build && !use_goma) { | 491 } else if (is_mac && !is_official_build && !use_goma) { |
445 precompiled_header = "build/precompile.h" | 492 precompiled_header = "build/precompile.h" |
446 precompiled_source = "//build/precompile.h" | 493 precompiled_source = "//build/precompile.h" |
447 } | 494 } |
448 } | 495 } |
OLD | NEW |