From 152033bec09c8a57b46a01488cff1a88ca61da33 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Wed, 23 Nov 2016 12:05:48 +0100 Subject: 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 Reviewed-by: Oswald Buddenhagen --- src/concurrent/qtconcurrentexception.h | 7 ++----- src/corelib/thread/qexception.cpp | 2 -- src/corelib/thread/qexception.h | 8 ++------ src/corelib/thread/qfuture.h | 6 ++---- src/corelib/thread/qfutureinterface.cpp | 5 ----- src/corelib/thread/qfutureinterface.h | 6 ++---- src/corelib/thread/qfutureinterface_p.h | 2 ++ src/corelib/thread/qfuturesynchronizer.h | 3 +-- src/corelib/thread/qfuturewatcher.cpp | 5 ----- src/corelib/thread/qfuturewatcher.h | 6 ++---- src/corelib/thread/qfuturewatcher_p.h | 5 ++--- src/corelib/thread/qresultstore.cpp | 4 ---- src/corelib/thread/qresultstore.h | 8 ++------ src/corelib/thread/thread.pri | 30 ++++++++++++++++++------------ 14 files changed, 35 insertions(+), 62 deletions(-) (limited to 'src') 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 - -#if !defined(QT_NO_QFUTURE) || defined(Q_CLANG_QDOC) - #include +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 - -#ifndef QT_NO_QFUTURE - #include #include @@ -51,6 +47,8 @@ # include #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 -#if !defined(QT_NO_QFUTURE) || defined(Q_CLANG_QDOC) - #include #include +QT_REQUIRE_CONFIG(future); + QT_BEGIN_NAMESPACE @@ -247,6 +247,4 @@ QFuture qToVoidFuture(const QFuture &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 @@ -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 - -#ifndef QT_NO_QFUTURE - #include #include #include +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 #include +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 -#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 @@ -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 - -#ifndef QT_NO_QFUTURE - #include +QT_REQUIRE_CONFIG(future); + QT_BEGIN_NAMESPACE @@ -212,6 +211,5 @@ Q_INLINE_TEMPLATE void QFutureWatcher::setFuture(const QFuture &_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 -#ifndef QT_NO_QFUTURE - #include +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 - -#ifndef QT_NO_QFUTURE - #include #include +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 \ -- cgit v1.2.3