blob: c2cbfff3d82aa844c7900a2d115b8eb80e8dd334 [file] [log] [blame]
# Copyright 2019 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.
# This file is used by the GN meta build system to find the root of the source
# tree and to set startup options. For documentation on the values set in this
# file, run "gn help dotfile" at the command line.
import("//build/dotfile_settings.gni")
# The location of the build configuration file.
buildconfig = "//build/config/BUILDCONFIG.gn"
# The secondary source root is a parallel directory tree where
# GN build files are placed when they can not be placed directly
# in the source tree, e.g. for third party source trees.
secondary_source = "//gn/"
# These are the targets to check headers for by default. The files in targets
# matching these patterns (see "gn help label_pattern" for format) will have
# their includes checked for proper dependencies when you run either
# "gn check" or "gn gen --check".
check_targets = ["*"]
# These are the list of GN files that run exec_script. This whitelist exists
# to force additional review for new uses of exec_script, which is strongly
# discouraged except for gypi_to_gn calls.
exec_script_allowlist =
build_dotfile_settings.exec_script_allowlist + [
"//v8/build_overrides/build.gni",
"//node/node_component.gni",
"//node/node.gni",
"//node/unofficial.gni",
"//node/deps/ada/unofficial.gni",
"//node/deps/base64/unofficial.gni",
"//node/deps/brotli/unofficial.gni",
"//node/deps/cares/unofficial.gni",
"//node/deps/googletest/unofficial.gni",
"//node/deps/histogram/unofficial.gni",
"//node/deps/llhttp/unofficial.gni",
"//node/deps/nbytes/unofficial.gni",
"//node/deps/ncrypto/unofficial.gni",
"//node/deps/nghttp2/unofficial.gni",
"//node/deps/openssl/unofficial.gni",
"//node/deps/simdjson/unofficial.gni",
"//node/deps/simdutf/unofficial.gni",
"//node/deps/sqlite/unofficial.gni",
"//node/deps/uvwasi/unofficial.gni",
"//node/deps/uv/unofficial.gni",
"//node/deps/v8/build_overrides/build.gni",
"//node/deps/zstd/unofficial.gni",
"//node/src/inspector/unofficial.gni",
"//node_tests/BUILD.gn",
]
# The python interpreter to use by default.
script_executable = "vpython3"
default_args = {
#########################################################
# V8 Node-CI options
node_v8_path = "//v8"
#########################################################
# Changeable defaults
# General build options
use_sysroot = true
is_component_build = false
# Node.js defaults.
node_report = true
is_debug = false
node_use_custom_libcxx = false
# V8 options.
v8_embedder_string = "-node.0"
#########################################################
# Alternative configuration not supported. Do not change.
# General build options.
clang_use_chrome_plugins = false
icu_use_data_file = false
# Node.js requires macOS 11 and later.
mac_deployment_target="11.0"
mac_min_system_version="11.0"
# V8 options catering towards Node.js use case.
v8_expose_symbols = true
v8_promise_internal_field_count = 1
v8_use_external_startup_data = false
v8_enable_javascript_promise_hooks = true
v8_array_buffer_internal_field_count = 2
v8_array_buffer_view_internal_field_count = 2
# The napi_create_external_buffer API of Node-API does not support sandbox and
# tests relying on it would fail with sandbox on.
v8_enable_sandbox = false
# TODO(cbruni, v8:12302): Remove once API is migrated
v8_scriptormodule_legacy_lifetime = true
#########################################################
# Perfetto options.
# Disable js dependencies like the closure compiler.
enable_js_protobuf = false
enable_perfetto_unittests = false
enable_perfetto_integration_tests = false
# Use Siso instead of Ninja.
use_siso = true
}