summaryrefslogtreecommitdiffstats
path: root/meta/recipes-sato/webkit/webkitgtk/fix-gstreamer-include-paths.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-sato/webkit/webkitgtk/fix-gstreamer-include-paths.patch')
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/fix-gstreamer-include-paths.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/meta/recipes-sato/webkit/webkitgtk/fix-gstreamer-include-paths.patch b/meta/recipes-sato/webkit/webkitgtk/fix-gstreamer-include-paths.patch
new file mode 100644
index 0000000000..2c6be87902
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/fix-gstreamer-include-paths.patch
@@ -0,0 +1,51 @@
1From 25efd1478b48b5406fdab3b7b9c1f7e0ef95a7ed Mon Sep 17 00:00:00 2001
2From: Pablo Saavedra <psaavedra@igalia.com>
3Date: Mon, 27 Jun 2022 16:56:04 -0700
4Subject: [PATCH] Fix include gstreamer path on cross compiler toolchains
5 https://bugs.webkit.org/show_bug.cgi?id=241483
6
7Reviewed by Adrian Perez de Castro.
8
9Set the include paths for the gstreamer components to the full path
10using the find_path(). This function relies in CMAKE_FIND_ROOT_PATH to
11find the right place where the includes they are. This fixes possible
12warnings/errors on cross toolchains using -Wpoison-system-directories
13and -Werror=poison-system-directories.
14
15* Source/cmake/FindGStreamer.cmake:
16
17Canonical link: https://commits.webkit.org/251895@main
18
19Upstream-Status: Backport [2.37.1 https://github.com/WebKit/WebKit/commit/25efd1478b48b5406fdab3b7b9c1f7e0ef95a7ed]
20---
21 Source/cmake/FindGStreamer.cmake | 14 +++++++++++---
22 1 file changed, 11 insertions(+), 3 deletions(-)
23
24diff --git a/Source/cmake/FindGStreamer.cmake b/Source/cmake/FindGStreamer.cmake
25index 3216f6974b53..b65a11f30871 100644
26--- a/Source/cmake/FindGStreamer.cmake
27+++ b/Source/cmake/FindGStreamer.cmake
28@@ -75,12 +75,20 @@ macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _library)
29 # ${includedir}/gstreamer-1.0 which remains correct. The issue here is that
30 # we don't rely on the `Cflags`, cmake fails to generate a proper
31 # `.._INCLUDE_DIRS` variable in this case. So we need to do it here...
32+
33+ # Populate the list initially from the _INCLUDE_DIRS result variable.
34+ set(${_component_prefix}_INCLUDE_DIRS ${PC_${_component_prefix}_INCLUDE_DIRS})
35+
36 set(_include_dir "${PC_${_component_prefix}_INCLUDEDIR}")
37 string(REGEX MATCH "(.*)/gstreamer-1.0" _dummy "${_include_dir}")
38+
39 if ("${CMAKE_MATCH_1}" STREQUAL "")
40- set(${_component_prefix}_INCLUDE_DIRS "${_include_dir}/gstreamer-1.0;${PC_${_component_prefix}_INCLUDE_DIRS}")
41- else ()
42- set(${_component_prefix}_INCLUDE_DIRS "${PC_${_component_prefix}_INCLUDE_DIRS}")
43+ find_path(${_component_prefix}_RESOLVED_INCLUDEDIR NAMES "${_include_dir}/gstreamer-1.0")
44+ # Only add the resolved path from `_INCLUDEDIR` if found.
45+ if (${_component_prefix}_RESOLVED_INCLUDEDIR)
46+ list(APPEND ${_component_prefix}_INCLUDE_DIRS
47+ "${${_component_prefix}_RESOLVED_INCLUDEDIR}")
48+ endif ()
49 endif ()
50
51 find_library(${_component_prefix}_LIBRARIES