summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@digia.com>2013-01-18 09:50:02 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-21 09:20:01 +0100
commit4feadac76e49635d17ff1265f775d2b15fe2aa40 (patch)
tree364549c046ac57b1954b161ef5d2926448cefe67 /mkspecs
parent12d90d62023419dca6fcd55f4045058fac6fe50b (diff)
Android-eglfs: Fixed build against Android 4.0.x
The header location for SurfaceComposerClient.h changed between Android 4.0 and 4.1, so we need to select based on the major and minor version. Change-Id: I7a6408f8ba3c644facca3a7e64b8d68fde9c4472 Reviewed-by: aavit <eirik.aavitsland@digia.com> Reviewed-by: Rainer Keller <rainer.keller@digia.com>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/unsupported/android-g++/qeglfshooks_surfaceflinger.cpp7
-rw-r--r--mkspecs/unsupported/android-g++/qmake.conf7
2 files changed, 13 insertions, 1 deletions
diff --git a/mkspecs/unsupported/android-g++/qeglfshooks_surfaceflinger.cpp b/mkspecs/unsupported/android-g++/qeglfshooks_surfaceflinger.cpp
index 0a71a5fe12..9e5049a3f3 100644
--- a/mkspecs/unsupported/android-g++/qeglfshooks_surfaceflinger.cpp
+++ b/mkspecs/unsupported/android-g++/qeglfshooks_surfaceflinger.cpp
@@ -43,12 +43,17 @@
#include <ui/DisplayInfo.h>
#include <ui/FramebufferNativeWindow.h>
-#include <gui/SurfaceComposerClient.h>
#include <fcntl.h>
#include <unistd.h>
#include <linux/fb.h>
#include <sys/ioctl.h>
+#if Q_ANDROID_VERSION_MAJOR > 4 || (Q_ANDROID_VERSION_MAJOR == 4 && Q_ANDROID_VERSION_MINOR >= 1)
+#include <gui/SurfaceComposerClient.h>
+#else
+#include <surfaceflinger/SurfaceComposerClient.h>
+#endif
+
using namespace android;
QT_BEGIN_NAMESPACE
diff --git a/mkspecs/unsupported/android-g++/qmake.conf b/mkspecs/unsupported/android-g++/qmake.conf
index 7bd8f15b57..29cc709cb9 100644
--- a/mkspecs/unsupported/android-g++/qmake.conf
+++ b/mkspecs/unsupported/android-g++/qmake.conf
@@ -18,11 +18,13 @@ defineReplace(getAndroidBuildVar) {
store_ANDROID_TARGET_CFLAGS = "ANDROID_TARGET_CFLAGS=$$getAndroidBuildVar(TARGET_GLOBAL_CFLAGS)"
store_ANDROID_TARGET_LDFLAGS = "ANDROID_TARGET_LDFLAGS=$$getAndroidBuildVar(TARGET_GLOBAL_LDFLAGS)"
store_ANDROID_TARGET_ARCH = "ANDROID_TARGET_ARCH=$$getAndroidBuildVar(TARGET_ARCH)"
+ store_ANDROID_VERSION = "ANDROID_VERSION=$$getAndroidBuildVar(PLATFORM_VERSION)"
write_file(android_build_vars, store_ANDROID_TOOLCHAIN_PREFIX)
write_file(android_build_vars, store_ANDROID_TARGET_CFLAGS, append)
write_file(android_build_vars, store_ANDROID_TARGET_LDFLAGS, append)
write_file(android_build_vars, store_ANDROID_TARGET_ARCH, append)
+ write_file(android_build_vars, store_ANDROID_VERSION, append)
}
info(using android build env from cache in $$PWD/android_build_vars . delete this file if you changed your build env )
@@ -30,6 +32,9 @@ exists($$PWD/android_build_vars) {
include($$PWD/android_build_vars)
}
+ANDROID_VERSION_SPLIT = $$split(ANDROID_VERSION, ".")
+ANDROID_VERSION_MAJOR = $$member(ANDROID_VERSION_SPLIT, 0)
+ANDROID_VERSION_MINOR = $$member(ANDROID_VERSION_SPLIT, 1)
MAKEFILE_GENERATOR = UNIX
QMAKE_COMPILER = gcc
@@ -43,6 +48,8 @@ include(../../common/gcc-base-unix.conf)
CONFIG = qt warn_on release link_prl
QT = core gui
DEFINES += Q_OS_LINUX_ANDROID HAVE_ANDROID_OS
+DEFINES += Q_ANDROID_VERSION_MAJOR=$$ANDROID_VERSION_MAJOR
+DEFINES += Q_ANDROID_VERSION_MINOR=$$ANDROID_VERSION_MINOR
DEFINES += QT_NO_PRINTER QT_NO_PRINTDIALOG QT_NO_EXCEPTIONS
#note: -DANDROID results in weird behaviour of math.h