11cb0ef41Sopenharmony_ci# Copyright 2016 The V8 project authors. All rights reserved.
21cb0ef41Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be
31cb0ef41Sopenharmony_ci# found in the LICENSE file.
41cb0ef41Sopenharmony_ci
51cb0ef41Sopenharmony_ci# Variable that can be used to support multiple build scenarios, like having
61cb0ef41Sopenharmony_ci# Chromium specific targets in a client project's GN file etc.
71cb0ef41Sopenharmony_cibuild_with_chromium = false
81cb0ef41Sopenharmony_ci
91cb0ef41Sopenharmony_ci# Used by perfetto to distinguish from its own standalone build and the
101cb0ef41Sopenharmony_ci# chromium build.
111cb0ef41Sopenharmony_ciperfetto_build_with_embedder = true
121cb0ef41Sopenharmony_ci
131cb0ef41Sopenharmony_ci# When embedding perfetto, its build files need to know in which BUILD.gn file
141cb0ef41Sopenharmony_ci# the embedder (v8) declared the protobuf targets. In the v8 case they are
151cb0ef41Sopenharmony_ci# declared in the root v8/BUILD.gn.
161cb0ef41Sopenharmony_ciperfetto_protobuf_target_prefix = "//"
171cb0ef41Sopenharmony_ciperfetto_protobuf_gni = "//gni/proto_library.gni"
181cb0ef41Sopenharmony_ci
191cb0ef41Sopenharmony_ci# We use Perfetto's Trace Processor to convert traces to the legacy JSON
201cb0ef41Sopenharmony_ci# format.
211cb0ef41Sopenharmony_cienable_perfetto_trace_processor = true
221cb0ef41Sopenharmony_ci
231cb0ef41Sopenharmony_ci# When building with chromium, determines whether we want to also use the
241cb0ef41Sopenharmony_ci# perfetto library from chromium instead declaring our own.
251cb0ef41Sopenharmony_ciuse_perfetto_client_library = false
261cb0ef41Sopenharmony_ci
271cb0ef41Sopenharmony_ci# Uncomment these to specify a different NDK location and version in
281cb0ef41Sopenharmony_ci# non-Chromium builds.
291cb0ef41Sopenharmony_ci# default_android_ndk_root = "//third_party/android_ndk"
301cb0ef41Sopenharmony_ci# default_android_ndk_version = "r10e"
311cb0ef41Sopenharmony_ci
321cb0ef41Sopenharmony_ci# Some non-Chromium builds don't support building java targets.
331cb0ef41Sopenharmony_cienable_java_templates = false
341cb0ef41Sopenharmony_ci
351cb0ef41Sopenharmony_ci# Allows different projects to specify their own suppressions files.
361cb0ef41Sopenharmony_ciasan_suppressions_file = "//build/sanitizers/asan_suppressions.cc"
371cb0ef41Sopenharmony_cilsan_suppressions_file = "//build/sanitizers/lsan_suppressions.cc"
381cb0ef41Sopenharmony_citsan_suppressions_file = "//build/sanitizers/tsan_suppressions.cc"
391cb0ef41Sopenharmony_ci
401cb0ef41Sopenharmony_ci# Skip assertions about 4GiB file size limit.
411cb0ef41Sopenharmony_ciignore_elf32_limitations = true
421cb0ef41Sopenharmony_ci
431cb0ef41Sopenharmony_ciif (host_os == "mac") {
441cb0ef41Sopenharmony_ci  _result = exec_script("//build/mac/should_use_hermetic_xcode.py",
451cb0ef41Sopenharmony_ci                        [ target_os ],
461cb0ef41Sopenharmony_ci                        "value")
471cb0ef41Sopenharmony_ci  assert(_result != 2,
481cb0ef41Sopenharmony_ci         "Do not allow building targets with the default" +
491cb0ef41Sopenharmony_ci             "hermetic toolchain if the minimum OS version is not met.")
501cb0ef41Sopenharmony_ci  assert(_result != 3,
511cb0ef41Sopenharmony_ci         "iOS does not support building with a hermetic toolchain. " +
521cb0ef41Sopenharmony_ci             "Please install Xcode.")
531cb0ef41Sopenharmony_ci
541cb0ef41Sopenharmony_ci  use_system_xcode = _result == 0
551cb0ef41Sopenharmony_ci}
56