# 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")
import("//third_party/angle/dotfile_settings.gni")

# The location of the build configuration file.
buildconfig = "//build/config/BUILDCONFIG.gn"

# These arguments override the default values for items in a declare_args
# block. "gn args" in turn can override these.
#
# In general the value for a build arg in the declare_args block should be the
# default. In some cases, a DEPS-ed in project will want different defaults for
# being built as part of Chrome vs. being built standalone. In this case, the
# Chrome defaults should go here. There should be no overrides here for
# values declared in the main Chrome repository.
#
# Important note for defining defaults: This file is executed before the
# BUILDCONFIG.gn file. That file sets up the global variables like "is_ios".
# This means that the default_args can not depend on the platform,
# architecture, or other build parameters. If you really need that, the other
# repo should define a flag that toggles on a behavior that implements the
# additional logic required by Chrome to set the variables.
default_args = {
  # TODO(brettw) bug 684096: Chrome on iOS does not build v8, so "gn gen" prints
  # a warning that "Build argument has no effect". When adding a v8 variable, it
  # also needs to be defined to src/ios/BUILD.gn (respectively removed from both
  # location when it is removed).

  v8_extra_library_files = []
  v8_experimental_extra_library_files = []
  v8_enable_gdbjit = false
  v8_imminent_deprecation_warnings = false

  # TODO(jochen): Remove this. http://crbug.com/v8/5830,
  # http://crbug.com/728583.
  v8_check_microtasks_scopes_consistency = false

  # Don't include webrtc's builtin task queue implementation.
  rtc_link_task_queue_impl = false

  # Don't include the iLBC audio codec.
  # TODO(bugs.webrtc.org/8396): Once WebRTC gets rid of its internal
  # deps on codecs, we can remove this.
  rtc_include_ilbc = false

  # Changes some setup for the Crashpad build to set them to build against
  # Chromium's zlib, base, etc.
  crashpad_dependencies = "chromium"
}

