# 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 = {
  linux_use_bundled_binutils = false
  use_sysroot = false

  # TODO(ry) We may want to turn on CFI at some point. Disabling for simplicity
  # for now. See http://clang.llvm.org/docs/ControlFlowIntegrity.html
  is_cfi = false
  use_dummy_lastchange = true
  treat_warnings_as_errors = true

  # https://cs.chromium.org/chromium/src/docs/ccache_mac.md
  clang_use_chrome_plugins = false
  v8_enable_gdbjit = false
  v8_enable_i18n_support = false
  v8_enable_shared_ro_heap = false  # See #2624
  v8_imminent_deprecation_warnings = false
  v8_monolithic = false
  v8_untrusted_code_mitigations = false
  v8_use_external_startup_data = false
  v8_use_snapshot = true
  v8_postmortem_support = true  # for https://github.com/nodejs/llnode/

  # We don't want to require downloading the binary executable
  # tools/clang/dsymutil.
  enable_dsyms = false

  # TODO(ry) Remove this so debug builds can link faster. Currently removing
  # this breaks cargo build in debug mode in OSX.
  is_component_build = false

  # Without this the linker produces an invalid executable on some Windows
  # systems. It's unclear why that happens.
  symbol_level = 1
}