mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
43 lines
2.0 KiB
Plaintext
43 lines
2.0 KiB
Plaintext
# Copyright 2017 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import("//build/config/sanitizers/sanitizers.gni")
|
|
|
|
declare_args() {
|
|
# Use libc++ (buildtools/third_party/libc++ and
|
|
# buildtools/third_party/libc++abi) instead of stdlibc++ as standard
|
|
# library.
|
|
# Don't check in changes that set this to false for more platforms; doing so
|
|
# is not supported.
|
|
use_custom_libcxx =
|
|
is_msan || is_fuchsia ||
|
|
(is_linux && is_clang &&
|
|
(!is_chromeos || default_toolchain != "//build/toolchain/cros:target"))
|
|
|
|
# Use libc++ instead of stdlibc++ when using the host_cpu toolchain, even if
|
|
# use_custom_libcxx is false. This is useful for cross-compiles where a custom
|
|
# toolchain for the target_cpu has been set as the default toolchain, but
|
|
# use_custom_libcxx should still be true when building for the host. The
|
|
# expected usage is to set use_custom_libcxx=false and
|
|
# use_custom_libcxx_for_host=true in the passed in buildargs.
|
|
use_custom_libcxx_for_host = false
|
|
|
|
# ASan, MSan and TSan builds need to override operator new, operator delete,
|
|
# and some exception handling symbols, so libc++ must be a shared library to
|
|
# prevent duplicate symbol errors when linking.
|
|
# Additionally, -fsanitize=vptr requires libc++ to be a shared library
|
|
# because the ubsan runtime library that implements -fsanitize=vptr calls
|
|
# dynamic_cast with the ABI type info classes, which won't return the right
|
|
# answer if each DSO has its own copy of the ABI classes.
|
|
libcpp_is_static = !is_component_build && !is_asan && !is_msan && !is_tsan &&
|
|
!is_ubsan && !is_ubsan_security && !is_ubsan_vptr
|
|
}
|
|
|
|
use_custom_libcxx =
|
|
use_custom_libcxx || (use_custom_libcxx_for_host && current_cpu == host_cpu)
|
|
|
|
libcxx_prefix = "//buildtools/third_party/libc++/trunk"
|
|
libcxxabi_prefix = "//buildtools/third_party/libc++abi/trunk"
|
|
libunwind_prefix = "//buildtools/third_party/libunwind/trunk"
|