OLD | NEW |
1 # Copyright 2017 The Chromium Authors. All rights reserved. | 1 # Copyright 2017 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/sanitizers/sanitizers.gni") | 5 import("//build/config/sanitizers/sanitizers.gni") |
6 | 6 |
7 if (current_toolchain != default_toolchain) { | 7 if (current_toolchain != default_toolchain) { |
8 use_custom_libcxx = false | 8 use_custom_libcxx = false |
9 } | 9 } |
10 | 10 |
11 declare_args() { | 11 declare_args() { |
12 # Use libc++ (buildtools/third_party/libc++ and | 12 # Use libc++ (buildtools/third_party/libc++ and |
13 # buildtools/third_party/libc++abi) instead of stdlibc++ as standard | 13 # buildtools/third_party/libc++abi) instead of stdlibc++ as standard |
14 # library. | 14 # library. |
| 15 # TODO(thomasanderson): Clean up this complex condition. The |
| 16 # is_tsan, is_msan, and (use_libfuzzer && !is_mac), clauses can be |
| 17 # removed since they are only used on non-CrOs Linux. is_ubsan can |
| 18 # probably also be removed for the same reason. |
15 use_custom_libcxx = | 19 use_custom_libcxx = |
16 (is_asan && is_linux && !is_chromeos && | 20 (is_linux && !is_chromeos && (!is_chromecast || is_cast_desktop_build)) || |
17 (!is_chromecast || is_cast_desktop_build)) || is_tsan || is_msan || | 21 is_tsan || is_msan || is_ubsan || is_ubsan_security || |
18 is_ubsan || is_ubsan_security || (use_libfuzzer && !is_mac) || use_afl | 22 (use_libfuzzer && !is_mac) || use_afl |
19 } | 23 } |
OLD | NEW |