# 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. # The location of the build configuration file. buildconfig = "//build/config/BUILDCONFIG.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 = [] # 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 = "//v8/" default_args = { clang_use_chrome_plugins = false is_component_build = false linux_use_bundled_binutils = false use_dummy_lastchange = true use_sysroot = false win_crt_flavor_agnostic = true # Minimize size of debuginfo in distributed static library. line_tables_only = true no_inline_line_tables = true symbol_level = 1 use_debug_fission = false v8_enable_sandbox = false v8_enable_snapshot_compression = false v8_enable_javascript_promise_hooks = true v8_promise_internal_field_count = 1 v8_use_external_startup_data = false v8_use_snapshot = true # Disable handle zapping for performance v8_enable_handle_zapping = false # Ensure allocation of typed arrays and arraybuffers always goes through # the embedder's ArrayBufferAllocator, otherwise small buffers get moved # around by the garbage collector but embedders normally want them to have # fixed addresses. v8_typed_array_max_size_in_heap = 0 # Enabling the shared read-only heap comes with a restriction that all # isolates running at the same time must be created from the same snapshot. # This is problematic for Deno, which has separate "runtime" and "typescript # compiler" snapshots, and sometimes uses them both at the same time. v8_enable_shared_ro_heap = false # V8 11.6 hardcoded an assumption in `mksnapshot` that shared RO heap # is enabled. In our case it's disabled so without this flag we can't # compile. v8_enable_verify_heap = false # V8 introduced a bug in 11.1 that causes the External Pointer Table to never # be cleaned which causes resource exhaustion. Disabling pointer compression # makes sure that the EPT is not used. # https://bugs.chromium.org/p/v8/issues/detail?id=13640&q=garbage%20collection&can=2 v8_enable_pointer_compression = false # Maglev *should* be supported when pointer compression is disabled as per # https://chromium-review.googlesource.com/c/v8/v8/+/4753150, but it still # fails to compile. v8_enable_maglev = false # Enable Deno-specific extra bindings deno_enable_extras = true }