summaryrefslogtreecommitdiffstats
path: root/afterlive/qtbase/0005-Move-private-headers-into-versioned-subdirectory.patch
diff options
context:
space:
mode:
Diffstat (limited to 'afterlive/qtbase/0005-Move-private-headers-into-versioned-subdirectory.patch')
-rw-r--r--afterlive/qtbase/0005-Move-private-headers-into-versioned-subdirectory.patch856
1 files changed, 856 insertions, 0 deletions
diff --git a/afterlive/qtbase/0005-Move-private-headers-into-versioned-subdirectory.patch b/afterlive/qtbase/0005-Move-private-headers-into-versioned-subdirectory.patch
new file mode 100644
index 0000000..9747c85
--- /dev/null
+++ b/afterlive/qtbase/0005-Move-private-headers-into-versioned-subdirectory.patch
@@ -0,0 +1,856 @@
+From df57a516994e8dce3d018c4e4555773b08c4bdb7 Mon Sep 17 00:00:00 2001
+From: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
+Date: Wed, 20 Apr 2011 13:57:51 -0500
+Subject: [PATCH] Move private headers into versioned subdirectory
+
+This will allow us to expose private headers in a controlled manner,
+and ensure that they are not used by accident. This also means that
+we internally will have to enable the private headers for the
+modules we wish to use in the project.
+---
+ bin/syncqt | 22 +++++++++++++++++-
+ configure | 4 +-
+ demos/shared/shared.pro | 1 +
+ mkspecs/features/designer.prf | 2 +-
+ mkspecs/features/help.prf | 2 +-
+ mkspecs/features/qt.prf | 18 ++++++++++++++-
+ mkspecs/features/qt_functions.prf | 24 +++++++++++++++----
+ qmake/Makefile.unix | 2 +
+ qmake/Makefile.win32 | 4 +-
+ qmake/Makefile.win32-g++ | 4 +-
+ qmake/Makefile.win32-g++-sh | 4 +-
+ qmake/qmake.pro | 2 +
+ src/dbus/dbus.pro | 2 +-
+ src/gui/gui.pro | 2 +-
+ src/modules/qt_core.pri | 10 ++++----
+ src/modules/qt_dbus.pri | 10 ++++----
+ src/modules/qt_gui.pri | 10 ++++----
+ src/modules/qt_network.pri | 10 ++++----
+ src/modules/qt_opengl.pri | 10 ++++----
+ src/modules/qt_openvg.pri | 10 ++++----
+ src/modules/qt_sql.pri | 10 ++++----
+ src/modules/qt_testlib.pri | 10 ++++----
+ src/modules/qt_uilib.pri | 13 +++++-----
+ src/modules/qt_uitools.pri | 10 ++++----
+ src/modules/qt_xml.pri | 10 ++++----
+ src/network/network.pro | 2 +-
+ src/opengl/opengl.pro | 2 +-
+ src/plugins/accessible/widgets/widgets.pro | 1 +
+ src/plugins/bearer/connman/connman.pro | 2 +-
+ src/plugins/bearer/generic/generic.pro | 2 +-
+ src/plugins/bearer/nativewifi/nativewifi.pro | 2 +-
+ .../bearer/networkmanager/networkmanager.pro | 2 +-
+ src/plugins/graphicssystems/opengl/opengl.pro | 2 +-
+ src/plugins/graphicssystems/trace/trace.pro | 2 +-
+ src/plugins/imageformats/jpeg/jpeg.pro | 2 +
+ src/plugins/sqldrivers/qsqldriverbase.pri | 2 +-
+ src/qbase.pri | 3 ++
+ src/qt_install.pri | 8 ++----
+ src/sql/sql.pro | 2 +-
+ src/tools/bootstrap/bootstrap.pri | 4 +++
+ src/tools/bootstrap/bootstrap.pro | 6 ++++-
+ src/xml/xml.pro | 2 +-
+ tools/configure/configure.pro | 2 +
+ tools/configure/configureapp.cpp | 5 ++-
+ 44 files changed, 164 insertions(+), 95 deletions(-)
+
+diff --git a/bin/syncqt b/bin/syncqt
+index 9eb19c7..8662475 100755
+--- a/bin/syncqt
++++ b/bin/syncqt
+@@ -745,6 +745,21 @@ mkpath "$out_basedir/include/Qt", !$quiet;
+ foreach my $lib (@modules_to_sync) {
+ #iteration info
+ my $dir = $modules{$lib};
++ my $module_version = "";
++
++ if (-e "$modulepris{$lib}") {
++ my $content = fileContents($modulepris{$lib});
++ my @version_rows = grep(/QT\..*\.VERSION/, split('\n', $content));
++ if(@version_rows) {
++ # We only pick the first one, since each module need a separate .pri file
++ $module_version = $version_rows[0];
++ chomp $module_version;
++ $module_version =~ s/^\s*QT\..*\.VERSION\s*=\s*([^#]+).*$/$1/;
++ $module_version =~ s/\s+$//;
++ }
++ }
++ print "WARNING: Module $lib\'s pri missing QT.<module>.VERSION variable! Private headers not versioned!\n" if (!$module_version);
++
+ my $pathtoheaders = "";
+ $pathtoheaders = $moduleheaders{$lib} if ($moduleheaders{$lib});
+
+@@ -764,6 +779,7 @@ foreach my $lib (@modules_to_sync) {
+ chomp $line;
+ if($line =~ /^ *QT *\+?= *([^\r\n]*)/) {
+ foreach(split(/ /, $1)) {
++ $_ =~ s/-private$//;
+ my $content = $mastercontent{$_};
+ $master_contents .= $content if ($content);
+ }
+@@ -911,7 +927,11 @@ foreach my $lib (@modules_to_sync) {
+ }
+ }
+ } elsif ($create_private_headers) {
+- @headers = ( "$out_basedir/include/$lib/private/$header" );
++ if ($module_version) {
++ @headers = ( "$out_basedir/include/$lib/$module_version/$lib/private/$header" );
++ } else {
++ @headers = ( "$out_basedir/include/$lib/private/$header" );
++ }
+ }
+ foreach(@headers) { #sync them
+ $header_copies++ if(syncHeader($_, $iheader, $copy_headers && !$shadow, $ts));
+diff --git a/configure b/configure
+index 68f95d1..eee00cf 100755
+--- a/configure
++++ b/configure
+@@ -4898,7 +4898,7 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
+ -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
+ -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
+ -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \
+- -e "s,@QMAKESPEC@,$adjqmakespec,g" "$in_mkfile" >>"$mkfile"
++ -e "s,@QMAKESPEC@,$adjqmakespec,g" -e "s,@QT_VERSION@,$QT_VERSION,g" "$in_mkfile" >>"$mkfile"
+
+ if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
+ (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
+@@ -8450,7 +8450,7 @@ CACHEFILE="$outpath/.qmake.cache"
+ [ -f "$CACHEFILE.tmp" ] && rm -f "$CACHEFILE.tmp"
+ cat >>"$CACHEFILE.tmp" <<EOF
+ include(\$\$PWD/mkspecs/qmodule.pri)
+-CONFIG += $QMAKE_CONFIG dylib create_prl link_prl depend_includepath fix_output_dirs QTDIR_build
++CONFIG += $QMAKE_CONFIG dylib create_prl link_prl depend_includepath fix_output_dirs no_private_qt_headers_warning QTDIR_build
+ QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
+ QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
+
+diff --git a/demos/shared/shared.pro b/demos/shared/shared.pro
+index b2a338e..88d7fbe 100644
+--- a/demos/shared/shared.pro
++++ b/demos/shared/shared.pro
+@@ -11,6 +11,7 @@ build_all:!build_pass {
+ CONFIG += release
+ }
+ TARGET = demo_shared
++QT += gui-private
+
+ SOURCES += \
+ arthurstyle.cpp\
+diff --git a/mkspecs/features/designer.prf b/mkspecs/features/designer.prf
+index fa40caa..63a7e76 100644
+--- a/mkspecs/features/designer.prf
++++ b/mkspecs/features/designer.prf
+@@ -4,4 +4,4 @@ qt:load(qt)
+
+ plugin:DEFINES += QDESIGNER_EXPORT_WIDGETS
+
+-qtAddLibrary(QtDesigner)
++qtAddLibrary(QtDesigner, true)
+diff --git a/mkspecs/features/help.prf b/mkspecs/features/help.prf
+index d8ba8c3..c96ecae8 100644
+--- a/mkspecs/features/help.prf
++++ b/mkspecs/features/help.prf
+@@ -1,3 +1,3 @@
+ QT += xml sql
+
+-qtAddModule(help)
++qtAddModule(help, true)
+diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
+index 21fdd38..61e1d57 100644
+--- a/mkspecs/features/qt.prf
++++ b/mkspecs/features/qt.prf
+@@ -131,7 +131,16 @@ QMAKE_LIBDIR += $$QMAKE_LIBDIR_QT
+ QT = $$resolve_depends($$QT, "QT.")
+ QT_DEPENDS=
+
++unset(using_privates)
+ for(QTLIB, $$list($$lower($$unique(QT)))) {
++ # Figure out if we're wanting to use the private headers of a module
++ contains(QTLIB, .*-private) {
++ QTLIB ~= s/-private//
++ use_private = UsePrivate
++ } else {
++ use_private = NoPrivate
++ }
++
+ isEmpty(QT.$${QTLIB}.name) {
+ message("Warning: unknown QT module: $$QTLIB")
+ next()
+@@ -141,14 +150,21 @@ for(QTLIB, $$list($$lower($$unique(QT)))) {
+ warning($$TARGET cannot have a QT of $$QTLIB)
+ next()
+ }
+- qtAddModule($$QTLIB)
++ qtAddModule($$QTLIB, $$use_private)
+ QT_DEPENDS += $$eval(QT.$${QTLIB}.depends)
++ isEqual(use_private, UsePrivate):using_privates = true
+ }
+
+ # add include paths for all .depends, since module/application might need f.ex. template specializations etc.
+ QT_DEPENDS -= $$QT
+ for(QTLIB, $$list($$lower($$unique(QT_DEPENDS)))):INCLUDEPATH += $$INCLUDEPATH $$eval(QT.$${QTLIB}.includes)
+
++!isEmpty(using_privates):!no_private_qt_headers_warning:if(!debug_and_release|!build_pass) {
++ message("This project is using private headers and will therefore be tied to this specific Qt module build version.")
++ message("Running this project against other versions of the Qt modules may crash at any arbitrary point.")
++ message("This is not a bug, but a result of using Qt internals. You have been warned!")
++}
++
+ qt_compat {
+ !qt_compat_no_warning:QTDIR_build:warning(***USE of COMPAT inside of QTDIR!**) #just for us
+ INCLUDEPATH *= $$QMAKE_INCDIR_QT/Qt
+diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
+index b16c848..50a85d8 100644
+--- a/mkspecs/features/qt_functions.prf
++++ b/mkspecs/features/qt_functions.prf
+@@ -102,6 +102,16 @@ defineTest(qtAddModule) {
+
+ INCLUDEPATH -= $$MODULE_INCLUDES
+ INCLUDEPATH = $$MODULE_INCLUDES $$INCLUDEPATH
++ isEqual(2, UsePrivate) { # Tests function parameter 2 ($$2) being equal to 'UsePrivate'
++ # This adds both
++ # <module privates include path>/
++ # and <module privates include path>/<module name>
++ # since we have code using both #include <QtCore/private/foo> and #include <private/foo>
++ # Both need to be supported with the new private includes structure
++ MODULE_INCLUDES_PRIVATES = $$eval(QT.$${1}.private_includes)
++ INCLUDEPATH -= $$MODULE_INCLUDES_PRIVATES $$MODULE_INCLUDES_PRIVATES/$$MODULE_NAME
++ INCLUDEPATH = $$MODULE_INCLUDES_PRIVATES $$MODULE_INCLUDES_PRIVATES/$$MODULE_NAME $$INCLUDEPATH
++ }
+
+ unset(LINKAGE)
+ mac {
+@@ -140,12 +150,16 @@ defineTest(qtAddModule) {
+ }
+ isEmpty(LINKAGE):LINKAGE = -l$${MODULE_NAME}$${QT_LIBINFIX}
+ }
+- !isEmpty(QMAKE_LSB) {
+- QMAKE_LFLAGS *= --lsb-libpath=$$$$QMAKE_LIBDIR_QT
+- QMAKE_LFLAGS *= -L/opt/lsb/lib
+- QMAKE_LFLAGS *= --lsb-shared-libs=$${MODULE_NAME}$${QT_LIBINFIX}
++ # Only link to this module if a libs directory is set, else this is just a module
++ # to give access to sources or include files, and not for linking.
++ !isEmpty(MODULE_LIBS) {
++ !isEmpty(QMAKE_LSB) {
++ QMAKE_LFLAGS *= --lsb-libpath=$$$$QMAKE_LIBDIR_QT
++ QMAKE_LFLAGS *= -L/opt/lsb/lib
++ QMAKE_LFLAGS *= --lsb-shared-libs=$${MODULE_NAME}$${QT_LIBINFIX}
++ }
++ LIBS += $$LINKAGE
+ }
+- LIBS += $$LINKAGE
+ export(CONFIG)
+ export(DEFINES)
+ export(LIBS)
+diff --git a/qmake/Makefile.unix b/qmake/Makefile.unix
+index fd502e0..a88c48f 100644
+--- a/qmake/Makefile.unix
++++ b/qmake/Makefile.unix
+@@ -1,5 +1,6 @@
+ SOURCE_PATH = @SOURCE_PATH@
+ BUILD_PATH = @BUILD_PATH@
++QT_VERSION = @QT_VERSION@
+ QTOBJS = @QMAKE_QTOBJS@
+ QTSRCS = @QMAKE_QTSRCS@
+ QMAKESPEC = @QMAKESPEC@
+@@ -72,6 +73,7 @@ DEPEND_SRC=project.cpp property.cpp meta.cpp main.cpp generators/makefile.cpp ge
+ CPPFLAGS = -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 \
+ -Igenerators/mac -Igenerators/symbian -Igenerators/integrity \
+ -I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore \
++ -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION) -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION)/QtCore \
+ -I$(BUILD_PATH)/src/corelib/global -I$(BUILD_PATH)/src/corelib/xml \
+ -I$(SOURCE_PATH)/tools/shared \
+ -DQT_NO_PCRE \
+diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32
+index 0ab2932..97b82b4 100644
+--- a/qmake/Makefile.win32
++++ b/qmake/Makefile.win32
+@@ -32,8 +32,8 @@ CFLAGS_BARE = -c -Fo./ \
+ -W3 -nologo -O2 \
+ $(CFLAGS_EXTRA) \
+ -I. -Igenerators -Igenerators\unix -Igenerators\win32 -Igenerators\mac -Igenerators\symbian -Igenerators\integrity \
+- -I$(BUILD_PATH)\include -I$(BUILD_PATH)\include\QtCore \
+- -I$(SOURCE_PATH)\include -I$(SOURCE_PATH)\include\QtCore \
++ -I$(BUILD_PATH)\include -I$(BUILD_PATH)\include\QtCore -I$(BUILD_PATH)\include\QtCore\$(QT_VERSION) -I$(BUILD_PATH)\include\QtCore\$(QT_VERSION)\QtCore \
++ -I$(SOURCE_PATH)\include -I$(SOURCE_PATH)\include\QtCore -I$(SOURCE_PATH)\include\QtCore\$(QT_VERSION) -I$(SOURCE_PATH)\include\QtCore\$(QT_VERSION)\QtCore \
+ -I$(BUILD_PATH)\src\corelib\global \
+ -I$(BUILD_PATH)\src\corelib\xml \
+ -I$(SOURCE_PATH)\mkspecs\$(QMAKESPEC) \
+diff --git a/qmake/Makefile.win32-g++ b/qmake/Makefile.win32-g++
+index cba4257..bd31caa 100644
+--- a/qmake/Makefile.win32-g++
++++ b/qmake/Makefile.win32-g++
+@@ -16,8 +16,8 @@ CFLAGS = -c -o$@ -O \
+ -I. -Igenerators -Igenerators/unix \
+ -Igenerators/win32 -Igenerators/mac \
+ -Igenerators/symbian -Igenerators/integrity \
+- -I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore \
+- -I$(SOURCE_PATH)/include -I$(SOURCE_PATH)/include/QtCore \
++ -I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION) -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION)/QtCore \
++ -I$(SOURCE_PATH)/include -I$(SOURCE_PATH)/include/QtCore -I$(SOURCE_PATH)/include/QtCore/$(QT_VERSION) -I$(SOURCE_PATH)/include/QtCore/$(QT_VERSION)/QtCore \
+ -I$(BUILD_PATH)/src/corelib/global \
+ -I$(BUILD_PATH)/src/corelib/xml \
+ -I$(SOURCE_PATH)/mkspecs/win32-g++ \
+diff --git a/qmake/Makefile.win32-g++-sh b/qmake/Makefile.win32-g++-sh
+index 0d3bb68..c673979 100644
+--- a/qmake/Makefile.win32-g++-sh
++++ b/qmake/Makefile.win32-g++-sh
+@@ -16,8 +16,8 @@ CFLAGS = -c -o$@ -O \
+ -I. -Igenerators -Igenerators/unix \
+ -Igenerators/win32 -Igenerators/mac \
+ -Igenerators/symbian -Igenerators/integrity \
+- -I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore \
+- -I$(SOURCE_PATH)/include -I$(SOURCE_PATH)/include/QtCore \
++ -I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION) -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION)/QtCore \
++ -I$(SOURCE_PATH)/include -I$(SOURCE_PATH)/include/QtCore -I$(SOURCE_PATH)/include/QtCore/$(QT_VERSION) -I$(SOURCE_PATH)/include/QtCore/$(QT_VERSION)/QtCore \
+ -I$(BUILD_PATH)/src/corelib/global \
+ -I$(BUILD_PATH)/src/corelib/xml \
+ -I$(SOURCE_PATH)/mkspecs/win32-g++ \
+diff --git a/qmake/qmake.pro b/qmake/qmake.pro
+index b602afa..ac52bd8 100644
+--- a/qmake/qmake.pro
++++ b/qmake/qmake.pro
+@@ -27,6 +27,8 @@ INCLUDEPATH += . \
+ generators/symbian \
+ $$QT_SOURCE_TREE/include \
+ $$QT_SOURCE_TREE/include/QtCore \
++ $$QT_SOURCE_TREE/include/QtCore/$$QT_VERSION \
++ $$QT_SOURCE_TREE/include/QtCore/$$QT_VERSION/QtCore \
+ $$QT_SOURCE_TREE/qmake
+
+ VPATH += $$QT_SOURCE_TREE/tools/shared
+diff --git a/src/dbus/dbus.pro b/src/dbus/dbus.pro
+index 86ee835..c5a3253 100644
+--- a/src/dbus/dbus.pro
++++ b/src/dbus/dbus.pro
+@@ -1,6 +1,6 @@
+ TARGET = QtDBus
+ QPRO_PWD = $$PWD
+-QT = core \
++QT = core-private \
+ xml
+
+ CONFIG += link_pkgconfig module
+diff --git a/src/gui/gui.pro b/src/gui/gui.pro
+index 518aac5..1fb9054 100644
+--- a/src/gui/gui.pro
++++ b/src/gui/gui.pro
+@@ -1,6 +1,6 @@
+ TARGET = QtGui
+ QPRO_PWD = $$PWD
+-QT = core
++QT = core-private
+
+ CONFIG += module
+ MODULE_PRI = ../modules/qt_gui.pri
+diff --git a/src/modules/qt_core.pri b/src/modules/qt_core.pri
+index 9636fb2..bf01343 100644
+--- a/src/modules/qt_core.pri
++++ b/src/modules/qt_core.pri
+@@ -1,12 +1,12 @@
+-QT_CORE_VERSION = $$QT_VERSION
+-QT_CORE_MAJOR_VERSION = $$QT_MAJOR_VERSION
+-QT_CORE_MINOR_VERSION = $$QT_MINOR_VERSION
+-QT_CORE_PATCH_VERSION = $$QT_PATCH_VERSION
++QT.core.VERSION = 4.8.0
++QT.core.MAJOR_VERSION = 4
++QT.core.MINOR_VERSION = 8
++QT.core.PATCH_VERSION = 0
+
+ QT.core.name = QtCore
+ QT.core.bins = $$QT_MODULE_BIN_BASE
+ QT.core.includes = $$QT_MODULE_INCLUDE_BASE/QtCore
+-QT.core.private_includes = $$QT_MODULE_INCLUDE_BASE/QtCore/private
++QT.core.private_includes = $$QT_MODULE_INCLUDE_BASE/QtCore/$$QT.core.VERSION
+ QT.core.sources = $$QT_MODULE_BASE/src/corelib
+ QT.core.libs = $$QT_MODULE_LIB_BASE
+ QT.core.plugins = $$QT_MODULE_PLUGIN_BASE
+diff --git a/src/modules/qt_dbus.pri b/src/modules/qt_dbus.pri
+index 13c9914..9aefab9 100644
+--- a/src/modules/qt_dbus.pri
++++ b/src/modules/qt_dbus.pri
+@@ -1,12 +1,12 @@
+-QT_DBUS_VERSION = $$QT_VERSION
+-QT_DBUS_MAJOR_VERSION = $$QT_MAJOR_VERSION
+-QT_DBUS_MINOR_VERSION = $$QT_MINOR_VERSION
+-QT_DBUS_PATCH_VERSION = $$QT_PATCH_VERSION
++QT.dbus.VERSION = 4.8.0
++QT.dbus.MAJOR_VERSION = 4
++QT.dbus.MINOR_VERSION = 8
++QT.dbus.PATCH_VERSION = 0
+
+ QT.dbus.name = QtDBus
+ QT.dbus.bins = $$QT_MODULE_BIN_BASE
+ QT.dbus.includes = $$QT_MODULE_INCLUDE_BASE/QtDBus
+-QT.dbus.private_includes = $$QT_MODULE_INCLUDE_BASE/QtDBus/private
++QT.dbus.private_includes = $$QT_MODULE_INCLUDE_BASE/QtDBus/$$QT.dbus.VERSION
+ QT.dbus.sources = $$QT_MODULE_BASE/src/dbus
+ QT.dbus.libs = $$QT_MODULE_LIB_BASE
+ QT.dbus.plugins = $$QT_MODULE_PLUGIN_BASE
+diff --git a/src/modules/qt_gui.pri b/src/modules/qt_gui.pri
+index 444f5c4..1ef3697 100644
+--- a/src/modules/qt_gui.pri
++++ b/src/modules/qt_gui.pri
+@@ -1,11 +1,11 @@
+-QT_GUI_VERSION = $$QT_VERSION
+-QT_GUI_MAJOR_VERSION = $$QT_MAJOR_VERSION
+-QT_GUI_MINOR_VERSION = $$QT_MINOR_VERSION
+-QT_GUI_PATCH_VERSION = $$QT_PATCH_VERSION
++QT.gui.VERSION = 4.8.0
++QT.gui.MAJOR_VERSION = 4
++QT.gui.MINOR_VERSION = 8
++QT.gui.PATCH_VERSION = 0
+
+ QT.gui.name = QtGui
+ QT.gui.includes = $$QT_MODULE_INCLUDE_BASE/QtGui
+-QT.gui.private_includes = $$QT_MODULE_INCLUDE_BASE/QtGui/private
++QT.gui.private_includes = $$QT_MODULE_INCLUDE_BASE/QtGui/$$QT.gui.VERSION
+ QT.gui.sources = $$QT_MODULE_BASE/src/gui
+ QT.gui.libs = $$QT_MODULE_LIB_BASE
+ QT.gui.plugins = $$QT_MODULE_PLUGIN_BASE
+diff --git a/src/modules/qt_network.pri b/src/modules/qt_network.pri
+index f54afd2..44326c2 100644
+--- a/src/modules/qt_network.pri
++++ b/src/modules/qt_network.pri
+@@ -1,12 +1,12 @@
+-QT_CORE_VERSION = $$QT_VERSION
+-QT_NETWORK_MAJOR_VERSION = $$QT_MAJOR_VERSION
+-QT_NETWORK_MINOR_VERSION = $$QT_MINOR_VERSION
+-QT_NETWORK_PATCH_VERSION = $$QT_PATCH_VERSION
++QT.network.VERSION = 4.8.0
++QT.network.MAJOR_VERSION = 4
++QT.network.MINOR_VERSION = 8
++QT.network.PATCH_VERSION = 0
+
+ QT.network.name = QtNetwork
+ QT.network.bins = $$QT_MODULE_BIN_BASE
+ QT.network.includes = $$QT_MODULE_INCLUDE_BASE/QtNetwork
+-QT.network.private_includes = $$QT_MODULE_INCLUDE_BASE/QtNetwork/private
++QT.network.private_includes = $$QT_MODULE_INCLUDE_BASE/QtNetwork/$$QT.network.VERSION
+ QT.network.sources = $$QT_MODULE_BASE/src/network
+ QT.network.libs = $$QT_MODULE_LIB_BASE
+ QT.network.plugins = $$QT_MODULE_PLUGIN_BASE
+diff --git a/src/modules/qt_opengl.pri b/src/modules/qt_opengl.pri
+index 4d9a702..b767a3c 100644
+--- a/src/modules/qt_opengl.pri
++++ b/src/modules/qt_opengl.pri
+@@ -1,12 +1,12 @@
+-QT_OPENGL_VERSION = $$QT_VERSION
+-QT_OPENGL_MAJOR_VERSION = $$QT_MAJOR_VERSION
+-QT_OPENGL_MINOR_VERSION = $$QT_MINOR_VERSION
+-QT_OPENGL_PATCH_VERSION = $$QT_PATCH_VERSION
++QT.opengl.VERSION = 4.8.0
++QT.opengl.MAJOR_VERSION = 4
++QT.opengl.MINOR_VERSION = 8
++QT.opengl.PATCH_VERSION = 0
+
+ QT.opengl.name = QtOpenGL
+ QT.opengl.bins = $$QT_MODULE_BIN_BASE
+ QT.opengl.includes = $$QT_MODULE_INCLUDE_BASE/QtOpenGL
+-QT.opengl.private_includes = $$QT_MODULE_INCLUDE_BASE/QtOpenGL/private
++QT.opengl.private_includes = $$QT_MODULE_INCLUDE_BASE/QtOpenGL/$$QT.opengl.VERSION
+ QT.opengl.sources = $$QT_MODULE_BASE/src/opengl
+ QT.opengl.libs = $$QT_MODULE_LIB_BASE
+ QT.opengl.plugins = $$QT_MODULE_PLUGIN_BASE
+diff --git a/src/modules/qt_openvg.pri b/src/modules/qt_openvg.pri
+index 1261fd9..2ff477c 100644
+--- a/src/modules/qt_openvg.pri
++++ b/src/modules/qt_openvg.pri
+@@ -1,12 +1,12 @@
+-QT_OPENVG_VERSION = $$QT_VERSION
+-QT_OPENVG_MAJOR_VERSION = $$QT_MAJOR_VERSION
+-QT_OPENVG_MINOR_VERSION = $$QT_MINOR_VERSION
+-QT_OPENVG_PATCH_VERSION = $$QT_PATCH_VERSION
++QT.openvg.VERSION = 4.8.0
++QT.openvg.MAJOR_VERSION = 4
++QT.openvg.MINOR_VERSION = 8
++QT.openvg.PATCH_VERSION = 0
+
+ QT.openvg.name = QtOpenVG
+ QT.openvg.bins = $$QT_MODULE_BIN_BASE
+ QT.openvg.includes = $$QT_MODULE_INCLUDE_BASE/QtOpenVG
+-QT.openvg.private_includes = $$QT_MODULE_INCLUDE_BASE/QtOpenVG/private
++QT.openvg.private_includes = $$QT_MODULE_INCLUDE_BASE/QtOpenVG/$$QT.openvg.VERSION
+ QT.openvg.sources = $$QT_MODULE_BASE/src/openvg
+ QT.openvg.libs = $$QT_MODULE_LIB_BASE
+ QT.openvg.plugins = $$QT_MODULE_PLUGIN_BASE
+diff --git a/src/modules/qt_sql.pri b/src/modules/qt_sql.pri
+index e7ca42a..14d2422 100644
+--- a/src/modules/qt_sql.pri
++++ b/src/modules/qt_sql.pri
+@@ -1,12 +1,12 @@
+-QT_SQL_VERSION = $$QT_VERSION
+-QT_SQL_MAJOR_VERSION = $$QT_MAJOR_VERSION
+-QT_SQL_MINOR_VERSION = $$QT_MINOR_VERSION
+-QT_SQL_PATCH_VERSION = $$QT_PATCH_VERSION
++QT.sql.VERSION = 4.8.0
++QT.sql.MAJOR_VERSION = 4
++QT.sql.MINOR_VERSION = 8
++QT.sql.PATCH_VERSION = 0
+
+ QT.sql.name = QtSql
+ QT.sql.bins = $$QT_MODULE_BIN_BASE
+ QT.sql.includes = $$QT_MODULE_INCLUDE_BASE/QtSql
+-QT.sql.private_includes = $$QT_MODULE_INCLUDE_BASE/QtSql/private
++QT.sql.private_includes = $$QT_MODULE_INCLUDE_BASE/QtSql/$$QT.sql.VERSION
+ QT.sql.sources = $$QT_MODULE_BASE/src/sql
+ QT.sql.libs = $$QT_MODULE_LIB_BASE
+ QT.sql.plugins = $$QT_MODULE_PLUGIN_BASE
+diff --git a/src/modules/qt_testlib.pri b/src/modules/qt_testlib.pri
+index 6ef7939..9fd9b2e 100644
+--- a/src/modules/qt_testlib.pri
++++ b/src/modules/qt_testlib.pri
+@@ -1,12 +1,12 @@
+-QT_TEST_VERSION = $$QT_VERSION
+-QT_TEST_MAJOR_VERSION = $$QT_MAJOR_VERSION
+-QT_TEST_MINOR_VERSION = $$QT_MINOR_VERSION
+-QT_TEST_PATCH_VERSION = $$QT_PATCH_VERSION
++QT.testlib.VERSION = 4.8.0
++QT.testlib.MAJOR_VERSION = 4
++QT.testlib.MINOR_VERSION = 8
++QT.testlib.PATCH_VERSION = 0
+
+ QT.testlib.name = QtTest
+ QT.testlib.bins = $$QT_MODULE_BIN_BASE
+ QT.testlib.includes = $$QT_MODULE_INCLUDE_BASE/QtTest
+-QT.testlib.private_includes = $$QT_MODULE_INCLUDE_BASE/QtTest/private
++QT.testlib.private_includes = $$QT_MODULE_INCLUDE_BASE/QtTest/$$QT.testlib.VERSION
+ QT.testlib.sources = $$QT_MODULE_BASE/src/testlib
+ QT.testlib.libs = $$QT_MODULE_LIB_BASE
+ QT.testlib.plugins = $$QT_MODULE_PLUGIN_BASE
+diff --git a/src/modules/qt_uilib.pri b/src/modules/qt_uilib.pri
+index 7e1dc7c..5973216 100644
+--- a/src/modules/qt_uilib.pri
++++ b/src/modules/qt_uilib.pri
+@@ -1,14 +1,13 @@
+-QT_UILIB_VERSION = $$QT_VERSION
+-QT_UILIB_MAJOR_VERSION = $$QT_MAJOR_VERSION
+-QT_UILIB_MINOR_VERSION = $$QT_MINOR_VERSION
+-QT_UILIB_PATCH_VERSION = $$QT_PATCH_VERSION
++QT.uilib.VERSION = 4.8.0
++QT.uilib.MAJOR_VERSION = 4
++QT.uilib.MINOR_VERSION = 8
++QT.uilib.PATCH_VERSION = 0
+
+-QT.uilib.name =
++QT.uilib.name = QtUiLib
+ QT.uilib.bins = $$QT_MODULE_BIN_BASE
+ QT.uilib.includes = $$QT_MODULE_INCLUDE_BASE/QtDesigner
+-QT.uilib.private_includes = $$QT_MODULE_INCLUDE_BASE/QtDesigner/private
++QT.uilib.private_includes = $$QT_MODULE_INCLUDE_BASE/QtDesigner/$$QT.uilib.VERSION
+ QT.uilib.sources = $$QT_MODULE_BASE/tools/uilib
+-QT.uilib.libs = $$QT_MODULE_LIB_BASE
+ QT.uilib.plugins = $$QT_MODULE_PLUGIN_BASE
+ QT.uilib.imports = $$QT_MODULE_IMPORT_BASE
+ QT.uilib.depends = xml
+diff --git a/src/modules/qt_uitools.pri b/src/modules/qt_uitools.pri
+index d221007..d30c8b8 100644
+--- a/src/modules/qt_uitools.pri
++++ b/src/modules/qt_uitools.pri
+@@ -1,12 +1,12 @@
+-QT_UITOOLS_VERSION = $$QT_VERSION
+-QT_UITOOLS_MAJOR_VERSION = $$QT_MAJOR_VERSION
+-QT_UITOOLS_MINOR_VERSION = $$QT_MINOR_VERSION
+-QT_UITOOLS_PATCH_VERSION = $$QT_PATCH_VERSION
++QT.uitools.VERSION = 4.8.0
++QT.uitools.MAJOR_VERSION = 4
++QT.uitools.MINOR_VERSION = 8
++QT.uitools.PATCH_VERSION = 0
+
+ QT.uitools.name = QtUiTools
+ QT.uitools.bins = $$QT_MODULE_BIN_BASE
+ QT.uitools.includes = $$QT_MODULE_INCLUDE_BASE/QtUiTools
+-QT.uitools.private_includes = $$QT_MODULE_INCLUDE_BASE/QtUiTools/private
++QT.uitools.private_includes = $$QT_MODULE_INCLUDE_BASE/QtUiTools/$$QT.uitools.VERSION
+ QT.uitools.sources = $$QT_MODULE_BASE/src/uitools
+ QT.uitools.libs = $$QT_MODULE_LIB_BASE
+ QT.uitools.plugins = $$QT_MODULE_PLUGIN_BASE
+diff --git a/src/modules/qt_xml.pri b/src/modules/qt_xml.pri
+index 0ede3d2..e7db636 100644
+--- a/src/modules/qt_xml.pri
++++ b/src/modules/qt_xml.pri
+@@ -1,12 +1,12 @@
+-QT_XML_VERSION = $$QT_VERSION
+-QT_XML_MAJOR_VERSION = $$QT_MAJOR_VERSION
+-QT_XML_MINOR_VERSION = $$QT_MINOR_VERSION
+-QT_XML_PATCH_VERSION = $$QT_PATCH_VERSION
++QT.xml.VERSION = 4.8.0
++QT.xml.MAJOR_VERSION = 4
++QT.xml.MINOR_VERSION = 8
++QT.xml.PATCH_VERSION = 0
+
+ QT.xml.name = QtXml
+ QT.xml.bins = $$QT_MODULE_BIN_BASE
+ QT.xml.includes = $$QT_MODULE_INCLUDE_BASE/QtXml
+-QT.xml.private_includes = $$QT_MODULE_INCLUDE_BASE/QtXml/private
++QT.xml.private_includes = $$QT_MODULE_INCLUDE_BASE/QtXml/$$QT.xml.VERSION
+ QT.xml.sources = $$QT_MODULE_BASE/src/xml
+ QT.xml.libs = $$QT_MODULE_LIB_BASE
+ QT.xml.plugins = $$QT_MODULE_PLUGIN_BASE
+diff --git a/src/network/network.pro b/src/network/network.pro
+index 1539617..fc5d08d 100644
+--- a/src/network/network.pro
++++ b/src/network/network.pro
+@@ -13,7 +13,7 @@ DEFINES += QT_BUILD_NETWORK_LIB QT_NO_USING_NAMESPACE
+ #DEFINES += QABSTRACTSOCKET_DEBUG QNATIVESOCKETENGINE_DEBUG
+ #DEFINES += QTCPSOCKETENGINE_DEBUG QTCPSOCKET_DEBUG QTCPSERVER_DEBUG QSSLSOCKET_DEBUG
+ #DEFINES += QUDPSOCKET_DEBUG QUDPSERVER_DEBUG
+-QT = core
++QT = core-private
+ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x64000000
+
+ unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore
+diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
+index d919ebb..509eb38 100644
+--- a/src/opengl/opengl.pro
++++ b/src/opengl/opengl.pro
+@@ -1,6 +1,6 @@
+ TARGET = QtOpenGL
+ QPRO_PWD = $$PWD
+-QT = core gui
++QT = core-private gui-private
+
+ CONFIG += module
+ MODULE_PRI = ../modules/qt_opengl.pri
+diff --git a/src/plugins/accessible/widgets/widgets.pro b/src/plugins/accessible/widgets/widgets.pro
+index 092f3ca..8329bce 100644
+--- a/src/plugins/accessible/widgets/widgets.pro
++++ b/src/plugins/accessible/widgets/widgets.pro
+@@ -2,6 +2,7 @@ TARGET = qtaccessiblewidgets
+ include(../../qpluginbase.pri)
+ include (../qaccessiblebase.pri)
+
++QT += core-private gui-private
+ DESTDIR = $$QT.gui.plugins/accessible
+
+ QTDIR_build:REQUIRES += "contains(QT_CONFIG, accessibility)"
+diff --git a/src/plugins/bearer/connman/connman.pro b/src/plugins/bearer/connman/connman.pro
+index 3ac54c3..f57a0c9 100644
+--- a/src/plugins/bearer/connman/connman.pro
++++ b/src/plugins/bearer/connman/connman.pro
+@@ -1,7 +1,7 @@
+ TARGET = qconnmanbearer
+ include(../../qpluginbase.pri)
+
+-QT = core network dbus
++QT = core network-private dbus
+
+ HEADERS += qconnmanservice_linux_p.h \
+ qofonoservice_linux_p.h \
+diff --git a/src/plugins/bearer/generic/generic.pro b/src/plugins/bearer/generic/generic.pro
+index 94ab36c..94fefaf 100644
+--- a/src/plugins/bearer/generic/generic.pro
++++ b/src/plugins/bearer/generic/generic.pro
+@@ -1,7 +1,7 @@
+ TARGET = qgenericbearer
+ include(../../qpluginbase.pri)
+
+-QT = core network
++QT = core-private network-private
+
+ HEADERS += qgenericengine.h \
+ ../qnetworksession_impl.h \
+diff --git a/src/plugins/bearer/nativewifi/nativewifi.pro b/src/plugins/bearer/nativewifi/nativewifi.pro
+index 6df346c..ba02f37 100644
+--- a/src/plugins/bearer/nativewifi/nativewifi.pro
++++ b/src/plugins/bearer/nativewifi/nativewifi.pro
+@@ -1,7 +1,7 @@
+ TARGET = qnativewifibearer
+ include(../../qpluginbase.pri)
+
+-QT = core network
++QT = core-private network-private
+
+ HEADERS += qnativewifiengine.h \
+ platformdefs.h \
+diff --git a/src/plugins/bearer/networkmanager/networkmanager.pro b/src/plugins/bearer/networkmanager/networkmanager.pro
+index b3e0883..a9de156 100644
+--- a/src/plugins/bearer/networkmanager/networkmanager.pro
++++ b/src/plugins/bearer/networkmanager/networkmanager.pro
+@@ -1,7 +1,7 @@
+ TARGET = qnmbearer
+ include(../../qpluginbase.pri)
+
+-QT = core network dbus
++QT = core network-private dbus
+
+ HEADERS += qnmdbushelper.h \
+ qnetworkmanagerservice.h \
+diff --git a/src/plugins/graphicssystems/opengl/opengl.pro b/src/plugins/graphicssystems/opengl/opengl.pro
+index fb3cb53..30c8827 100644
+--- a/src/plugins/graphicssystems/opengl/opengl.pro
++++ b/src/plugins/graphicssystems/opengl/opengl.pro
+@@ -1,7 +1,7 @@
+ TARGET = qglgraphicssystem
+ include(../../qpluginbase.pri)
+
+-QT += opengl
++QT += core-private gui-private opengl-private
+
+ DESTDIR = $$QT.gui.plugins/graphicssystems
+
+diff --git a/src/plugins/graphicssystems/trace/trace.pro b/src/plugins/graphicssystems/trace/trace.pro
+index 0958a86..b31beb3 100644
+--- a/src/plugins/graphicssystems/trace/trace.pro
++++ b/src/plugins/graphicssystems/trace/trace.pro
+@@ -1,7 +1,7 @@
+ TARGET = qtracegraphicssystem
+ include(../../qpluginbase.pri)
+
+-QT += network
++QT += core-private gui-private network
+
+ DESTDIR = $$QT.gui.plugins/graphicssystems
+ symbian:TARGET.UID3 = 0x2002130E
+diff --git a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro
+index 3a0e875..1e6c24d 100644
+--- a/src/plugins/imageformats/jpeg/jpeg.pro
++++ b/src/plugins/imageformats/jpeg/jpeg.pro
+@@ -1,6 +1,8 @@
+ TARGET = qjpeg
+ include(../../qpluginbase.pri)
+
++QT += core-private
++
+ QTDIR_build:REQUIRES = "!contains(QT_CONFIG, no-jpeg)"
+
+ include(../../../gui/image/qjpeghandler.pri)
+diff --git a/src/plugins/sqldrivers/qsqldriverbase.pri b/src/plugins/sqldrivers/qsqldriverbase.pri
+index 64f55fd..7399c65 100644
+--- a/src/plugins/sqldrivers/qsqldriverbase.pri
++++ b/src/plugins/sqldrivers/qsqldriverbase.pri
+@@ -1,5 +1,5 @@
+ include(../qpluginbase.pri)
+-QT = core sql
++QT = core sql-private
+ DESTDIR = $$QT.sql.plugins/sqldrivers
+
+ target.path += $$[QT_INSTALL_PLUGINS]/sqldrivers
+diff --git a/src/qbase.pri b/src/qbase.pri
+index 4ff1763..6336aa9 100644
+--- a/src/qbase.pri
++++ b/src/qbase.pri
+@@ -4,6 +4,9 @@ isEmpty(MODULE):MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0)
+ isEmpty(TARGET):error("You must set TARGET before include()'ing $${_FILE_}")
+
+ MODULE_INCLUDES = $$eval(QT.$${MODULE}.includes)
++MODULE_PRIVATE_INCLUDES = $$eval(QT.$${MODULE}.private_includes)
++INCLUDEPATH *= $$MODULE_PRIVATE_INCLUDES
++INCLUDEPATH *= $$MODULE_PRIVATE_INCLUDES/$$TARGET
+ INCLUDEPATH *= $$MODULE_INCLUDES $$MODULE_INCLUDES/.. #just for today to have some compat
+ !isEmpty(RCC_DIR): INCLUDEPATH += $$RCC_DIR
+ isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700
+diff --git a/src/qt_install.pri b/src/qt_install.pri
+index 268bb86..17b41af 100644
+--- a/src/qt_install.pri
++++ b/src/qt_install.pri
+@@ -31,11 +31,9 @@ qt_install_headers {
+ targ_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET
+ INSTALLS += targ_headers
+
+- contains(QT_CONFIG,private_tests) {
+- private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES
+- private_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET/private
+- INSTALLS += private_headers
+- }
++ private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES
++ private_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET/$$eval(QT.$${MODULE}.VERSION)/private
++ INSTALLS += private_headers
+ }
+
+ embedded|qpa: equals(TARGET, QtGui) {
+diff --git a/src/sql/sql.pro b/src/sql/sql.pro
+index 550b24b..f1bdd6b 100644
+--- a/src/sql/sql.pro
++++ b/src/sql/sql.pro
+@@ -1,6 +1,6 @@
+ TARGET = QtSql
+ QPRO_PWD = $$PWD
+-QT = core
++QT = core-private
+
+ CONFIG += module
+ MODULE_PRI = ../modules/qt_sql.pri
+diff --git a/src/tools/bootstrap/bootstrap.pri b/src/tools/bootstrap/bootstrap.pri
+index f48c8c1..50c1af1 100644
+--- a/src/tools/bootstrap/bootstrap.pri
++++ b/src/tools/bootstrap/bootstrap.pri
+@@ -29,7 +29,11 @@ win32:DEFINES += QT_NODLL
+
+ INCLUDEPATH += $$QT_BUILD_TREE/include \
+ $$QT_BUILD_TREE/include/QtCore \
++ $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION \
++ $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION/QtCore \
+ $$QT_BUILD_TREE/include/QtXml \
++ $$QT_BUILD_TREE/include/QtXml/$$QT.xml.VERSION \
++ $$QT_BUILD_TREE/include/QtXml/$$QT.xml.VERSION/QtXml \
+ $$QT_SOURCE_TREE/src/xml
+ DEPENDPATH += $$INCLUDEPATH \
+ $$QT_SOURCE_TREE/src/corelib/global \
+diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
+index 9e5845c..ba144acd 100644
+--- a/src/tools/bootstrap/bootstrap.pro
++++ b/src/tools/bootstrap/bootstrap.pro
+@@ -32,7 +32,11 @@ win32:DEFINES += QT_NODLL
+
+ INCLUDEPATH += $$QT_BUILD_TREE/include \
+ $$QT_BUILD_TREE/include/QtCore \
+- $$QT_BUILD_TREE/include/QtXml
++ $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION \
++ $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION/QtCore \
++ $$QT_BUILD_TREE/include/QtXml \
++ $$QT_BUILD_TREE/include/QtXml/$$QT.xml.VERSION \
++ $$QT_BUILD_TREE/include/QtXml/$$QT.xml.VERSION/QtXml \
+
+ DEPENDPATH += $$INCLUDEPATH \
+ ../../corelib/global \
+diff --git a/src/xml/xml.pro b/src/xml/xml.pro
+index e6fce60..68bb20b 100644
+--- a/src/xml/xml.pro
++++ b/src/xml/xml.pro
+@@ -1,6 +1,6 @@
+ TARGET = QtXml
+ QPRO_PWD = $$PWD
+-QT = core
++QT = core-private
+
+ CONFIG += module
+ MODULE_PRI = ../modules/qt_xml.pri
+diff --git a/tools/configure/configure.pro b/tools/configure/configure.pro
+index 1245646..81458fc 100644
+--- a/tools/configure/configure.pro
++++ b/tools/configure/configure.pro
+@@ -28,6 +28,8 @@ INCLUDEPATH += \
+ $$QT_SOURCE_TREE/src/corelib/global \
+ $$QT_BUILD_TREE/include \
+ $$QT_BUILD_TREE/include/QtCore \
++ $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION \
++ $$QT_BUILD_TREE/include/QtCore/$$QT.core.VERSION/QtCore \
+ $$QT_SOURCE_TREE/tools/shared
+
+ HEADERS = configureapp.h environment.h tools.h\
+diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
+index 6fe46b2..24db976 100644
+--- a/tools/configure/configureapp.cpp
++++ b/tools/configure/configureapp.cpp
+@@ -2915,7 +2915,7 @@ void Configure::generateCachefile()
+ for (QStringList::Iterator var = qmakeVars.begin(); var != qmakeVars.end(); ++var) {
+ cacheStream << (*var) << endl;
+ }
+- cacheStream << "CONFIG += " << qmakeConfig.join(" ") << " incremental msvc_mp create_prl link_prl depend_includepath QTDIR_build" << endl;
++ cacheStream << "CONFIG += " << qmakeConfig.join(" ") << " incremental msvc_mp create_prl link_prl depend_includepath no_private_qt_headers_warning QTDIR_build" << endl;
+
+ cacheStream.flush();
+ cacheFile.close();
+@@ -3650,7 +3650,8 @@ void Configure::buildQmake()
+ stream << "#AutoGenerated by configure.exe" << endl
+ << "BUILD_PATH = " << QDir::convertSeparators(buildPath) << endl
+ << "SOURCE_PATH = " << QDir::convertSeparators(sourcePath) << endl;
+- stream << "QMAKESPEC = " << dictionary["QMAKESPEC"] << endl;
++ stream << "QMAKESPEC = " << dictionary["QMAKESPEC"] << endl
++ << "QT_VERSION = " << QT_VERSION_STR << endl;
+
+ if (dictionary["EDITION"] == "OpenSource" ||
+ dictionary["QT_EDITION"].contains("OPENSOURCE"))
+--
+1.7.5.rc2.4.g4d8b3
+