diff options
author | Marius Storm-Olsen <[email protected]> | 2011-04-20 13:57:51 -0500 |
---|---|---|
committer | Olivier Goffart <[email protected]> | 2011-05-02 15:30:08 +0200 |
commit | 1287361f64c6d429535e65c8dd248a94dfc633d1 (patch) | |
tree | b53e7cc3d3efb44513c97f257316bba9e69abbef | |
parent | 2e8b6dcb4a6fa8ff42e967eb5dc27a461e721858 (diff) |
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.
44 files changed, 164 insertions, 95 deletions
diff --git a/bin/syncqt b/bin/syncqt index 8fa253a733e..3d25ecc817b 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 60e1ec12163..293f642d356 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 b2a338e7f3b..88d7fbedaba 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 fa40caab3f8..63a7e76a346 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 d8ba8c3537b..c96ecae8fed 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 21fdd38e702..61e1d575bca 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 b16c84864fe..50a85d86ce9 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 9dbe035fc26..c522779981f 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 6fd393993e9..56ccf3d5655 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 d40dc29a9b8..05d7a154d68 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 49ccfbcc77b..b691470cca8 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 b602afa1981..ac52bd8dd0e 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 4f2aa7e9b58..e73fa05a748 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 878a3846963..072553a05cf 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 9636fb25000..bf013432a5c 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 13c9914f0db..9aefab9b82a 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 444f5c48047..1ef3697db6c 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 f54afd21a0d..44326c2b2db 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 4d9a7029eff..b767a3ce124 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 1261fd99c27..2ff477c013e 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 e7ca42a5134..14d2422989f 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 6ef7939164a..9fd9b2e446f 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 7e1dc7ccd23..5973216921e 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 d2210076841..d30c8b845b2 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 0ede3d2ddf0..e7db6365eb8 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 153961762ae..fc5d08d936e 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 24dbb7aa3e7..849bd9ebc7d 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 092f3ca32ce..8329bce963d 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 3ac54c37699..f57a0c930bd 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 94ab36ce59a..94fefaf6c29 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 6df346cd46d..ba02f37d23f 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 b3e088344df..a9de1561fdc 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 fb3cb5331ad..30c88271b69 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 0958a86973d..b31beb35f82 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 3a0e8754c06..1e6c24d061c 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 64f55fda785..7399c659da1 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 4ff17630c5e..6336aa9f5c1 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 268bb864f6a..17b41af1ce5 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 550b24b754f..f1bdd6bda1a 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 f48c8c12fff..50c1af1775e 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 50ae2cff161..6ff948c8e8e 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 e6fce60371d..68bb20b0098 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 124564667c5..81458fc1bda 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 9c2ce2cfb40..3f9d97c1ac6 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")) |