From 89e8a07a90a4ebbdf71425f8edbdea8a6489c642 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 4 Feb 2022 16:30:52 -0800 Subject: qglobal: Move the export macros further up in the file Before the #ifdef __cplusplus and namespace start. We don't need to export anything from C (and I hope that remains the case), but at least this removes the need for QT_{BEGIN,END}_INCLUDE_NAMESPACE. Which also weren't needed. Change-Id: I54f205f6b7314351b078fffd16d0bc84c57cb2ec Reviewed-by: Edward Welbourne Reviewed-by: Marc Mutz (cherry picked from commit 0e84d04b90a7e98847f92a2d644120d23c7c051c) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/global/qglobal.h | 60 +++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 6f5a4de092..6e83b78f4b 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -68,6 +68,35 @@ #include #endif +/* + The Qt modules' export macros. + The options are: + - defined(QT_STATIC): Qt was built or is being built in static mode + - defined(QT_SHARED): Qt was built or is being built in shared/dynamic mode + If neither was defined, then QT_SHARED is implied. If Qt was compiled in static + mode, QT_STATIC is defined in qconfig.h. In shared mode, QT_STATIC is implied + for the bootstrapped tools. +*/ + +#ifdef QT_BOOTSTRAPPED +# ifdef QT_SHARED +# error "QT_SHARED and QT_BOOTSTRAPPED together don't make sense. Please fix the build" +# elif !defined(QT_STATIC) +# define QT_STATIC +# endif +#endif + +#if defined(QT_SHARED) || !defined(QT_STATIC) +# ifdef QT_STATIC +# error "Both QT_SHARED and QT_STATIC defined, please make up your mind" +# endif +# ifndef QT_SHARED +# define QT_SHARED +# endif +#endif + +#include + /* The QT_CONFIG macro implements a safe compile time check for features of Qt. Features can be in three states: @@ -460,37 +489,6 @@ constexpr inline Deprecated_t Deprecated = {}; } #endif -/* - The Qt modules' export macros. - The options are: - - defined(QT_STATIC): Qt was built or is being built in static mode - - defined(QT_SHARED): Qt was built or is being built in shared/dynamic mode - If neither was defined, then QT_SHARED is implied. If Qt was compiled in static - mode, QT_STATIC is defined in qconfig.h. In shared mode, QT_STATIC is implied - for the bootstrapped tools. -*/ - -#ifdef QT_BOOTSTRAPPED -# ifdef QT_SHARED -# error "QT_SHARED and QT_BOOTSTRAPPED together don't make sense. Please fix the build" -# elif !defined(QT_STATIC) -# define QT_STATIC -# endif -#endif - -#if defined(QT_SHARED) || !defined(QT_STATIC) -# ifdef QT_STATIC -# error "Both QT_SHARED and QT_STATIC defined, please make up your mind" -# endif -# ifndef QT_SHARED -# define QT_SHARED -# endif -#endif - -QT_BEGIN_INCLUDE_NAMESPACE -#include -QT_END_INCLUDE_NAMESPACE - /* Some classes do not permit copies to be made of an object. These classes contains a private copy constructor and assignment -- cgit v1.2.3