# 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"

# 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 = "//build/secondary/"

# 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 = [
  #"//apps/*",  # Medium-hard.
  #"//ash/*",  # Medium-hard.
  #"//base/*",  # Needs GN binary changes to work on Android.
  "//blink/*",
  "//breakpad/*",
  "//build/*",
  "//cc/*",

  #"//chrome/*",  # Epic number of errors.
  "//chrome/installer/*",
  "//chromecast/*",

  # TODO(brettw): Fix http://crbug.com/460828 and uncomment the following
  # line.
  #"//chrome_elf/*",
  "//cloud_print/*",

  #"//components/*",  # Lots of errors.
  #"//content/*",  # A whole lot of errors.
  "//courgette/*",
  "//crypto/*",
  "//data/*",
  "//dbus/*",
  "//device/*",

  #"//extensions/*",  # Lots of errors.
  #"//gin/*",  # Easy.
  "//google_apis/*",
  "//google_update/*",

  #"//gpu/*",  # Lots of errors.
  "//gpu:*",

  #"//ios/*",
  "//ipc/*",

  #"//jingle/*",
  #"//media/*",  # Lots of errors.
  #"//mojo/*",
  #"//native_client/*",
  #"//net/*",  # Needs GN binary changes to work on Android.

  #"//pdf/*",  # Medium-hard.
  #"//ppapi/*",  # Lots of errors.
  "//printing/*",

  #"//remoting/*",  # Medium-hard.
  #"//rlz/*",  # Needs checking on Windows.
  #"//sandbox/*",  # Medium-hard.
  "//sdch/*",
  "//skia/*",
  "//sql/*",
  "//storage/*",
  "//sync/*",
  "//testing/*",

  #"//third_party/*",  # May not ever want this.
  "//tools/*",

  #"//ui/*",  # Just a few problems.
  "//url/*",
  "//v8/*",
]

# 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_whitelist = [
  "//ash/BUILD.gn",
  "//build/config/android/BUILD.gn",
  "//build/config/android/config.gni",
  "//build/config/android/internal_rules.gni",
  "//build/config/android/rules.gni",
  "//build/config/compiler/BUILD.gn",
  "//build/config/gcc/gcc_version.gni",
  "//build/config/ios/ios_sdk.gni",
  "//build/config/linux/BUILD.gn",
  "//build/config/linux/pkg_config.gni",
  "//build/config/mac/mac_sdk.gni",
  "//build/config/win/visual_studio_version.gni",
  "//build/gn_helpers.py",
  "//build/gypi_to_gn.py",
  "//build/toolchain/gcc_toolchain.gni",
  "//build/toolchain/mac/BUILD.gn",
  "//build/toolchain/win/BUILD.gn",
  "//chrome/android/BUILD.gn",
  "//chrome/browser/BUILD.gn",
  "//chrome/browser/chromeos/BUILD.gn",
  "//chrome/browser/extensions/BUILD.gn",
  "//chrome/browser/media/router/BUILD.gn",
  "//chrome/browser/ui/BUILD.gn",
  "//chrome/chrome_tests.gni",
  "//chrome/common/BUILD.gn",
  "//chrome/common/extensions/api/schemas.gni",
  "//chrome/renderer/BUILD.gn",
  "//chrome/test/BUILD.gn",
  "//chrome/utility/BUILD.gn",
  "//chromeos/BUILD.gn",

  # TODO(dgn): Layer violation but breaks the build otherwise, see
  # https://crbug.com/474506
  "//clank/java/BUILD.gn",
  "//clank/native/framework/BUILD.gn",

  "//components/domain_reliability/BUILD.gn",
  "//components/scheduler/scheduler.gni",
  "//components/webui_generator/generator/wug.gni",
  "//content/browser/browser.gni",
  "//content/child/child.gni",
  "//content/common/common.gni",
  "//content/content.gni",
  "//content/public/android/BUILD.gn",
  "//content/renderer/renderer.gni",
  "//content/test/BUILD.gn",
  "//content/utility/utility.gni",
  "//extensions/common/api/schemas.gni",
  "//extensions/extensions.gni",
  "//extensions/shell/app_shell.gni",
  "//extensions/shell/common/api/schemas.gni",
  "//google_apis/BUILD.gn",
  "//gpu/gles2_conform_support/BUILD.gn",
  "//jingle/BUILD.gn",
  "//native_client/build/toolchain/gcc_toolchain.gni",
  "//native_client/build/toolchain/nacl/BUILD.gn",
  "//native_client/build/config/android/BUILD.gn",
  "//native_client/build/config/gcc/gcc_version.gni",
  "//native_client/build/config/ios/ios_sdk.gni",
  "//native_client/build/config/linux/BUILD.gn",
  "//native_client/build/config/linux/pkg_config.gni",
  "//native_client/build/config/mac/mac_sdk.gni",
  "//native_client/build/config/win/visual_studio_version.gni",
  "//native_client/build/toolchain/gcc_toolchain.gni",
  "//native_client/build/toolchain/mac/BUILD.gn",
  "//native_client/build/toolchain/nacl/BUILD.gn",
  "//native_client/build/toolchain/win/BUILD.gn",
  "//net/BUILD.gn",
  "//ppapi/ppapi_sources.gni",
  "//printing/BUILD.gn",
  "//remoting/host/BUILD.gn",
  "//remoting/remoting_srcs.gni",
  "//remoting/remoting_version.gni",
  "//skia/BUILD.gn",
  "//third_party/android_platform/BUILD.gn",
  "//third_party/angle/BUILD.gn",
  "//third_party/boringssl/BUILD.gn",
  "//third_party/cld_2/BUILD.gn",
  "//third_party/cython/rules.gni",
  "//third_party/google_input_tools/inputview.gni",
  "//third_party/harfbuzz-ng/BUILD.gn",
  "//third_party/libaddressinput/BUILD.gn",
  "//third_party/opus/BUILD.gn",
  "//third_party/trace-viewer/BUILD.gn",
  "//third_party/WebKit/Source/bindings/bindings.gni",
  "//third_party/WebKit/Source/bindings/scripts/scripts.gni",
  "//third_party/WebKit/Source/config.gni",
  "//third_party/WebKit/Source/core/core.gni",
  "//third_party/WebKit/Source/devtools/BUILD.gn",
  "//third_party/WebKit/Source/modules/modules.gni",
  "//third_party/WebKit/Source/platform/BUILD.gn",
  "//third_party/WebKit/Source/platform/platform.gni",
  "//third_party/WebKit/Source/web/BUILD.gn",
  "//third_party/WebKit/Source/wtf/BUILD.gn",
  "//tools/gn/BUILD.gn",
  "//tools/gn/build_settings.h",
  "//tools/gn/command_help.cc",
  "//tools/gn/docs/language.md",
  "//tools/gn/format_test_data/053.gn",
  "//tools/gn/format_test_data/053.golden",
  "//tools/gn/format_test_data/055.gn",
  "//tools/gn/format_test_data/055.golden",
  "//tools/gn/function_exec_script.cc",
  "//tools/gn/gn.gyp",
  "//tools/gn/input_conversion.cc",
  "//tools/gn/misc/emacs/gn.el",
  "//tools/gn/misc/vim/syntax/gn.vim",
  "//tools/gn/setup.cc",
  "//ui/views/BUILD.gn",
]
