From de1da50557a8a641f0620b1e4c490fc1f36b70c9 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 16 Aug 2016 18:18:13 +0200 Subject: make bootstrapped build work entirely without generated headers instead, the only relevant defines from qconfig.h (QT_VERSION*) are passed on the command line, like we already did for qmake and configure.exe. this enables us to remove the early forwarding header generation from qtbase.pro, and rely wholly on the regular mechanism from syncqt + qt_module_headers.prf. another advantage is that we can be sure that the bootstrapped namespace is not polluted by the target feature configuration. Change-Id: If29285cfc697ae56b591e2ff1a2114686d18fb30 Reviewed-by: Lars Knoll --- qtbase.pro | 12 +----------- src/3rdparty/zlib/gzguts.h | 4 +++- src/3rdparty/zlib/zutil.h | 4 +++- src/corelib/global/qglobal.h | 2 +- src/tools/bootstrap/bootstrap.pro | 4 ++++ 5 files changed, 12 insertions(+), 14 deletions(-) diff --git a/qtbase.pro b/qtbase.pro index 93a2f6264f..481374b0da 100644 --- a/qtbase.pro +++ b/qtbase.pro @@ -148,21 +148,11 @@ FEATURES_PRI = \ "QT_DISABLED_FEATURES = \$\$unique(QT_DISABLED_FEATURES)" write_file($$OUT_PWD/mkspecs/qfeatures.pri, FEATURES_PRI)|error() -# Create forwarding headers for qconfig.h -FWD_QCONFIG_H = \ - '$${LITERAL_HASH}include "../../src/corelib/global/qconfig.h"' -write_file($$OUT_PWD/include/QtCore/qconfig.h, FWD_QCONFIG_H)|error() -FWD_QTCONFIG = \ - '$${LITERAL_HASH}include "qconfig.h"' -write_file($$OUT_PWD/include/QtCore/QtConfig, FWD_QTCONFIG)|error() - # Files created by us QMAKE_DISTCLEAN += \ src/corelib/global/qfeatures.h \ include/QtCore/qfeatures.h \ - mkspecs/qfeatures.pri \ - include/QtCore/qconfig.h \ - include/QtCore/QtConfig + mkspecs/qfeatures.pri #mkspecs mkspecs.path = $$[QT_HOST_DATA]/mkspecs diff --git a/src/3rdparty/zlib/gzguts.h b/src/3rdparty/zlib/gzguts.h index 9e4368e889..3daf1070c4 100644 --- a/src/3rdparty/zlib/gzguts.h +++ b/src/3rdparty/zlib/gzguts.h @@ -21,7 +21,9 @@ # endif #endif -#include "qconfig.h" +#ifndef QT_BOOTSTRAPPED +# include +#endif #if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ) && defined(QT_VISIBILITY_AVAILABLE) # define ZLIB_INTERNAL __attribute__((visibility ("hidden"))) #else diff --git a/src/3rdparty/zlib/zutil.h b/src/3rdparty/zlib/zutil.h index 4d367a92db..881a7ecb3f 100644 --- a/src/3rdparty/zlib/zutil.h +++ b/src/3rdparty/zlib/zutil.h @@ -13,7 +13,9 @@ #ifndef ZUTIL_H #define ZUTIL_H -#include "qconfig.h" +#ifndef QT_BOOTSTRAPPED +# include +#endif #if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ) && defined(QT_VISIBILITY_AVAILABLE) # define ZLIB_INTERNAL __attribute__((visibility ("hidden"))) #else diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 3d8baf7188..d9ffca3810 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -56,7 +56,7 @@ */ #define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) -#if !defined(QT_BUILD_QMAKE) && !defined(QT_BUILD_CONFIGURE) +#ifndef QT_BOOTSTRAPPED #include #include #endif diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro index f763d0c8fe..b5015ed562 100644 --- a/src/tools/bootstrap/bootstrap.pro +++ b/src/tools/bootstrap/bootstrap.pro @@ -6,6 +6,10 @@ CONFIG += minimal_syncqt internal_module force_bootstrap MODULE_INCNAME = QtCore QtXml MODULE_DEFINES = \ + QT_VERSION_STR=$$shell_quote(\"$$QT_VERSION\") \ + QT_VERSION_MAJOR=$$QT_MAJOR_VERSION \ + QT_VERSION_MINOR=$$QT_MINOR_VERSION \ + QT_VERSION_PATCH=$$QT_PATCH_VERSION \ QT_BOOTSTRAPPED \ QT_LITE_UNICODE \ QT_NO_CAST_TO_ASCII \ -- cgit v1.2.3