summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Kjernåsen <trond@trolltech.com>2009-11-04 11:22:18 (GMT)
committerTrond Kjernåsen <trond@trolltech.com>2009-11-04 11:22:18 (GMT)
commit26ded29b31c71ff43036798015cb1c77aae427e3 (patch)
tree24e91fe6f38e6d6d126acc9735557ddd54851547
parent47546dd3cae4cb6f1ca87621fb3752524f9d050d (diff)
downloadQt-26ded29b31c71ff43036798015cb1c77aae427e3.zip
Qt-26ded29b31c71ff43036798015cb1c77aae427e3.tar.gz
Qt-26ded29b31c71ff43036798015cb1c77aae427e3.tar.bz2
Fixed compilation and linking of EGL on Windows CE.
Moved duplicated and broken code for setting up the include and library paths into the egl.prf feature file, which egl.pri and opengl.pro now includes using the qmake feature system. Task-number: QTBUG-5148 Reviewed-by: Tom Cooksey
-rw-r--r--mkspecs/common/wince/qmake.conf1
-rw-r--r--mkspecs/features/egl.prf32
-rw-r--r--src/gui/egl/egl.pri10
-rw-r--r--src/opengl/opengl.pro10
4 files changed, 34 insertions, 19 deletions
diff --git a/mkspecs/common/wince/qmake.conf b/mkspecs/common/wince/qmake.conf
index d87be02..ff99f1b 100644
--- a/mkspecs/common/wince/qmake.conf
+++ b/mkspecs/common/wince/qmake.conf
@@ -64,6 +64,7 @@ QMAKE_LIBS_NETWORK = ws2.lib
QMAKE_LIBS_OPENGL =
QMAKE_LIBS_COMPAT =
+QMAKE_LIBS_EGL = libEGL.lib
QMAKE_LIBS_OPENGL_ES1 = libGLES_CM.lib
QMAKE_LIBS_OPENGL_ES1CL = libGLES_CL.lib
QMAKE_LIBS_OPENGL_ES2 = libGLESv2.lib
diff --git a/mkspecs/features/egl.prf b/mkspecs/features/egl.prf
index 22002c3..00f70d3 100644
--- a/mkspecs/features/egl.prf
+++ b/mkspecs/features/egl.prf
@@ -1,3 +1,29 @@
-!isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
-!isEmpty(QMAKE_LIBDIR_EGL): LIBS += -L$$QMAKE_LIBDIR_EGL
-!isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
+# On UNIX, we can use config tests to figure out if egl.h is in
+# EGL/egl.h or GLES/egl.h. Sadly, there are no config tests on WinCE
+# so we have to assume that for GLES 1.1 (CL), the EGL header is in
+# GLES/egl.h. We also assume there is no separate libEGL.lib library,
+# so we use the GL library instead.
+
+wince*:contains(QT_CONFIG, opengles1) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1
+ LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1
+ for(p, QMAKE_LIBDIR_OPENGL_ES1) {
+ exists($$p):LIBS_PRIVATE += -L$$p
+ }
+ DEFINES += QT_GLES_EGL
+} else:wince*:contains(QT_CONFIG, opengles1cl) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1CL
+ LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1CL
+ LIBS += $$QMAKE_LFLAGS_EGL
+ for(p, QMAKE_LIBDIR_OPENGL_ES1CL) {
+ exists($$p):LIBS_PRIVATE += -L$$p
+ }
+ DEFINES += QT_GLES_EGL
+} else {
+ INCLUDEPATH += $$QMAKE_INCDIR_EGL
+ LIBS_PRIVATE += $$QMAKE_LIBS_EGL
+ LIBS += $$QMAKE_LFLAGS_EGL
+ for(p, QMAKE_LIBDIR_EGL) {
+ exists($$p):LIBS_PRIVATE += -L$$p
+ }
+}
diff --git a/src/gui/egl/egl.pri b/src/gui/egl/egl.pri
index 627d511..669d311 100644
--- a/src/gui/egl/egl.pri
+++ b/src/gui/egl/egl.pri
@@ -1,3 +1,5 @@
+CONFIG += egl
+
HEADERS += \
egl/qegl_p.h \
egl/qeglproperties_p.h
@@ -19,11 +21,3 @@ unix {
}
}
}
-
-for(p, QMAKE_LIBDIR_EGL) {
- exists($$p):LIBS_PRIVATE += -L$$p
-}
-
-!isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
-!isEmpty(QMAKE_LIBS_EGL): LIBS_PRIVATE += $$QMAKE_LIBS_EGL
-!isEmpty(QMAKE_LFLAGS_EGL): LIBS += $$QMAKE_LFLAGS_EGL
diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
index 7d6052b..deaf3bd 100644
--- a/src/opengl/opengl.pro
+++ b/src/opengl/opengl.pro
@@ -15,14 +15,7 @@ contains(QT_CONFIG, opengl):CONFIG += opengl
contains(QT_CONFIG, opengles1):CONFIG += opengles1
contains(QT_CONFIG, opengles1cl):CONFIG += opengles1cl
contains(QT_CONFIG, opengles2):CONFIG += opengles2
-
-contains(QT_CONFIG, opengles.*) {
- for(p, QMAKE_LIBDIR_EGL) {
- exists($$p):LIBS_PRIVATE += -L$$p
- }
- !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
- !isEmpty(QMAKE_LIBS_EGL): LIBS_PRIVATE += $$QMAKE_LIBS_EGL
-}
+contains(QT_CONFIG, egl):CONFIG += egl
HEADERS += qgl.h \
qgl_p.h \
@@ -163,3 +156,4 @@ contains(QT_CONFIG,opengles1) {
LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL
LIBS += $$QMAKE_LFLAGS_OPENGL
}
+