fixup! [M120 Migration][NaCl][PPFWK] Upgradable pepper plugin requirement
[platform/framework/web/chromium-efl.git] / .gn
diff --git a/.gn b/.gn
index ec3d387..3218778 100644 (file)
--- a/.gn
+++ b/.gn
@@ -8,10 +8,9 @@ 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/"
+# The python interpreter to use by default. On Windows, this will look
+# for python3.exe and python3.bat.
+script_executable = "python3"
 
 # These arguments override the default values for items in a declare_args
 # block. "gn args" in turn can override these.
@@ -34,31 +33,18 @@ default_args = {
   # 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
 
+  # When building with Chromium, `webrtc::Location` is replaced by
+  # `base::Location`. Since WebRTC doesn't use `public_deps` (webrtc:8603), it
+  # would fail to propagate the dependency internally. Instead WebRTC let its
+  # embedders to define it globally for all of its targets.
+  rtc_common_public_deps = [ "//base" ]
+
   # 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.
@@ -67,126 +53,42 @@ default_args = {
   # 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/*",  # Medium-hard.
-  "//ash/*",
-  "//base/*",
-  "//blink/*",
-  "//build/*",
-  "//cc/*",
-
-  #"//chrome/*",  # Epic number of errors.
-  "//chrome/app/*",
-  "//chrome/app_shim/*",
-  "//chrome/browser/chromeos/*",
-  "//chrome/browser/extensions/*",
-  "//chrome/browser/resource_coordinator/*",
-  "//chrome/browser/ui/*",
-  "//chrome/chrome_cleaner/*",
-  "//chrome/common/*",
-  "//chrome/installer/*",
-  "//chrome/profiling",
-  "//chrome/third_party/mozilla_security_manager/*",
-  "//chrome/tools/*",
-  "//chrome/utility/*",
-  "//chromecast/*",
-  "//chromeos/*",
-  "//chrome_elf/*",
-  "//cloud_print/*",
-  "//components/*",
-  "//content/*",
-  "//courgette/*",
-  "//crypto/*",
-  "//data/*",
-  "//dbus/*",
-  "//device/*",
-
-  #"//extensions/*",  # Lots of errors.
-  "//extensions:extensions_unittests",
-  "//extensions/browser:browser_tests",
-  "//extensions/browser:unit_tests",
-  "//extensions/browser/install:*",
-  "//extensions/common:common",
-  "//extensions/common:unit_tests",
-  "//extensions/renderer:unit_tests",
-  "//extensions/shell/*",
-  "//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/*",
+  # Override ANGLE's Vulkan dependencies.
+  angle_vulkan_headers_dir = "//third_party/vulkan-deps/vulkan-headers/src"
+  angle_vulkan_loader_dir = "//third_party/vulkan-deps/vulkan-loader/src"
+  angle_vulkan_tools_dir = "//third_party/vulkan-deps/vulkan-tools/src"
+  angle_vulkan_validation_layers_dir =
+      "//third_party/vulkan-deps/vulkan-validation-layers/src"
 
-  #"//third_party/*",  # May not ever want this.
-  #"//third_party/breakpad/*",  # Small errors.
-  "//third_party/boringssl/*",
-  "//third_party/brotli/*",
-  "//third_party/fuchsia-sdk/*",
-  "//third_party/hunspell/*",
-  "//third_party/leveldatabase/*",
+  # Overwrite default args declared in the Fuchsia sdk
+  fuchsia_sdk_readelf_exec =
+      "//third_party/llvm-build/Release+Asserts/bin/llvm-readelf"
 
-  #"//third_party/libaddressinput/*",  # Small errors.
-  "//third_party/libphonenumber/*",
+  # Overwrite default args declared in the pdfium library
+  pdf_use_partition_alloc_new_location = true
 
-  #"//third_party/libwebp/*",  # Errors: https://crbug.com/800762
-  "//third_party/snappy/*",
-
-  #"//third_party/WebKit/*",  # Errors: https://crbug.com/800764
-  #"//third_party/webrtc/*",  # Errors: https://crbug.com/824831
-  "//third_party/webrtc_overrides/*",
-  "//tools/*",
-
-  "//ui/*",
-  "//url/*",
+  devtools_visibility = [ "*" ]
+}
 
-  #"//v8/*",  # Errors: https://bugs.chromium.org/p/v8/issues/detail?id=7330
-  "//webrunner/*",
+# These are the targets to skip header checking by default. The files in targets
+# matching these patterns (see "gn help label_pattern" for format) will not have
+# their includes checked for proper dependencies when you run either
+# "gn check" or "gn gen --check".
+no_check_targets = [
+  # //v8, https://crbug.com/v8/7330
+  "//v8/src/inspector:inspector",  # 20 errors
+  "//v8/test/cctest:cctest_sources",  # 15 errors
+  "//v8/test/unittests:inspector_unittests_sources",  # 2 errors
+  "//v8:cppgc_base",  # 1 error
+  "//v8:v8_internal_headers",  # 11 errors
+  "//v8:v8_libplatform",  # 2 errors
 ]
 
 # 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.
 #
-# GYPI_TO_GN
-#
-# Some of these entries are for legacy gypi_to_gn calls. We should not be
-# adding new calls to this script in the build (see //build/gypi_to_gn.py for
-# detailed advice). The only time you should be editing this list for
-# gypi_to_gn purposes is when moving an existing call to a different place.
-#
 # PLEASE READ
 #
 # You should almost never need to add new exec_script calls. exec_script is
@@ -196,7 +98,7 @@ check_targets = [
 # 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 existance of a file or directory to
+# - 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
@@ -248,22 +150,21 @@ exec_script_whitelist =
       # in the Chromium repo outside of //build.
       "//build_overrides/build.gni",
 
+      "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn",
+      "//chrome/version.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",
 
-      # TODO(dpranke): Get these from the appropriate repos instead.
-      "//third_party/catapult/tracing/BUILD.gn",
-      "//third_party/google_input_tools/inputview.gni",
-
       "//tools/grit/grit_rule.gni",
-
-      # Not gypi-to-gn.
-      "//google_apis/BUILD.gn",
-      "//printing/BUILD.gn",
+      "//tools/gritsettings/BUILD.gn",
     ]