Blame SOURCES/0040-Use-proper-dependencies-in-compile-tests.patch

e1c9ed
From 118674630cdb5933e66a8b4415afe7c716ad4662 Mon Sep 17 00:00:00 2001
e1c9ed
From: Fabian Vogt <fabian@ritter-vogt.de>
e1c9ed
Date: Fri, 4 Feb 2022 11:07:36 +0100
e1c9ed
Subject: [PATCH 40/40] Use proper dependencies in compile tests
e1c9ed
e1c9ed
Use the dependencies as found by the "libraries" section instead of relying
e1c9ed
on them being available in the default location (e.g. "-ldrm").
e1c9ed
e1c9ed
Additionally, VK_USE_PLATFORM_WAYLAND_KHR requires <wayland-client.h>, so
e1c9ed
add the wayland-client dependency.
e1c9ed
e1c9ed
This fixes those tests if e.g. wayland-client headers need to be found through
e1c9ed
pkgconfig.
e1c9ed
e1c9ed
This part of the code changed completely in Qt 6, so this is a totally
e1c9ed
different patch and not a cherry-pick of 5fc2e1915c3a
e1c9ed
("CMake: Fix qtwayland feature detection").
e1c9ed
e1c9ed
Fixes: QTBUG-100475
e1c9ed
---
e1c9ed
 src/client/configure.json     |  8 ++++----
e1c9ed
 src/compositor/configure.json | 34 +++++++++++++++++++++++++++++-----
e1c9ed
 2 files changed, 33 insertions(+), 9 deletions(-)
e1c9ed
e1c9ed
diff --git a/src/client/configure.json b/src/client/configure.json
e1c9ed
index 2f424580..29222357 100644
e1c9ed
--- a/src/client/configure.json
e1c9ed
+++ b/src/client/configure.json
e1c9ed
@@ -149,8 +149,7 @@
e1c9ed
                     "#endif"
e1c9ed
                 ]
e1c9ed
             },
e1c9ed
-            "libs": "-ldrm",
e1c9ed
-            "use": "egl"
e1c9ed
+            "use": "drm egl"
e1c9ed
         },
e1c9ed
         "vulkan-server-buffer": {
e1c9ed
             "label": "Vulkan Buffer Sharing",
e1c9ed
@@ -168,7 +167,8 @@
e1c9ed
                     "exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;",
e1c9ed
                     "return 0;"
e1c9ed
                 ]
e1c9ed
-            }
e1c9ed
+            },
e1c9ed
+            "use": "wayland-client"
e1c9ed
         },
e1c9ed
         "egl_1_5-wayland": {
e1c9ed
             "label": "EGL 1.5 with Wayland Platform",
e1c9ed
@@ -183,7 +183,7 @@
e1c9ed
                     "eglGetPlatformDisplay(EGL_PLATFORM_WAYLAND_EXT, (struct wl_display *)(nullptr), nullptr);"
e1c9ed
                 ]
e1c9ed
             },
e1c9ed
-            "use": "egl"
e1c9ed
+            "use": "egl wayland-client"
e1c9ed
         }
e1c9ed
     },
e1c9ed
 
e1c9ed
diff --git a/src/compositor/configure.json b/src/compositor/configure.json
e1c9ed
index bcfd5215..da95d07b 100644
e1c9ed
--- a/src/compositor/configure.json
e1c9ed
+++ b/src/compositor/configure.json
e1c9ed
@@ -7,6 +7,31 @@
e1c9ed
     "testDir": "../../config.tests",
e1c9ed
 
e1c9ed
     "libraries": {
e1c9ed
+        "wayland-client": {
e1c9ed
+            "label": "Wayland client library",
e1c9ed
+            "headers": "wayland-version.h",
e1c9ed
+            "test": {
e1c9ed
+                "main": [
e1c9ed
+                    "#if WAYLAND_VERSION_MAJOR < 1",
e1c9ed
+                    "# error Wayland 1.8.0 or higher required",
e1c9ed
+                    "#endif",
e1c9ed
+                    "#if WAYLAND_VERSION_MAJOR == 1",
e1c9ed
+                    "# if WAYLAND_VERSION_MINOR < 8",
e1c9ed
+                    "#  error Wayland 1.8.0 or higher required",
e1c9ed
+                    "# endif",
e1c9ed
+                    "# if WAYLAND_VERSION_MINOR == 8",
e1c9ed
+                    "#  if WAYLAND_VERSION_MICRO < 0",
e1c9ed
+                    "#   error Wayland 1.8.0 or higher required",
e1c9ed
+                    "#  endif",
e1c9ed
+                    "# endif",
e1c9ed
+                    "#endif"
e1c9ed
+                 ]
e1c9ed
+            },
e1c9ed
+            "sources": [
e1c9ed
+                { "type": "pkgConfig", "args": "wayland-client" },
e1c9ed
+                "-lwayland-client"
e1c9ed
+            ]
e1c9ed
+        },
e1c9ed
         "wayland-server": {
e1c9ed
             "label": "wayland-server",
e1c9ed
             "headers": "wayland-version.h",
e1c9ed
@@ -151,8 +176,7 @@
e1c9ed
                     "#endif"
e1c9ed
                 ]
e1c9ed
             },
e1c9ed
-            "libs": "-ldrm",
e1c9ed
-            "use": "egl"
e1c9ed
+            "use": "drm egl"
e1c9ed
         },
e1c9ed
         "dmabuf-client-buffer": {
e1c9ed
             "label": "Linux Client dma-buf Buffer Sharing",
e1c9ed
@@ -176,8 +200,7 @@
e1c9ed
                     "return 0;"
e1c9ed
                 ]
e1c9ed
             },
e1c9ed
-            "libs": "-ldrm",
e1c9ed
-            "use": "egl"
e1c9ed
+            "use": "drm egl"
e1c9ed
         },
e1c9ed
         "vulkan-server-buffer": {
e1c9ed
             "label": "Vulkan Buffer Sharing",
e1c9ed
@@ -195,7 +218,8 @@
e1c9ed
                     "exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;",
e1c9ed
                     "return 0;"
e1c9ed
                 ]
e1c9ed
-            }
e1c9ed
+            },
e1c9ed
+            "use": "wayland-client"
e1c9ed
         }
e1c9ed
     },
e1c9ed
 
e1c9ed
-- 
e1c9ed
2.35.1
e1c9ed