aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase/0009-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch
blob: 23d0ab388e8da4378f2b56fdd66604d272a28917 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
From 91b87aed0a2a96b0d6b54757ea13c75ee648a9b0 Mon Sep 17 00:00:00 2001
From: Julien Gueytat <contact@jgueytat.fr>
Date: Wed, 27 Apr 2016 19:24:39 +0200
Subject: [PATCH] Reorder EGL libraries from pkgconfig and defaults:

https://bugreports.qt.io/browse/QTBUG-50838
https://bugreports.qt.io/browse/QTBUG-52739

The modification is the less intrusive possible. It only swaps LIBS and QMAKE_LIBS_EGL.
The reason behind that was that for the RaspberryPi:
 *  -lEGL -GLESv2 can link
 *  -lGLESv2 -lEGL can't

Adding -lEGL -lGLESv2 and then -lEGL gives -lGLESv2 -lEGL ... the libraries swaped.

Signed-off-by: Julien Gueytat <contact@jgueytat.fr>
---
 config.tests/qpa/egl/egl.pro               |  5 ++++-
 config.tests/qpa/eglfs-brcm/eglfs-brcm.pro | 12 +++++++-----
 configure                                  | 16 ++++++++++++++--
 3 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/config.tests/qpa/egl/egl.pro b/config.tests/qpa/egl/egl.pro
index b5396da..828b674 100644
--- a/config.tests/qpa/egl/egl.pro
+++ b/config.tests/qpa/egl/egl.pro
@@ -5,6 +5,9 @@ for(p, QMAKE_LIBDIR_EGL) {
 }
 
 !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
-!isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
+
+BACKUP_LIBS = $$LIBS
+!isEmpty(QMAKE_LIBS_EGL): LIBS = $$QMAKE_LIBS_EGL
+LIBS += $$BACKUP_LIBS
 
 CONFIG -= qt
diff --git a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
index d8b1c3e..06f7241 100644
--- a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
+++ b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
@@ -1,11 +1,13 @@
 SOURCES = eglfs-brcm.cpp
 
-CONFIG -= qt
-
-INCLUDEPATH += $$QMAKE_INCDIR_EGL
-
 for(p, QMAKE_LIBDIR_EGL) {
     LIBS += -L$$p
 }
 
-LIBS += -lEGL -lGLESv2 -lbcm_host
+INCLUDEPATH += $$QMAKE_INCDIR_EGL
+
+BACKUP_LIBS = $$LIBS
+LIBS = -lEGL -lGLESv2 -lbcm_host
+LIBS += $$BACKUP_LIBS
+
+CONFIG -= qt
diff --git a/configure b/configure
index d30d0ca..14f348c 100755
--- a/configure
+++ b/configure
@@ -5891,7 +5891,9 @@ if [ "$CFG_EGL" != "no" ]; then
         QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
         QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
         QMakeVar set QMAKE_CFLAGS_EGL "`echo " $QMAKE_CFLAGS_EGL " | sed -e 's, -I[^ ]* , ,g;s,^ ,,;s, $,,'`"
-    fi       # detect EGL support
+    fi
+    
+    # detect EGL support
     if compileTest qpa/egl "EGL" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
         CFG_EGL=yes
         if compileTest qpa/egl-x11 "EGL-X11" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
@@ -5914,8 +5916,18 @@ fi
 if [ "$CFG_EGLFS" != "no" ]; then
     if [ "$XPLATFORM_QNX" = "no" ] && [ "$CFG_OPENGL" != "no" ]; then
         CFG_EGLFS="$CFG_EGL"
+
+        if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
+            QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
+            QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
+            QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
+            QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
+            QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
+            QMakeVar set QMAKE_CFLAGS_EGL "`echo " $QMAKE_CFLAGS_EGL " | sed -e 's, -I[^ ]* , ,g;s,^ ,,;s, $,,'`"
+        fi
+
         # Detect eglfs backends.
-        if compileTest qpa/eglfs-brcm "eglfs-brcm"; then
+        if compileTest qpa/eglfs-brcm "eglfs-brcm" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
             CFG_EGLFS_BRCM=yes
         else
             CFG_EGLFS_BRCM=no