summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2016-11-23 12:05:48 +0100
committerUlf Hermann <ulf.hermann@qt.io>2017-12-19 09:17:06 +0000
commit152033bec09c8a57b46a01488cff1a88ca61da33 (patch)
tree3c3c7695fc362d9bec0226006257aec7afc09164 /src
parentf76e3712f1553e02259835923274de2d11b76315 (diff)
Make QT_NO_FUTURE a feature
... and make sure we can compile without it. In particular, Qt Concurrent depends on QFuture, so we specify it as a condition, and QtConcurrentException should not depend on future but on concurrent. Change-Id: I65b158021cecb19f227554cc8b5df7a139fbfe78 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/concurrent/qtconcurrentexception.h7
-rw-r--r--src/corelib/thread/qexception.cpp2
-rw-r--r--src/corelib/thread/qexception.h8
-rw-r--r--src/corelib/thread/qfuture.h6
-rw-r--r--src/corelib/thread/qfutureinterface.cpp5
-rw-r--r--src/corelib/thread/qfutureinterface.h6
-rw-r--r--src/corelib/thread/qfutureinterface_p.h2
-rw-r--r--src/corelib/thread/qfuturesynchronizer.h3
-rw-r--r--src/corelib/thread/qfuturewatcher.cpp5
-rw-r--r--src/corelib/thread/qfuturewatcher.h6
-rw-r--r--src/corelib/thread/qfuturewatcher_p.h5
-rw-r--r--src/corelib/thread/qresultstore.cpp4
-rw-r--r--src/corelib/thread/qresultstore.h8
-rw-r--r--src/corelib/thread/thread.pri30
14 files changed, 35 insertions, 62 deletions
diff --git a/src/concurrent/qtconcurrentexception.h b/src/concurrent/qtconcurrentexception.h
index 3ed4ac2cf5..9da53fd9e2 100644
--- a/src/concurrent/qtconcurrentexception.h
+++ b/src/concurrent/qtconcurrentexception.h
@@ -41,11 +41,10 @@
#define QTCONCURRENT_EXCEPTION_H
#include <QtConcurrent/qtconcurrent_global.h>
-
-#if !defined(QT_NO_QFUTURE) || defined(Q_CLANG_QDOC)
-
#include <QtCore/qexception.h>
+QT_REQUIRE_CONFIG(concurrent);
+
QT_BEGIN_NAMESPACE
@@ -63,6 +62,4 @@ typedef Q_DECL_DEPRECATED QUnhandledException UnhandledException;
QT_END_NAMESPACE
-#endif // QT_NO_QFUTURE
-
#endif
diff --git a/src/corelib/thread/qexception.cpp b/src/corelib/thread/qexception.cpp
index aed8d91a0a..a3e30d5a7a 100644
--- a/src/corelib/thread/qexception.cpp
+++ b/src/corelib/thread/qexception.cpp
@@ -40,7 +40,6 @@
#include "qexception.h"
#include "QtCore/qshareddata.h"
-#if !defined(QT_NO_QFUTURE) || defined(Q_CLANG_QDOC)
#if !defined(QT_NO_EXCEPTIONS) || defined(Q_CLANG_QDOC)
QT_BEGIN_NAMESPACE
@@ -225,4 +224,3 @@ bool ExceptionStore::hasThrown() const { return exceptionHolder.base->hasThrown;
QT_END_NAMESPACE
#endif // QT_NO_EXCEPTIONS
-#endif // QT_NO_QFUTURE
diff --git a/src/corelib/thread/qexception.h b/src/corelib/thread/qexception.h
index a613064306..d33904c1f2 100644
--- a/src/corelib/thread/qexception.h
+++ b/src/corelib/thread/qexception.h
@@ -40,10 +40,6 @@
#ifndef QTCORE_QEXCEPTION_H
#define QTCORE_QEXCEPTION_H
-#include <QtCore/qglobal.h>
-
-#ifndef QT_NO_QFUTURE
-
#include <QtCore/qatomic.h>
#include <QtCore/qshareddata.h>
@@ -51,6 +47,8 @@
# include <exception>
#endif
+QT_REQUIRE_CONFIG(future);
+
QT_BEGIN_NAMESPACE
@@ -128,6 +126,4 @@ public:
QT_END_NAMESPACE
-#endif // QT_NO_QFUTURE
-
#endif
diff --git a/src/corelib/thread/qfuture.h b/src/corelib/thread/qfuture.h
index d86b09f7ea..af599c26db 100644
--- a/src/corelib/thread/qfuture.h
+++ b/src/corelib/thread/qfuture.h
@@ -42,11 +42,11 @@
#include <QtCore/qglobal.h>
-#if !defined(QT_NO_QFUTURE) || defined(Q_CLANG_QDOC)
-
#include <QtCore/qfutureinterface.h>
#include <QtCore/qstring.h>
+QT_REQUIRE_CONFIG(future);
+
QT_BEGIN_NAMESPACE
@@ -247,6 +247,4 @@ QFuture<void> qToVoidFuture(const QFuture<T> &future)
QT_END_NAMESPACE
-#endif // QT_NO_QFUTURE
-
#endif // QFUTURE_H
diff --git a/src/corelib/thread/qfutureinterface.cpp b/src/corelib/thread/qfutureinterface.cpp
index c62b8fd36b..8bf74ca288 100644
--- a/src/corelib/thread/qfutureinterface.cpp
+++ b/src/corelib/thread/qfutureinterface.cpp
@@ -39,9 +39,6 @@
// qfutureinterface.h included from qfuture.h
#include "qfuture.h"
-
-#ifndef QT_NO_QFUTURE
-
#include "qfutureinterface_p.h"
#include <QtCore/qatomic.h>
@@ -604,5 +601,3 @@ void QFutureInterfaceBasePrivate::setState(QFutureInterfaceBase::State newState)
}
QT_END_NAMESPACE
-
-#endif // QT_NO_QFUTURE
diff --git a/src/corelib/thread/qfutureinterface.h b/src/corelib/thread/qfutureinterface.h
index 320c2d7b33..3dd236752c 100644
--- a/src/corelib/thread/qfutureinterface.h
+++ b/src/corelib/thread/qfutureinterface.h
@@ -41,13 +41,12 @@
#define QFUTUREINTERFACE_H
#include <QtCore/qrunnable.h>
-
-#ifndef QT_NO_QFUTURE
-
#include <QtCore/qmutex.h>
#include <QtCore/qexception.h>
#include <QtCore/qresultstore.h>
+QT_REQUIRE_CONFIG(future);
+
QT_BEGIN_NAMESPACE
@@ -295,6 +294,5 @@ public:
};
QT_END_NAMESPACE
-#endif // QT_NO_QFUTURE
#endif // QFUTUREINTERFACE_H
diff --git a/src/corelib/thread/qfutureinterface_p.h b/src/corelib/thread/qfutureinterface_p.h
index cf882dd9b4..63e534464f 100644
--- a/src/corelib/thread/qfutureinterface_p.h
+++ b/src/corelib/thread/qfutureinterface_p.h
@@ -59,6 +59,8 @@
#include <QtCore/qrunnable.h>
#include <QtCore/qthreadpool.h>
+QT_REQUIRE_CONFIG(future);
+
QT_BEGIN_NAMESPACE
class QFutureCallOutEvent : public QEvent
diff --git a/src/corelib/thread/qfuturesynchronizer.h b/src/corelib/thread/qfuturesynchronizer.h
index 6bc2725024..5006ebb9cf 100644
--- a/src/corelib/thread/qfuturesynchronizer.h
+++ b/src/corelib/thread/qfuturesynchronizer.h
@@ -42,7 +42,7 @@
#include <QtCore/qfuture.h>
-#ifndef QT_NO_QFUTURE
+QT_REQUIRE_CONFIG(future);
QT_BEGIN_NAMESPACE
@@ -110,6 +110,5 @@ protected:
};
QT_END_NAMESPACE
-#endif // QT_NO_QFUTURE
#endif // QFUTURESYNCHRONIZER_H
diff --git a/src/corelib/thread/qfuturewatcher.cpp b/src/corelib/thread/qfuturewatcher.cpp
index 7143936f7a..8c4cb9a5a2 100644
--- a/src/corelib/thread/qfuturewatcher.cpp
+++ b/src/corelib/thread/qfuturewatcher.cpp
@@ -38,9 +38,6 @@
****************************************************************************/
#include "qfuturewatcher.h"
-
-#ifndef QT_NO_QFUTURE
-
#include "qfuturewatcher_p.h"
#include <QtCore/qcoreevent.h>
@@ -593,5 +590,3 @@ void QFutureWatcherBasePrivate::sendCallOutEvent(QFutureCallOutEvent *event)
QT_END_NAMESPACE
#include "moc_qfuturewatcher.cpp"
-
-#endif // QT_NO_QFUTURE
diff --git a/src/corelib/thread/qfuturewatcher.h b/src/corelib/thread/qfuturewatcher.h
index 5143db8d2e..1d984a3205 100644
--- a/src/corelib/thread/qfuturewatcher.h
+++ b/src/corelib/thread/qfuturewatcher.h
@@ -41,11 +41,10 @@
#define QFUTUREWATCHER_H
#include <QtCore/qfuture.h>
-
-#ifndef QT_NO_QFUTURE
-
#include <QtCore/qobject.h>
+QT_REQUIRE_CONFIG(future);
+
QT_BEGIN_NAMESPACE
@@ -212,6 +211,5 @@ Q_INLINE_TEMPLATE void QFutureWatcher<void>::setFuture(const QFuture<void> &_fut
}
QT_END_NAMESPACE
-#endif // QT_NO_QFUTURE
#endif // QFUTUREWATCHER_H
diff --git a/src/corelib/thread/qfuturewatcher_p.h b/src/corelib/thread/qfuturewatcher_p.h
index 25d1ef8d25..ead247b040 100644
--- a/src/corelib/thread/qfuturewatcher_p.h
+++ b/src/corelib/thread/qfuturewatcher_p.h
@@ -54,10 +54,10 @@
#include "qfutureinterface_p.h"
#include <qlist.h>
-#ifndef QT_NO_QFUTURE
-
#include <private/qobject_p.h>
+QT_REQUIRE_CONFIG(future);
+
QT_BEGIN_NAMESPACE
class QFutureWatcherBase;
@@ -84,5 +84,4 @@ public:
QT_END_NAMESPACE
-#endif // QT_NO_QFUTURE
#endif
diff --git a/src/corelib/thread/qresultstore.cpp b/src/corelib/thread/qresultstore.cpp
index 9a6fcec678..e0ce1b4b78 100644
--- a/src/corelib/thread/qresultstore.cpp
+++ b/src/corelib/thread/qresultstore.cpp
@@ -39,8 +39,6 @@
#include "qresultstore.h"
-#ifndef QT_NO_QFUTURE
-
QT_BEGIN_NAMESPACE
namespace QtPrivate {
@@ -256,5 +254,3 @@ int ResultStoreBase::updateInsertIndex(int index, int _count)
} // namespace QtPrivate
QT_END_NAMESPACE
-
-#endif // QT_NO_QFUTURE
diff --git a/src/corelib/thread/qresultstore.h b/src/corelib/thread/qresultstore.h
index 5f0cefa133..39f0a6d1bb 100644
--- a/src/corelib/thread/qresultstore.h
+++ b/src/corelib/thread/qresultstore.h
@@ -40,13 +40,11 @@
#ifndef QTCORE_RESULTSTORE_H
#define QTCORE_RESULTSTORE_H
-#include <QtCore/qglobal.h>
-
-#ifndef QT_NO_QFUTURE
-
#include <QtCore/qmap.h>
#include <QtCore/qdebug.h>
+QT_REQUIRE_CONFIG(future);
+
QT_BEGIN_NAMESPACE
@@ -202,6 +200,4 @@ Q_DECLARE_TYPEINFO(QtPrivate::ResultItem, Q_PRIMITIVE_TYPE);
QT_END_NAMESPACE
-#endif // QT_NO_QFUTURE
-
#endif
diff --git a/src/corelib/thread/thread.pri b/src/corelib/thread/thread.pri
index a4cb2478c6..e4972a57b3 100644
--- a/src/corelib/thread/thread.pri
+++ b/src/corelib/thread/thread.pri
@@ -10,12 +10,6 @@ HEADERS += thread/qmutex.h \
thread/qthreadstorage.h \
thread/qwaitcondition.h \
thread/qatomic.h \
- thread/qexception.h \
- thread/qresultstore.h \
- thread/qfuture.h \
- thread/qfutureinterface.h \
- thread/qfuturesynchronizer.h \
- thread/qfuturewatcher.h \
thread/qbasicatomic.h \
thread/qgenericatomic.h
@@ -23,18 +17,12 @@ HEADERS += thread/qmutex.h \
HEADERS += thread/qmutex_p.h \
thread/qmutexpool_p.h \
thread/qfutex_p.h \
- thread/qfutureinterface_p.h \
- thread/qfuturewatcher_p.h \
thread/qorderedmutexlocker_p.h \
thread/qreadwritelock_p.h \
thread/qthread_p.h \
thread/qthreadpool_p.h
SOURCES += thread/qatomic.cpp \
- thread/qexception.cpp \
- thread/qresultstore.cpp \
- thread/qfutureinterface.cpp \
- thread/qfuturewatcher.cpp \
thread/qmutex.cpp \
thread/qreadwritelock.cpp \
thread/qrunnable.cpp \
@@ -44,6 +32,24 @@ SOURCES += thread/qatomic.cpp \
thread/qthreadpool.cpp \
thread/qthreadstorage.cpp
+qtConfig(future) {
+ HEADERS += \
+ thread/qexception.h \
+ thread/qfuture.h \
+ thread/qfutureinterface.h \
+ thread/qfutureinterface_p.h \
+ thread/qfuturesynchronizer.h \
+ thread/qfuturewatcher.h \
+ thread/qfuturewatcher_p.h \
+ thread/qresultstore.h
+
+ SOURCES += \
+ thread/qexception.cpp \
+ thread/qfutureinterface.cpp \
+ thread/qfuturewatcher.cpp \
+ thread/qresultstore.cpp
+}
+
win32 {
SOURCES += \
thread/qmutex_win.cpp \