GN: Wayland build overrides Introduce //build_overrides/wayland.gni to simplify the management of the wayland dependencies. Also, include Wayland sources only when relative ozone platform is enabled. Bug: chromium:1327041 Bug: angleproject:7409 Change-Id: Iccac3a66359cbda7919b2d7aa9a401f397180cd9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/66408 Presubmit-Ready: Yuly Novikov <ynovikov@google.com> Reviewed-by: Alexis Hétu <sugoi@google.com> Tested-by: Yuly Novikov <ynovikov@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by: Alexis Hétu <sugoi@google.com> Commit-Queue: Yuly Novikov <ynovikov@google.com>
diff --git a/build_overrides/wayland.gni b/build_overrides/wayland.gni new file mode 100644 index 0000000..21e575c --- /dev/null +++ b/build_overrides/wayland.gni
@@ -0,0 +1,18 @@ +# Copyright 2022 The SwiftShader Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ozone_platform_wayland = true +use_system_libwayland = true +# SwiftShader has no wayland third-party dir +wayland_gn_dir = ""
diff --git a/src/WSI/BUILD.gn b/src/WSI/BUILD.gn index 243729b..3910345 100644 --- a/src/WSI/BUILD.gn +++ b/src/WSI/BUILD.gn
@@ -13,13 +13,7 @@ # limitations under the License. import("../swiftshader.gni") - -if (is_linux) { - import("//build/config/ozone.gni") - if (ozone_platform_wayland) { - import("//third_party/wayland/features.gni") - } -} +import("//build_overrides/wayland.gni") config("WSI_metal_weak_framework") { if (is_mac) { @@ -42,15 +36,20 @@ if (is_linux) { sources += [ - "WaylandSurfaceKHR.cpp", - "WaylandSurfaceKHR.hpp", "XcbSurfaceKHR.cpp", "XcbSurfaceKHR.hpp", - "libWaylandClient.cpp", - "libWaylandClient.hpp", "libXCB.cpp", "libXCB.hpp", ] + + if (ozone_platform_wayland) { + sources += [ + "WaylandSurfaceKHR.cpp", + "WaylandSurfaceKHR.hpp", + "libWaylandClient.cpp", + "libWaylandClient.hpp", + ] + } } if (is_win) { @@ -85,9 +84,9 @@ "../Vulkan:swiftshader_libvulkan_headers", ] - if (defined(use_system_libwayland) && !use_system_libwayland) { - # Use chromium third-party targets - deps += [ "//third_party/wayland:wayland_client" ] + if (is_linux && !use_system_libwayland) { + # Use third-party targets + deps += [ "$wayland_gn_dir:wayland_client" ] } configs = [ "../Vulkan:swiftshader_libvulkan_private_config" ]