summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/syncqt22
-rwxr-xr-xconfigure4
-rw-r--r--demos/shared/shared.pro1
-rw-r--r--mkspecs/features/designer.prf2
-rw-r--r--mkspecs/features/help.prf2
-rw-r--r--mkspecs/features/qt.prf18
-rw-r--r--mkspecs/features/qt_functions.prf24
-rw-r--r--qmake/Makefile.unix2
-rw-r--r--qmake/Makefile.win324
-rw-r--r--qmake/Makefile.win32-g++4
-rw-r--r--qmake/Makefile.win32-g++-sh4
-rw-r--r--qmake/qmake.pro2
-rw-r--r--src/dbus/dbus.pro2
-rw-r--r--src/gui/gui.pro2
-rw-r--r--src/modules/qt_core.pri10
-rw-r--r--src/modules/qt_dbus.pri10
-rw-r--r--src/modules/qt_gui.pri10
-rw-r--r--src/modules/qt_network.pri10
-rw-r--r--src/modules/qt_opengl.pri10
-rw-r--r--src/modules/qt_openvg.pri10
-rw-r--r--src/modules/qt_sql.pri10
-rw-r--r--src/modules/qt_testlib.pri10
-rw-r--r--src/modules/qt_uilib.pri13
-rw-r--r--src/modules/qt_uitools.pri10
-rw-r--r--src/modules/qt_xml.pri10
-rw-r--r--src/network/network.pro2
-rw-r--r--src/opengl/opengl.pro2
-rw-r--r--src/plugins/accessible/widgets/widgets.pro1
-rw-r--r--src/plugins/bearer/connman/connman.pro2
-rw-r--r--src/plugins/bearer/generic/generic.pro2
-rw-r--r--src/plugins/bearer/nativewifi/nativewifi.pro2
-rw-r--r--src/plugins/bearer/networkmanager/networkmanager.pro2
-rw-r--r--src/plugins/graphicssystems/opengl/opengl.pro2
-rw-r--r--src/plugins/graphicssystems/trace/trace.pro2
-rw-r--r--src/plugins/imageformats/jpeg/jpeg.pro2
-rw-r--r--src/plugins/sqldrivers/qsqldriverbase.pri2
-rw-r--r--src/qbase.pri3
-rw-r--r--src/qt_install.pri8
-rw-r--r--src/sql/sql.pro2
-rw-r--r--src/tools/bootstrap/bootstrap.pri4
-rw-r--r--src/tools/bootstrap/bootstrap.pro6
-rw-r--r--src/xml/xml.pro2
-rw-r--r--tools/configure/configure.pro2
-rw-r--r--tools/configure/configureapp.cpp5
44 files changed, 164 insertions, 95 deletions
diff --git a/bin/syncqt b/bin/syncqt
index 8fa253a733..3d25ecc817 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -747,6 +747,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});
@@ -766,6 +781,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);
}
@@ -913,7 +929,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 60e1ec1216..293f642d35 100755
--- a/configure
+++ b/configure
@@ -4921,7 +4921,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
@@ -8500,7 +8500,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 b2a338e7f3..88d7fbedab 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 fa40caab3f..63a7e76a34 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 d8ba8c3537..c96ecae8fe 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 21fdd38e70..61e1d575bc 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 b16c84864f..50a85d86ce 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 9dbe035fc2..c522779981 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@
@@ -76,6 +77,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 6fd393993e..56ccf3d565 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 d40dc29a9b..05d7a154d6 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 49ccfbcc77..b691470cca 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 b602afa198..ac52bd8dd0 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 4f2aa7e9b5..e73fa05a74 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 878a384696..072553a05c 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 9636fb2500..bf013432a5 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 13c9914f0d..9aefab9b82 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 444f5c4804..1ef3697db6 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 f54afd21a0..44326c2b2d 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 4d9a7029ef..b767a3ce12 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 1261fd99c2..2ff477c013 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 e7ca42a513..14d2422989 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 6ef7939164..9fd9b2e446 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 7e1dc7ccd2..5973216921 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 d221007684..d30c8b845b 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 0ede3d2ddf..e7db6365eb 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 153961762a..fc5d08d936 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 24dbb7aa3e..849bd9ebc7 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 092f3ca32c..8329bce963 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 3ac54c3769..f57a0c930b 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 94ab36ce59..94fefaf6c2 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 6df346cd46..ba02f37d23 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 b3e088344d..a9de1561fd 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 fb3cb5331a..30c88271b6 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 0958a86973..b31beb35f8 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 3a0e8754c0..1e6c24d061 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 64f55fda78..7399c659da 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 4ff17630c5..6336aa9f5c 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 268bb864f6..17b41af1ce 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 550b24b754..f1bdd6bda1 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 f48c8c12ff..50c1af1775 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 50ae2cff16..6ff948c8e8 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 e6fce60371..68bb20b009 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 124564667c..81458fc1bd 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 9c2ce2cfb4..3f9d97c1ac 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -2913,7 +2913,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();
@@ -3648,7 +3648,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"))