Added option to use system libwayland

Chromium includes wayland source code and uses it instead of system
libwayland. In most case, there isn't any problem since wayland is open
source but sometime system libwayland isn't compatible with open source.

e.g. there is a case libwayland-egl.so is symlink to libMali.so
and it said "wl_egl_window should be opaque for user. the definition
should under libMali.so"
In this case, it seems wl_egl_window type is not compatible between
open source and libMali.so.

So this patch give an option to use system libwayland instead.

Change-Id: I624f29f8aabb538cd2cd4f303417a4eca2fe34f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5626537
Reviewed-by: Kramer Ge <fangzhoug@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Wanchang Ryu <wanchang.ryu@lge.com>
Reviewed-by: Maksim Sisov <msisov@igalia.com>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1325993}
NOKEYCHECK=True
GitOrigin-RevId: ccd442f964eea83b43d77b7e1d1db3915edc1f16
2 files changed
tree: bcd50e0e2cede4ec706b5622174867ec6fcd2a68
  1. angle.gni
  2. build.gni
  3. dawn.gni
  4. glslang.gni
  5. gtest.gni
  6. ipcz.gni
  7. OWNERS
  8. partition_alloc.gni
  9. pdfium.gni
  10. README.md
  11. spirv_tools.gni
  12. swiftshader.gni
  13. tint.gni
  14. vulkan_common.gni
  15. vulkan_headers.gni
  16. vulkan_loader.gni
  17. vulkan_tools.gni
  18. vulkan_utility_libraries.gni
  19. vulkan_validation_layers.gni
  20. wayland.gni
README.md

Build overrides in GN

This directory is used to allow different products to customize settings for repos that are DEPS'ed in or shared.

For example: V8 could be built on its own (in a “standalone” configuration), and it could be built as part of Chromium. V8 might define a top-level target, //v8:d8 (a simple executable), that should only be built in the standalone configuration. To figure out whether or not it should be in a standalone configuration, v8 can create a file, build_overrides/v8.gni, that contains a variable, build_standalone_d8 = true. and import it (as import(“//build_overrides/v8.gni”) from its top-level BUILD.gn file.

Chromium, on the other hand, might not need to build d8, and so it would create its own build_overrides/v8.gni file, and in it set build_standalone_d8 = false.

The two files should define the same set of variables, but the values can vary as appropriate to the needs of the two different builds.

The build.gni file provides a way for projects to override defaults for variables used in //build itself (which we want to be shareable between projects).

TODO(crbug.com/41240413): Ideally //build_overrides and, in particular, //build_overrides/build.gni should go away completely in favor of some mechanism that can re-use other required files like //.gn, so that we don't have to keep requiring projects to create a bunch of different files to use GN.