# 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 = [
  "//android_webview/*",
  "//apps/*",
  "//ash/*",
  "//base/*",
  "//blink/*",
  "//build/*",
  "//buildtools/*",
  "//cc/*",

  #"//chrome/*",          # Many errors: https://crbug.com/949535

  "//chrome/android/*",
  "//chrome/app/*",
  "//chrome/app_shim/*",

  #"//chrome/browser/*",  # ~1300 errors
  #"//chrome/browser:*",  # ~600 errors
  "//chrome/browser/accessibility/*",
  "//chrome/browser/android/*",
  "//chrome/browser/app_mode/*",
  "//chrome/browser/apps/*",
  "//chrome/browser/assist_ranker/*",
  "//chrome/browser/autocomplete/*",
  "//chrome/browser/autofill/*",
  "//chrome/browser/background/*",
  "//chrome/browser/background_fetch/*",
  "//chrome/browser/background_sync/*",
  "//chrome/browser/banners/*",
  "//chrome/browser/bitmap_fetcher/*",
  "//chrome/browser/bookmarks/*",
  "//chrome/browser/browsing_data/*",
  "//chrome/browser/budget_service/*",
  "//chrome/browser/captive_portal/*",
  "//chrome/browser/chooser_controller/*",
  "//chrome/browser/chromeos/*",
  "//chrome/browser/client_hints/*",
  "//chrome/browser/clipboard/*",
  "//chrome/browser/component_updater/*",
  "//chrome/browser/consent_auditor/*",
  "//chrome/browser/content_settings/*",
  "//chrome/browser/crash_upload_list/*",
  "//chrome/browser/custom_handlers/*",
  "//chrome/browser/data_saver/*",
  "//chrome/browser/data_use_measurement/*",
  "//chrome/browser/dbus/*",

  #"//chrome/browser/devtools/*",  # 93 errors
  "//chrome/browser/diagnostics/*",
  "//chrome/browser/domain_reliability/*",
  "//chrome/browser/dom_distiller/*",
  "//chrome/browser/downgrade/*",
  "//chrome/browser/download/*",
  "//chrome/browser/drive/*",
  "//chrome/browser/engagement/*",
  "//chrome/browser/extensions/*",
  "//chrome/browser/external_protocol/*",
  "//chrome/browser/favicon/*",
  "//chrome/browser/feature_engagement/*",
  "//chrome/browser/feedback/*",
  "//chrome/browser/first_run/*",
  "//chrome/browser/gcm/*",
  "//chrome/browser/generic_sensor/*",
  "//chrome/browser/geolocation/*",
  "//chrome/browser/google/*",
  "//chrome/browser/gpu/*",
  "//chrome/browser/guest_view/*",
  "//chrome/browser/hang_monitor/*",
  "//chrome/browser/history/*",
  "//chrome/browser/importer/*",
  "//chrome/browser/infobars/*",
  "//chrome/browser/installable/*",
  "//chrome/browser/install_verification/*",
  "//chrome/browser/internal/*",
  "//chrome/browser/interstitials/*",
  "//chrome/browser/invalidation/*",
  "//chrome/browser/language/*",
  "//chrome/browser/lifetime/*",

  #"//chrome/browser/loader/*",  # 2 errors
  "//chrome/browser/local_discovery/*",
  "//chrome/browser/mac/*",

  #"//chrome/browser/media/*",  # 74 errors
  "//chrome/browser/media_galleries/*",
  "//chrome/browser/memory/*",
  "//chrome/browser/metrics/*",
  "//chrome/browser/nacl_host/*",
  "//chrome/browser/navigation_predictor/*",
  "//chrome/browser/net/*",
  "//chrome/browser/notifications/*",
  "//chrome/browser/ntp_snippets/*",
  "//chrome/browser/ntp_tiles/*",
  "//chrome/browser/obsolete_system/*",
  "//chrome/browser/offline_items_collection/*",
  "//chrome/browser/offline_pages/*",
  "//chrome/browser/page_load_metrics/*",
  "//chrome/browser/password_manager/*",
  "//chrome/browser/payments/*",
  "//chrome/browser/pdf/*",
  "//chrome/browser/performance_monitor/*",
  "//chrome/browser/permissions/*",
  "//chrome/browser/picture_in_picture/*",
  "//chrome/browser/plugins/*",

  # "//chrome/browser/policy/*",  # 1 error on Windows
  "//chrome/browser/predictors/*",
  "//chrome/browser/prefetch/*",
  "//chrome/browser/prefs/*",
  "//chrome/browser/prerender/*",
  "//chrome/browser/previews/*",
  "//chrome/browser/printing/*",
  "//chrome/browser/profile_resetter/*",
  "//chrome/browser/profiles/*",

  #"//chrome/browser/profiling_host/*",  # 16 errors
  "//chrome/browser/push_messaging/*",
  "//chrome/browser/recovery/*",
  "//chrome/browser/renderer_context_menu/*",
  "//chrome/browser/renderer_host/*",
  "//chrome/browser/resource_coordinator/*",

  #"//chrome/browser/resources/*",  # 18 errors on ChromeOS
  "//chrome/browser/rlz/*",

  #"//chrome/browser/safe_browsing/*",  # 239 errors
  "//chrome/browser/search/*",
  "//chrome/browser/search_engines/*",
  "//chrome/browser/search_provider_logos/*",
  "//chrome/browser/service_process/*",
  "//chrome/browser/sessions/*",
  "//chrome/browser/signin/*",
  "//chrome/browser/speech/*",
  "//chrome/browser/spellchecker/*",
  "//chrome/browser/ssl/*",
  "//chrome/browser/status_icons/*",
  "//chrome/browser/storage/*",
  "//chrome/browser/subresource_filter/*",
  "//chrome/browser/supervised_user/*",
  "//chrome/browser/sync/*",
  "//chrome/browser/sync_file_system/*",
  "//chrome/browser/tab_contents/*",
  "//chrome/browser/task_manager/*",
  "//chrome/browser/themes/*",
  "//chrome/browser/tracing/*",
  "//chrome/browser/translate/*",
  "//chrome/browser/ui/*",
  "//chrome/browser/undo/*",
  "//chrome/browser/unified_consent/*",
  "//chrome/browser/update_client/*",
  "//chrome/browser/upgrade_detector/*",
  "//chrome/browser/usb/*",
  "//chrome/browser/vr/*",
  "//chrome/browser/web_applications/*",
  "//chrome/browser/webauthn/*",
  "//chrome/browser/webshare/*",
  "//chrome/browser/win/*",

  "//chrome/build/*",

  #"//chrome/child/*",  # 1 error on Windows
  "//chrome/chrome_elf/*",
  "//chrome/chrome_cleaner/*",

  "//chrome/common/*",

  #"//chrome/elevation_service/*",  # 1 error on Windows
  #"//chrome/gpu/*",  # 7 errors
  "//chrome/installer/*",

  #"//chrome/install_static/*",  # 8 errors on Windows
  "//chrome/nacl/*",

  #"//chrome/notification_helper/*",  # 4 errors on Windows
  #"//chrome/renderer/*",  # ~30 errors
  #"//chrome/service/*",  # 2 errors
  #"//chrome/services/*",  # ~30 errors
  #"//chrome/test/*",  # ~1900 errors
  "//chrome/test/chromedriver",
  "//chrome/third_party/*",
  "//chrome/tools/*",
  "//chrome/utility/*",

  "//chromecast/*",
  "//chromeos/*",
  "//cloud_print/*",
  "//components/*",
  "//content/*",
  "//courgette/*",
  "//crypto/*",
  "//data/*",
  "//dbus/*",
  "//device/*",

  #"//extensions/*",  # Lots of errors.
  "//extensions:extensions_resources",
  "//extensions:extensions_browsertests",
  "//extensions:extensions_unittests",
  "//extensions/browser",
  "//extensions/browser:core_api_provider",
  "//extensions/browser:browser_tests",
  "//extensions/browser:test_support",
  "//extensions/browser:unit_tests",
  "//extensions/browser/api:api_registration",
  "//extensions/browser/install:*",
  "//extensions/browser/kiosk/*",
  "//extensions/browser/guest_view/web_view/web_ui/*",
  "//extensions/common/*",
  "//extensions/components/javascript_dialog_extensions_client",
  "//extensions/components/native_app_window",
  "//extensions/renderer/*",
  "//extensions/shell/*",
  "//extensions/strings/*",
  "//fuchsia/*",
  "//gin/*",
  "//google_apis/*",
  "//google_update/*",
  "//gpu/*",

  "//ios/*",
  "//ios_internal/*",
  "//ipc/*",

  #"//jingle/*",

  "//libassistant/communication/*",
  "//libinteraction/*",

  "//media/*",
  "//mojo/*",

  #"//native_client/*",
  "//net/*",

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

  #"//remoting/*",  # Medium-hard.
  "//rlz/*",

  #"//sandbox/*",  # Medium-hard.
  "//services/*",
  "//skia/*",
  "//sql/*",
  "//storage/*",
  "//testing/*",

  #"//third_party/*",  # May not ever want this.
  "//third_party:freetype_harfbuzz",
  "//third_party/Python-Markdown/*",
  "//third_party/SPIRV-Tools/*",
  "//third_party/abseil-cpp/*",
  "//third_party/accessibility-audit/*",
  "//third_party/accessibility_test_framework/*",
  "//third_party/adobe/*",
  "//third_party/afl/*",
  "//third_party/android_build_tools/*",
  "//third_party/android_crazy_linker/*",
  "//third_party/android_data_chart/*",
  "//third_party/android_deps/*",
  "//third_party/android_media/*",
  "//third_party/android_ndk/*",
  "//third_party/android_opengl/*",
  "//third_party/android_platform/*",
  "//third_party/android_protobuf/*",
  "//third_party/android_sdk/*",
  "//third_party/android_support_test_runner/*",
  "//third_party/android_swipe_refresh/*",
  "//third_party/android_system_sdk/*",
  "//third_party/android_testrunner/*",
  "//third_party/angle/*",
  "//third_party/apache-portable-runtime/*",
  "//third_party/apache_velocity/*",
  "//third_party/apache-win32/*",
  "//third_party/apk-patch-size-estimator/*",
  "//third_party/apple_apsl/*",
  "//third_party/appurify-python/*",
  "//third_party/arcore-android-sdk/*",
  "//third_party/ashmem/*",
  "//third_party/axe-core/*",
  "//third_party/bazel/*",
  "//third_party/binutils/*",
  "//third_party/blanketjs/*",

  # "//third_party/blink/*",  # Errors: https://crbug.com/800764
  "//third_party/blink/public/*",

  #"//third_party/breakpad/*",  # Small errors.
  "//third_party/boringssl/*",
  "//third_party/bouncycastle/*",
  "//third_party/brotli/*",
  "//third_party/bspatch/*",
  "//third_party/byte_buddy/*",
  "//third_party/cacheinvalidation/*",
  "//third_party/catapult/*",
  "//third_party/cct_dynamic_module/*",

  # "//third_party/ced/*",  # 6 errors
  "//third_party/chaijs/*",
  "//third_party/checkstyle/*",
  "//third_party/chromevox/*",
  "//third_party/chromite/*",
  "//third_party/cld_2/*",
  "//third_party/cld_3/*",
  "//third_party/closure_compiler/*",
  "//third_party/colorama/*",

  # "//third_party/crashpad/*", 20ish errors
  "//third_party/crc32c/*",
  "//third_party/cros_system_api/*",
  "//third_party/cython/*",
  "//third_party/d3/*",
  "//third_party/dawn/*",
  "//third_party/decklink/*",
  "//third_party/depot_tools/*",
  "//third_party/deqp/*",
  "//third_party/devscripts/*",
  "//third_party/dom_distiller_js/*",
  "//third_party/elfutils/*",
  "//third_party/espresso/*",
  "//third_party/expat/*",
  "//third_party/eyesfree/*",

  # "//third_party/ffmpeg/*",  # android_cronet only https://crbug.com/898793
  "//third_party/flac/*",
  "//third_party/flatbuffers/*",
  "//third_party/fontconfig/*",
  "//third_party/freetype/*",
  "//third_party/freetype2/*",
  "//third_party/freetype-android/*",
  "//third_party/fuchsia-sdk/*",
  "//third_party/gif_player/*",
  "//third_party/glfw/*",
  "//third_party/glslang/*",
  "//third_party/google_appengine_cloudstorage/*",
  "//third_party/google_input_tools/*",
  "//third_party/googletest/*",
  "//third_party/google_toolbox_for_mac/*",
  "//third_party/google-truth/*",
  "//third_party/gradle_wrapper/*",
  "//third_party/guava/*",
  "//third_party/gvr-android-keyboard/*",
  "//third_party/gvr-android-sdk/*",
  "//third_party/hamcrest/*",
  "//third_party/harfbuzz-ng/*",
  "//third_party/hunspell/*",
  "//third_party/hunspell/*",
  "//third_party/hunspell_dictionaries/*",
  "//third_party/iaccessible2/*",
  "//third_party/iccjpeg/*",

  # "//third_party/icu/*",  # Many errors
  "//third_party/icu4j/*",
  "//third_party/ijar/*",
  "//third_party/ink/*",
  "//third_party/inspector_protocol/*",
  "//third_party/instrumented_libraries/*",
  "//third_party/isimpledom/*",
  "//third_party/javax_inject/*",
  "//third_party/jinja2/*",
  "//third_party/jsoncpp/*",
  "//third_party/jsr-305/*",
  "//third_party/jstemplate/*",
  "//third_party/junit/*",
  "//third_party/khronos/*",
  "//third_party/lcov/*",
  "//third_party/leakcanary/*",
  "//third_party/leveldatabase/*",
  "//third_party/libFuzzer/*",
  "//third_party/libXNVCtrl/*",
  "//third_party/libaddressinput/*",

  # "//third_party/libaom/*",  # https://crbug.com/899771
  "//third_party/libc++/*",
  "//third_party/libc++abi/*",
  "//third_party/libcxx-pretty-printers/*",
  "//third_party/libdrm/*",
  "//third_party/libexif/*",
  "//third_party/libgav1/*",
  "//third_party/libjingle/*",

  # "//third_party/libjingle_xmpp/*",  # 30ish errors
  "//third_party/libjpeg/*",

  # "//third_party/libjpeg_turbo/*",  # 3 errors
  # "//third_party/liblouis/*",  # Small errors
  "//third_party/libovr/*",
  "//third_party/libphonenumber/*",
  "//third_party/libpng/*",
  "//third_party/libprotobuf-mutator/*",
  "//third_party/libsecret/*",
  "//third_party/libsrtp/*",
  "//third_party/libsync/*",
  "//third_party/libudev/*",
  "//third_party/libusb/*",

  # "//third_party/libvpx/*",  # Many errors
  "//third_party/libvpx_new/*",
  "//third_party/libwebm/*",

  #"//third_party/libwebp/*",  # Errors: https://crbug.com/800762
  "//third_party/libxml/*",
  "//third_party/libxslt/*",
  "//third_party/libyuv/*",
  "//third_party/llvm/*",
  "//third_party/llvm-bootstrap/*",
  "//third_party/llvm-bootstrap-install/*",
  "//third_party/llvm-build-tools/*",
  "//third_party/logilab/*",
  "//third_party/lss/*",
  "//third_party/lzma_sdk/*",
  "//third_party/markdown/*",
  "//third_party/markupsafe/*",
  "//third_party/material_design_icons/*",
  "//third_party/mesa_headers/*",
  "//third_party/metrics_proto/*",
  "//third_party/minigbm/*",
  "//third_party/minizip/*",
  "//third_party/mocha/*",
  "//third_party/mockito/*",
  "//third_party/modp_b64/*",
  "//third_party/motemplate/*",
  "//third_party/mozilla/*",
  "//third_party/mtpd/*",
  "//third_party/netty4/*",
  "//third_party/netty-tcnative/*",
  "//third_party/node/*",
  "//third_party/nvml/*",
  "//third_party/objenesis/*",
  "//third_party/ocmock/*",
  "//third_party/openh264/*",
  "//third_party/openvr/*",
  "//third_party/opus/*",
  "//third_party/ots/*",

  # "//third_party/pdfium/*",  # 3 errors
  "//third_party/perfetto/*",
  "//third_party/pexpect/*",
  "//third_party/ply/*",
  "//third_party/polymer/*",
  "//third_party/proguard/*",
  "//third_party/protobuf/*",
  "//third_party/pycoverage/*",
  "//third_party/pyelftools/*",
  "//third_party/pyjson5/*",
  "//third_party/pylint/*",
  "//third_party/pymock/*",
  "//third_party/pystache/*",
  "//third_party/py_trace_event/*",
  "//third_party/pywebsocket/*",
  "//third_party/qcms/*",
  "//third_party/quic_trace/*",
  "//third_party/qunit/*",
  "//third_party/r8/*",
  "//third_party/re2/*",
  "//third_party/requests/*",
  "//third_party/retrolambda/*",
  "//third_party/rnnoise/*",
  "//third_party/robolectric/*",
  "//third_party/s2cellid/*",
  "//third_party/safe_browsing/*",
  "//third_party/scan-build/*",
  "//third_party/shaderc/*",
  "//third_party/simplejson/*",
  "//third_party/sinonjs/*",
  "//third_party/skia/*",
  "//third_party/smhasher/*",
  "//third_party/snappy/*",
  "//third_party/speech-dispatcher/*",
  "//third_party/spirv-cross/*",
  "//third_party/spirv-headers/*",
  "//third_party/sqlite/*",
  "//third_party/sqlite4java/*",
  "//third_party/stp/*",
  "//third_party/sudden_motion_sensor/*",
  "//third_party/swiftshader/*",
  "//third_party/swig/*",
  "//third_party/tcmalloc/*",
  "//third_party/test_fonts/*",
  "//third_party/tlslite/*",
  "//third_party/ub-uiautomator/*",
  "//third_party/unrar/*",
  "//third_party/usb_ids/*",
  "//third_party/usrsctp/*",
  "//third_party/v4l-utils/*",
  "//third_party/valgrind/*",
  "//third_party/vulkan/*",
  "//third_party/vulkan-validation-layers/*",

  # "//third_party/wayland/*",  # Small errors
  "//third_party/wayland-protocols/*",
  "//third_party/wds/*",
  "//third_party/web-animations-js/*",
  "//third_party/webdriver/*",
  "//third_party/webgl/*",
  "//third_party/webpagereplay/*",
  "//third_party/webrtc/*",
  "//third_party/webrtc_overrides/*",
  "//third_party/widevine/*",
  "//third_party/win_build_output/*",
  "//third_party/woff2/*",
  "//third_party/wtl/*",
  "//third_party/xdg-utils/*",
  "//third_party/xstream/*",
  "//third_party/yasm/*",
  "//third_party/zlib/*",
  "//third_party/woff2/*",

  "//tools/*",
  "//ui/*",
  "//url/*",

  #"//v8/*",  # Errors: https://bugs.chromium.org/p/v8/issues/detail?id=7330

  "//weblayer/*",
]

