summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.p.agocs@nokia.com>2011-05-12 10:16:45 (GMT)
committerLaszlo Agocs <laszlo.p.agocs@nokia.com>2011-05-12 10:16:45 (GMT)
commit455440996f659ae246536b7450ba9b7900d015d0 (patch)
treea2d26dbd78bc33643693fb10132d3fee64af5ed9 /src/corelib/global
parentd7d9a14de00f9391ab0be953357d24713f580675 (diff)
downloadQt-455440996f659ae246536b7450ba9b7900d015d0.zip
Qt-455440996f659ae246536b7450ba9b7900d015d0.tar.gz
Qt-455440996f659ae246536b7450ba9b7900d015d0.tar.bz2
Disable QtConcurrent for Symbian winscw builds.
While QtConcurrent is nowadays usable with RVCT and GCCE compilers, the compiler used for the winscw target has problems with the templates still. To enable building 4.8 on winscw, the patch defines QT_NO_CONCURRENT and QT_NO_QFUTURE in qglobal.h for this target. However this causes further complications in the Q_OBJECT classes of QtConcurrent because moc will be run without having QT_NO_CONCURRENT and QFUTURE defined (as moc is not a Symbian app and for other Symbian targets they must not be defined, which makes differentiation in qglobal.h impossible for the moc run) and having a moc file generated for a class that will be ifdef'ed out during compilation causes build breaks. Therefore additional dummy stubs are provided in QFutureWatcherBase. Reviewed-by: Liang Qi
Diffstat (limited to 'src/corelib/global')
-rw-r--r--src/corelib/global/qglobal.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 49f5f98..3e1f011 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -2545,6 +2545,16 @@ QT3_SUPPORT Q_CORE_EXPORT const char *qInstallPathSysconf();
//Symbian does not support data imports from a DLL
#define Q_NO_DATA_RELOCATION
+// Winscw compiler is unable to compile QtConcurrent.
+#ifdef Q_CC_NOKIAX86
+#ifndef QT_NO_CONCURRENT
+#define QT_NO_CONCURRENT
+#endif
+#ifndef QT_NO_QFUTURE
+#define QT_NO_QFUTURE
+#endif
+#endif
+
QT_END_NAMESPACE
// forward declare std::exception
#ifdef __cplusplus