From 2c964eca3fb462269518b91f7946dfdc7c1e55f1 Mon Sep 17 00:00:00 2001 From: Mauro Salvini Date: Wed, 28 Sep 2022 15:51:44 +0200 Subject: qt4-imx-support: fix build for imxgpu2d SOCs Before this change, when imxgpu2d is selected, the qt4 do_configure fails with the following error: | EGL (EGL/egl.h) auto-detection... () | compiling egl.cpp ... | /home/wrk/yocto/build-qt4/tmp/work/imx8mmevk-fslc-linux/qt4-embedded/4.8.7-r0/recipe-sysroot/usr/include/EGL/eglplatform.h:150:10: fatal error: X11/Xlib.h: No such file or directory | 150 | #include | | ^~~~~~~~~~~~ | compilation terminated. | Makefile:178: recipe for target 'egl.o' failed | make: *** [egl.o] Error 1 | EGL (EGL/egl.h) disabled. | EGL (GLES/egl.h) auto-detection... () ... | /home/wrk/yocto/build-qt4/tmp/work/imx8mmevk-fslc-linux/qt4-embedded/4.8.7-r0/recipe-sysroot/usr/include/EGL/eglplatform.h:150:10: fatal error: X11/Xlib.h: No such file or directory | 150 | #include | | ^~~~~~~~~~~~ | compilation terminated. | Makefile:178: recipe for target 'egl4gles1.o' failed | make: *** [egl4gles1.o] Error 1 | EGL (GLES/egl.h) disabled. | The EGL functionality test failed! This is because the -DLINUX=1 and -DEGL_API_FB=1 flags added to QT_CONFIG_FLAGS are not pushed down during these configuration tests. This commit adds these two flags directly to the related .pro files in Qt4 sources. Since it's been a long time that meta-qt4 is not updated anymore, the patch can be backported to LTS releases. Signed-off-by: Mauro Salvini (cherry picked from commit 4aed4a58335af8e96815124f17f47060d1053c48) --- dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc | 2 ++ .../qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch | 9 +++++++++ .../qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch | 9 +++++++++ 3 files changed, 20 insertions(+) create mode 100644 dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch create mode 100644 dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc index 187681a8..6b25767b 100644 --- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc +++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc @@ -12,6 +12,8 @@ SRC_URI_append_imxgpu2d += " \ file://0001-Add-support-for-i.MX-codecs-to-phonon.patch \ file://0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch \ file://0003-i.MX6-force-egl-visual-ID-33.patch \ + file://egl-pro-add-defines-to-compile-with-viv-fb.patch \ + file://egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch \ " DEPENDS_append_imxgpu2d = " virtual/kernel virtual/libgles2" diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch new file mode 100644 index 00000000..e512fd47 --- /dev/null +++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch @@ -0,0 +1,9 @@ +--- a/config.tests/unix/egl/egl.pro 2015-05-07 16:14:42.000000000 +0200 ++++ b/config.tests/unix/egl/egl.pro 2022-09-28 15:36:53.819893439 +0200 +@@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) { + + !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL + !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL ++DEFINES += LINUX=1 EGL_API_FB=1 + + CONFIG -= qt diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch new file mode 100644 index 00000000..61b40eb7 --- /dev/null +++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch @@ -0,0 +1,9 @@ +--- a/config.tests/unix/egl4gles1/egl4gles1.pro 2015-05-07 16:14:42.000000000 +0200 ++++ b/config.tests/unix/egl4gles1/egl4gles1.pro 2022-09-28 15:36:53.827893490 +0200 +@@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) { + + !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL + !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL ++DEFINES += LINUX=1 EGL_API_FB=1 + + CONFIG -= qt -- cgit v1.2.3-54-g00ecf