From 327c2ec6bc24dd13d6f49430bff613c573f19357 Mon Sep 17 00:00:00 2001
From: Scott Murray <scott.murray@konsulko.com>
Date: Mon, 7 Jun 2021 17:29:36 -0400
Subject: [PATCH] meta-agl-core: dynamically add qtbase bbappend

Add a dynamic layer addition for meta-qt5 that contains a qtbase
bbappend with the required configuration changes for building
it with Wayland support.  The aim is to avoid duplication of these
configuration changes among meta-agl-core users.

Bug-AGL: SPEC-3972

Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I642ad6e62c10da1b1c2323a13c7d5fa91ba9f028
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26395
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
---
 meta-agl-core/conf/layer.conf                                     | 5 +++++
 .../dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_%.bbappend      | 1 +
 .../dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc     | 8 ++++++++
 3 files changed, 14 insertions(+)
 create mode 100644 meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_%.bbappend
 create mode 100644 meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc

diff --git a/meta-agl-core/conf/layer.conf b/meta-agl-core/conf/layer.conf
index 2218e3d49..efbf6e68c 100644
--- a/meta-agl-core/conf/layer.conf
+++ b/meta-agl-core/conf/layer.conf
@@ -9,6 +9,11 @@ BBFILE_COLLECTIONS += "aglcore"
 BBFILE_PATTERN_aglcore = "^${LAYERDIR}/"
 BBFILE_PRIORITY_aglcore = "60"
 
+BBFILES_DYNAMIC += " \
+    qt5-layer:${LAYERDIR}/dynamic-layers/meta-qt5/*/*/*.bb \
+    qt5-layer:${LAYERDIR}/dynamic-layers/meta-qt5/*/*/*.bbappend \
+"
+
 LAYERSERIES_COMPAT_aglcore = "dunfell"
 LAYERDEPENDS_aglcore = "core"
 
diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_%.bbappend b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_%.bbappend
new file mode 100644
index 000000000..aab944c2f
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'qtbase_aglcore.inc', '', d)}
diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc
new file mode 100644
index 000000000..ae5444e13
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc
@@ -0,0 +1,8 @@
+PACKAGECONFIG_WAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
+
+PACKAGECONFIG_GL = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}"
+
+PACKAGECONFIG_append = " ${PACKAGECONFIG_WAYLAND}"
+
+# '-qpa wayland-egl' set wayland-egl as default of platform plugins
+PACKAGECONFIG[wayland]="-qpa wayland-egl -no-qpa-platform-guard"
-- 
2.16.6