| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 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 pipes | 5 import pipes |
| 6 | 6 |
| 7 from recipe_engine.config import config_item_context, ConfigGroup | 7 from recipe_engine.config import config_item_context, ConfigGroup |
| 8 from recipe_engine.config import Dict, List, Single, Static, Set, BadConf | 8 from recipe_engine.config import Dict, List, Single, Static, Set, BadConf |
| 9 from recipe_engine.config_types import Path | 9 from recipe_engine.config_types import Path |
| 10 | 10 |
| (...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 c.gyp_env.GYP_DEFINES['sanitizer_coverage'] = 'edge' | 422 c.gyp_env.GYP_DEFINES['sanitizer_coverage'] = 'edge' |
| 423 | 423 |
| 424 @config_ctx(deps=['compiler']) | 424 @config_ctx(deps=['compiler']) |
| 425 def msan(c): | 425 def msan(c): |
| 426 if 'clang' not in c.compile_py.compiler: # pragma: no cover | 426 if 'clang' not in c.compile_py.compiler: # pragma: no cover |
| 427 raise BadConf('msan requires clang') | 427 raise BadConf('msan requires clang') |
| 428 c.runtests.swarming_tags |= {'msan:1'} | 428 c.runtests.swarming_tags |= {'msan:1'} |
| 429 c.gyp_env.GYP_DEFINES['msan'] = 1 | 429 c.gyp_env.GYP_DEFINES['msan'] = 1 |
| 430 | 430 |
| 431 @config_ctx() | 431 @config_ctx() |
| 432 def msan_no_origin_tracking(c): |
| 433 # Don't track the chain of stores leading from allocation site to use site. |
| 434 c.gyp_env.GYP_DEFINES['msan_track_origins'] = 0 |
| 435 |
| 436 @config_ctx() |
| 432 def msan_full_origin_tracking(c): | 437 def msan_full_origin_tracking(c): |
| 433 # Track the chain of stores leading from allocation site to use site. | 438 # Track the chain of stores leading from allocation site to use site. |
| 434 c.gyp_env.GYP_DEFINES['msan_track_origins'] = 2 | 439 c.gyp_env.GYP_DEFINES['msan_track_origins'] = 2 |
| 435 | 440 |
| 436 # This is currently needed to make tests return a non-zero exit code when an | 441 # This is currently needed to make tests return a non-zero exit code when an |
| 437 # UBSan failure happens. | 442 # UBSan failure happens. |
| 438 # TODO(kjellander,samsonov): Remove when the upstream bug | 443 # TODO(kjellander,samsonov): Remove when the upstream bug |
| 439 # (https://llvm.org/bugs/show_bug.cgi?id=25569) is fixed. | 444 # (https://llvm.org/bugs/show_bug.cgi?id=25569) is fixed. |
| 440 @config_ctx() | 445 @config_ctx() |
| 441 def ubsan_fail_on_errors(c): | 446 def ubsan_fail_on_errors(c): |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 522 c.env.LLVM_FORCE_HEAD_REVISION = 'YES' | 527 c.env.LLVM_FORCE_HEAD_REVISION = 'YES' |
| 523 # Plugin flags often need to be changed when using a plugin newer than | 528 # Plugin flags often need to be changed when using a plugin newer than |
| 524 # the latest Clang package, so disable plugins. | 529 # the latest Clang package, so disable plugins. |
| 525 # TODO(pcc): Investigate whether this should be consistent between Windows and | 530 # TODO(pcc): Investigate whether this should be consistent between Windows and |
| 526 # non-Windows. | 531 # non-Windows. |
| 527 if c.TARGET_PLATFORM != 'win': | 532 if c.TARGET_PLATFORM != 'win': |
| 528 c.gyp_env.GYP_DEFINES['clang_use_chrome_plugins'] = 0 | 533 c.gyp_env.GYP_DEFINES['clang_use_chrome_plugins'] = 0 |
| 529 | 534 |
| 530 @config_ctx(includes=['ninja', 'clang', 'asan', 'static_library']) | 535 @config_ctx(includes=['ninja', 'clang', 'asan', 'static_library']) |
| 531 def win_asan(c): | 536 def win_asan(c): |
| 532 # These are set on the lkgr bot, and the fyi bots should match the lkgr bot. | |
| 533 # TODO(thakis): Once the lkgr bot uses recipes, the lkgr and the fyi bots | |
| 534 # should use the same context to ensure they use the same gyp defines. | |
| 535 c.gyp_env.GYP_DEFINES['enable_ipc_fuzzer'] = 1 | 537 c.gyp_env.GYP_DEFINES['enable_ipc_fuzzer'] = 1 |
| 536 c.gyp_env.GYP_DEFINES['v8_enable_verify_heap'] = 1 | 538 c.gyp_env.GYP_DEFINES['v8_enable_verify_heap'] = 1 |
| 537 | 539 |
| 538 #### 'Full' configurations | 540 #### 'Full' configurations |
| 539 @config_ctx(includes=['ninja', 'default_compiler']) | 541 @config_ctx(includes=['ninja', 'default_compiler']) |
| 540 def chromium_no_goma(c): | 542 def chromium_no_goma(c): |
| 541 c.compile_py.default_targets = ['All', 'chromium_builder_tests'] | 543 c.compile_py.default_targets = ['All', 'chromium_builder_tests'] |
| 542 | 544 |
| 543 @config_ctx(includes=['ninja', 'default_compiler', 'goma']) | 545 @config_ctx(includes=['ninja', 'default_compiler', 'goma']) |
| 544 def chromium(c): | 546 def chromium(c): |
| 545 c.compile_py.default_targets = ['All', 'chromium_builder_tests'] | 547 c.compile_py.default_targets = ['All', 'chromium_builder_tests'] |
| 546 c.cros_sdk.external = True | 548 c.cros_sdk.external = True |
| 547 | 549 |
| 548 @config_ctx(includes=['ninja', 'clang', 'goma']) | 550 @config_ctx(includes=['ninja', 'clang', 'goma']) |
| 549 def chromium_win_clang(c): | 551 def chromium_win_clang(c): |
| 550 fastbuild(c, final=False) # final=False so win_clang_asan can override it. | 552 fastbuild(c, final=False) # final=False so win_clang_asan can override it. |
| 551 | 553 |
| 552 @config_ctx(includes=['ninja', 'clang', 'clang_tot']) # No goma. | 554 @config_ctx(includes=['ninja', 'clang', 'clang_tot']) # No goma. |
| 553 def chromium_win_clang_tot(c): | 555 def chromium_win_clang_tot(c): |
| 554 fastbuild(c) | 556 fastbuild(c) |
| 555 | 557 |
| 556 @config_ctx(includes=['chromium_win_clang', 'official']) | 558 @config_ctx(includes=['chromium_win_clang', 'official']) |
| 557 def chromium_win_clang_official(c): | 559 def chromium_win_clang_official(c): |
| 558 pass | 560 pass |
| 559 | 561 |
| 560 @config_ctx(includes=['chromium_win_clang_tot', 'official']) | 562 @config_ctx(includes=['chromium_win_clang_tot', 'official']) |
| 561 def chromium_win_clang_official_tot(c): | 563 def chromium_win_clang_official_tot(c): |
| 562 pass | 564 pass |
| 563 | 565 |
| 566 @config_ctx(includes=['win_asan', 'goma']) |
| 567 def chromium_win_clang_asan(c): |
| 568 pass |
| 569 |
| 564 @config_ctx(includes=['win_asan', 'clang_tot']) # No goma. | 570 @config_ctx(includes=['win_asan', 'clang_tot']) # No goma. |
| 565 def chromium_win_clang_asan_tot(c): | 571 def chromium_win_clang_asan_tot(c): |
| 566 pass | 572 pass |
| 567 | 573 |
| 568 @config_ctx(includes=['chromium_win_clang_asan_tot', 'sanitizer_coverage']) | 574 @config_ctx(includes=['chromium_win_clang_asan_tot', 'sanitizer_coverage']) |
| 569 def chromium_win_clang_asan_tot_coverage(c): | 575 def chromium_win_clang_asan_tot_coverage(c): |
| 570 pass | 576 pass |
| 571 | 577 |
| 572 @config_ctx(includes=['ninja', 'clang', 'clang_tot']) # No goma. | 578 @config_ctx(includes=['ninja', 'clang', 'clang_tot']) # No goma. |
| 573 def clang_tot_linux(c): | 579 def clang_tot_linux(c): |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 812 c.gyp_env.GYP_DEFINES['internal_gles2_conform_tests'] = 1 | 818 c.gyp_env.GYP_DEFINES['internal_gles2_conform_tests'] = 1 |
| 813 | 819 |
| 814 @config_ctx() | 820 @config_ctx() |
| 815 def build_angle_deqp_tests(c): | 821 def build_angle_deqp_tests(c): |
| 816 c.gyp_env.GYP_DEFINES['build_angle_deqp_tests'] = 1 | 822 c.gyp_env.GYP_DEFINES['build_angle_deqp_tests'] = 1 |
| 817 | 823 |
| 818 @config_ctx() | 824 @config_ctx() |
| 819 def force_mac_toolchain(c): | 825 def force_mac_toolchain(c): |
| 820 c.env.FORCE_MAC_TOOLCHAIN = 1 | 826 c.env.FORCE_MAC_TOOLCHAIN = 1 |
| 821 c.gyp_env.FORCE_MAC_TOOLCHAIN = 1 | 827 c.gyp_env.FORCE_MAC_TOOLCHAIN = 1 |
| OLD | NEW |