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

# 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 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 = [
    # Dependencies used by the extra libraries. Putting them here causes them
    # to be executed first during snapshot creation.
    "//third_party/blink/renderer/core/streams/CommonOperations.js",
    "//third_party/blink/renderer/core/streams/CommonStrings.js",
    "//third_party/blink/renderer/core/streams/SimpleQueue.js",

    # Extra libraries.
    "//third_party/blink/renderer/core/streams/ByteLengthQueuingStrategy.js",
    "//third_party/blink/renderer/core/streams/CountQueuingStrategy.js",
    "//third_party/blink/renderer/core/streams/ReadableStream.js",
    "//third_party/blink/renderer/core/streams/WritableStream.js",
    "//third_party/blink/renderer/core/streams/TransformStream.js",
  ]
  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 = [
  "//apps/*",
  "//ash/*",
  "//base/*",
  "//blink/*",
  "//build/*",
  "//cc/*",

  #"//chrome/android/*",  # 13 errors
  "//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/conflicts/*",
  "//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/thumbnails/*",
  "//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_cleaner/*",

  #"//chrome/chrome_watcher/*",  # 3 errors on Windows
  "//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/*",  # ~3000 errors
  "//chrome/third_party/*",
  "//chrome/tools/*",
  "//chrome/utility/*",

  "//chromecast/*",
  "//chromeos/*",
  "//chrome_elf/*",
  "//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:browser_tests",
  "//extensions/browser:unit_tests",
  "//extensions/browser/install:*",
  "//extensions/common/*",
  "//extensions/components/javascript_dialog_extensions_client",
  "//extensions/components/native_app_window",
  "//extensions/renderer:unit_tests",
  "//extensions/shell/*",
  "//extensions/strings/*",
  "//gin/*",
  "//google_apis/*",
  "//google_update/*",
  "//gpu/*",

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

  #"//jingle/*",
  "//mash/*",

  "//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/Python-Markdown/*",

  # "//third_party/SPIRV-Tools/*",  # 30ish errors
  "//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/android_tools/*",

  # "//third_party/angle/*",  # 30ish errors
  "//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/auto/*",
  "//third_party/axe-core/*",
  "//third_party/bazel/*",
  "//third_party/bidichecker/*",
  "//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/custom_tabs_client/*",
  "//third_party/cython/*",
  "//third_party/d3/*",
  "//third_party/dawn/*",
  "//third_party/decklink/*",
  "//third_party/depot_tools/*",
  "//third_party/deqp/*",
  "//third_party/devscripts/*",
  "//third_party/devtools-node-modules/*",
  "//third_party/dom_distiller_js/*",
  "//third_party/elfutils/*",
  "//third_party/errorprone/*",
  "//third_party/espresso/*",
  "//third_party/eu-strip/*",
  "//third_party/expat/*",
  "//third_party/eyesfree/*",
  "//third_party/feed/*",

  # "//third_party/ffmpeg/*",  # android_cronet only https://crbug.com/898793
  "//third_party/fips181/*",
  "//third_party/flac/*",
  "//third_party/flatbuffers/*",
  "//third_party/flot/*",
  "//third_party/fontconfig/*",
  "//third_party/freetype/*",
  "//third_party/freetype2/*",
  "//third_party/freetype-android/*",
  "//third_party/fuchsia-sdk/*",
  "//third_party/gestures/*",
  "//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/gson/*",
  "//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/intellij/*",
  "//third_party/isimpledom/*",
  "//third_party/javax_inject/*",
  "//third_party/jinja2/*",
  "//third_party/jmake/*",
  "//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/libevdev/*",
  "//third_party/libexif/*",
  "//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/mach_override/*",
  "//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/openmax_dl/*",  # 1 error
  "//third_party/openvr/*",
  "//third_party/opus/*",
  "//third_party/ots/*",
  "//third_party/ow2_asm/*",

  # "//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/pyftpdlib/*",
  "//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/sfntly/*",  # 20ish errors
  "//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/*",  # 1 error
  "//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/visualmetrics/*",
  "//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/yara/*",
  "//third_party/yasm/*",
  "//third_party/zlib/*",
  "//third_party/webrtc/*",
  "//third_party/webrtc_overrides/*",
  "//third_party/woff2/*",

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

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

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

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