From 91b87aed0a2a96b0d6b54757ea13c75ee648a9b0 Mon Sep 17 00:00:00 2001 From: Julien Gueytat 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 --- 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