# 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.
#
# PLEASE READ
#
# You should almost never need to add new exec_script calls. exec_script is
# slow, especially on Windows, and can cause confusing effects. Although
# individually each call isn't slow or necessarily very confusing, at the scale
# of our repo things get out of hand quickly. By strongly pushing back on all
# additions, we keep the build fast and clean. If you think you need to add a
# new call, please consider:
#
# - Do not use a script to check for the existence of a file or directory to
#   enable a different mode. Instead, use GN build args to enable or disable
#   functionality and set options. An example is checking for a file in the
#   src-internal repo to see if the corresponding src-internal feature should
#   be enabled. There are several things that can go wrong with this:
#
#    - It's mysterious what causes some things to happen. Although in many cases
#      such behavior can be conveniently automatic, GN optimizes for explicit
#      and obvious behavior so people can more easily diagnose problems.
#
#    - The user can't enable a mode for one build and not another. With GN build
#      args, the user can choose the exact configuration of multiple builds
#      using one checkout. But implicitly basing flags on the state of the
#      checkout, this functionality is broken.
#
#    - It's easy to get stale files. If for example the user edits the gclient
#      to stop checking out src-internal (or any other optional thing), it's
#      easy to end up with stale files still mysteriously triggering build
#      conditions that are no longer appropriate (yes, this happens in real
#      life).
#
# - Do not use a script to iterate files in a directory (glob):
#
#    - This has the same "stale file" problem as the above discussion. Various
#      operations can leave untracked files in the source tree which can cause
#      surprising effects.
#
#    - It becomes impossible to use "git grep" to find where a certain file is
#      referenced. This operation is very common and people really do get
#      confused when things aren't listed.
#
#    - It's easy to screw up. One common case is a build-time script that packs
#      up a directory. The author notices that the script isn't re-run when the
#      directory is updated, so adds a glob so all the files are listed as
#      inputs. This seems to work great... until a file is deleted. When a
#      file is deleted, all the inputs the glob lists will still be up to date
#      and no command-lines will have been changed. The action will not be
#      re-run and the build will be broken. It is possible to get this correct
#      using glob, and it's possible to mess it up without glob, but globs make
#      this situation much easier to create. if the build always lists the
#      files and passes them to a script, it will always be correct.

exec_script_whitelist =
    build_dotfile_settings.exec_script_whitelist +
    angle_dotfile_settings.exec_script_whitelist +
    [
      # Whitelist entries for //build should go into
      # //build/dotfile_settings.gni instead, so that they can be shared
      # with other repos. The entries in this list should be only for files
      # in the Chromium repo outside of //build.
      "//build_overrides/build.gni",

      "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn",

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

      "//google_apis/BUILD.gn",
      "//printing/BUILD.gn",

      "//remoting/host/installer/linux/BUILD.gn",
      "//remoting/remoting_version.gni",
      "//remoting/host/installer/win/generate_clsids.gni",

      "//tools/grit/grit_rule.gni",
      "//tools/gritsettings/BUILD.gn",
    ]
