# 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/*",
  "//buildtools/*",
  "//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/*",
  "//fuchsia/*",
  "//gin/*",
  "//google_apis/*",
  "//google_update/*",
  "//gpu/*",

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

  #"//jingle/*",

  "//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/*",  # 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/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/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/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/yasm/*",
  "//third_party/zlib/*",
  "//third_party/woff2/*",

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

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

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