0056effb20
We are currently porting Chromium over to use the Perfetto client library for tracing[1]. When this mode is enabled, V8 should also use the Perfetto library built by Chromium instead of building an indepedendent copy. This patch enables that behavior, gated by the |use_perfetto_client_library| flag set by Chromium. We also roll Perfetto to the latest version, add a couple of missing dependencies on v8_tracing and add a missing tracing category group. [1] https://docs.google.com/document/d/1f7tt4cb-JcA5bQFR1oXk60ncJPpkL02_Hi_Bc6MfTQk/ (Internal) Bug: 155075662 Change-Id: I76d9626b1c83cb7a278dc3281b3a1db653ab8733 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182637 Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Sami Kyöstilä <skyostil@chromium.org> Cr-Commit-Position: refs/heads/master@{#67706}
59 lines
2.2 KiB
Plaintext
59 lines
2.2 KiB
Plaintext
# Copyright 2016 The V8 project authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# Variable that can be used to support multiple build scenarios, like having
|
|
# Chromium specific targets in a client project's GN file etc.
|
|
build_with_chromium = false
|
|
|
|
# Used by perfetto to distinguish from its own standalone build and the
|
|
# chromium build.
|
|
perfetto_build_with_embedder = true
|
|
|
|
# When embedding perfetto, its build files need to know in which BUILD.gn file
|
|
# the embedder (v8) declared the protobuf targets. In the v8 case they are
|
|
# declared in the root v8/BUILD.gn.
|
|
perfetto_protobuf_target_prefix = "//"
|
|
perfetto_protobuf_gni = "//gni/proto_library.gni"
|
|
|
|
# We use Perfetto's Trace Processor to convert traces to the legacy JSON
|
|
# format.
|
|
enable_perfetto_trace_processor = true
|
|
|
|
# When building with chromium, determines whether we want to also use the
|
|
# perfetto library from chromium instead declaring our own.
|
|
use_perfetto_client_library = false
|
|
|
|
# Uncomment these to specify a different NDK location and version in
|
|
# non-Chromium builds.
|
|
# default_android_ndk_root = "//third_party/android_ndk"
|
|
# default_android_ndk_version = "r10e"
|
|
|
|
# Some non-Chromium builds don't support building java targets.
|
|
enable_java_templates = false
|
|
|
|
# Some non-Chromium builds don't use Chromium's third_party/binutils.
|
|
linux_use_bundled_binutils_override = true
|
|
|
|
# Allows different projects to specify their own suppressions files.
|
|
asan_suppressions_file = "//build/sanitizers/asan_suppressions.cc"
|
|
lsan_suppressions_file = "//build/sanitizers/lsan_suppressions.cc"
|
|
tsan_suppressions_file = "//build/sanitizers/tsan_suppressions.cc"
|
|
|
|
# Skip assertions about 4GiB file size limit.
|
|
ignore_elf32_limitations = true
|
|
|
|
if (host_os == "mac") {
|
|
_result = exec_script("//build/mac/should_use_hermetic_xcode.py",
|
|
[ target_os ],
|
|
"value")
|
|
assert(_result != 2,
|
|
"Do not allow building targets with the default" +
|
|
"hermetic toolchain if the minimum OS version is not met.")
|
|
assert(_result != 3,
|
|
"iOS does not support building with a hermetic toolchain. " +
|
|
"Please install Xcode.")
|
|
|
|
use_system_xcode = _result == 0
|
|
}
|