diff --git a/modules/qt_designer.pri b/modules/qt_designer.pri
new file mode 100644
index 0000000000000000000000000000000000000000..8d7c5130ebb060429d8f115313c28bcab819f439
--- /dev/null
+++ b/modules/qt_designer.pri
@@ -0,0 +1,10 @@
+QT_DESIGNER_VERSION = $$QT_VERSION
+QT_DESIGNER_MAJOR_VERSION = $$QT_MAJOR_VERSION
+QT_DESIGNER_MINOR_VERSION = $$QT_MINOR_VERSION
+QT_DESIGNER_PATCH_VERSION = $$QT_PATCH_VERSION
+
+QT.designer.name = QtDesigner
+QT.designer.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtDesigner
+QT.designer.sources = $$QT_MODULE_BASE/src/designer/src/lib
+QT.designer.libs = $$QT_MODULE_LIB_BASE
+QT.designer.depends = xml
diff --git a/modules/qt_uitools.pri b/modules/qt_uitools.pri
new file mode 100644
index 0000000000000000000000000000000000000000..516afef2706407b38780bcd3810471fe074011bd
--- /dev/null
+++ b/modules/qt_uitools.pri
@@ -0,0 +1,10 @@
+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.name = QtUiTools
+QT.uitools.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtUiTools
+QT.uitools.sources = $$QT_MODULE_BASE/src/designer/src/uitools
+QT.uitools.libs = $$QT_MODULE_LIB_BASE
+QT.uitools.depends = xml
diff --git a/src/assistant/tools/assistant/assistant.pro b/src/assistant/tools/assistant/assistant.pro
index 7f0fdd1585e63f8f7e133d13ceeabdf86919e370..dd79c10759dc71239bdc96585400956e891a09a1 100644
--- a/src/assistant/tools/assistant/assistant.pro
+++ b/src/assistant/tools/assistant/assistant.pro
@@ -1,3 +1,4 @@
+DEFINES += QT_NO_WEBKIT
 include(../../../shared/fontpanel/fontpanel.pri)
 TEMPLATE = app
 LANGUAGE = C++
@@ -6,14 +7,13 @@ contains(QT_CONFIG, webkit):QT += webkit
 CONFIG += qt \
     warn_on \
     help
-QT += network
+QT += network help
 PROJECTNAME = Assistant
 DESTDIR = ../../../../bin
 target.path = $$[QT_INSTALL_BINS]
 INSTALLS += target
 DEPENDPATH += ../shared
-DEPENDPATH += .
-INCLUDEPATH += .
+INCLUDEPATH += $$QT.help.includes
 
 # ## Work around a qmake issue when statically linking to
 # ## not-yet-installed plugins
diff --git a/src/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro b/src/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro
index 98e6a3193715b6d2e518a4c979e61c172ace8d6e..66e920f74965025836cc8411a88f5d73116dda9b 100644
--- a/src/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro
+++ b/src/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro
@@ -1,5 +1,6 @@
 QT += xml \
-    network
+    network \
+    help
 TEMPLATE = app
 DESTDIR = ../../../../bin
 TARGET = qcollectiongenerator
diff --git a/src/assistant/tools/qhelpconverter/qhelpconverter.pro b/src/assistant/tools/qhelpconverter/qhelpconverter.pro
index 341faf346e329e48b0d5adca6b79e37dabd61d1b..ce3083e7dd224ea29c27eeb2f6ed54a949c404d7 100644
--- a/src/assistant/tools/qhelpconverter/qhelpconverter.pro
+++ b/src/assistant/tools/qhelpconverter/qhelpconverter.pro
@@ -1,4 +1,4 @@
-QT += xml
+QT += xml help
 TEMPLATE = app
 TARGET = qhelpconverter
 DESTDIR = ../../../../bin
diff --git a/src/assistant/tools/qhelpgenerator/qhelpgenerator.pro b/src/assistant/tools/qhelpgenerator/qhelpgenerator.pro
index 68efcf593251fc7e41d0bb0b4a0d39c35b946521..82bec1dc722daa5ce7a0d31468594b50a93f4e7d 100644
--- a/src/assistant/tools/qhelpgenerator/qhelpgenerator.pro
+++ b/src/assistant/tools/qhelpgenerator/qhelpgenerator.pro
@@ -3,7 +3,7 @@ TARGET = qhelpgenerator
 DESTDIR = ../../../../bin
 CONFIG += qt warn_on help console
 CONFIG -= app_bundle
-QT += network
+QT += network help
 
 target.path=$$[QT_INSTALL_BINS]
 INSTALLS += target
diff --git a/src/designer/src/components/lib/lib.pro b/src/designer/src/components/lib/lib.pro
index 50a8b00face8d426bd7ed6fd804a6dc7d3fa2ad5..165315e770c7b229f1248dafb95ec7df4ce91282 100644
--- a/src/designer/src/components/lib/lib.pro
+++ b/src/designer/src/components/lib/lib.pro
@@ -1,12 +1,13 @@
+load(qt_module)
+
 TEMPLATE = lib
 TARGET = QtDesignerComponents
 contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
 CONFIG += qt depend_prl no_objective_c designer
 win32|mac: CONFIG += debug_and_release
-QTDIR_build { 
-    DESTDIR = $$QT_BUILD_TREE/lib
-    !wince*:DLLDESTDIR = $$QT_BUILD_TREE/bin
-}
+DESTDIR = $$QT_BUILD_TREE/lib
+!wince*:DLLDESTDIR = $$QT_BUILD_TREE/bin
+QT += designer
 
 # QtDesignerComponents uses
 DEFINES += QT_STATICPLUGIN
@@ -17,7 +18,7 @@ isEmpty(QT_MAJOR_VERSION) {
    VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
 }
 
-include(../../../../../src/qt_targets.pri)
+include($$QT_SOURCE_TREE/src/qt_targets.pri)
 QMAKE_TARGET_PRODUCT = Designer
 QMAKE_TARGET_DESCRIPTION = Graphical user interface designer.
 
diff --git a/src/designer/src/designer/designer.pro b/src/designer/src/designer/designer.pro
index 8564e96cb7814a1b0e59f4bec238a57ed716322d..42cd345d79bfd8adbf6af9a49813cc86e5e89812 100644
--- a/src/designer/src/designer/designer.pro
+++ b/src/designer/src/designer/designer.pro
@@ -1,6 +1,7 @@
+load(qt_module)
 
 DESTDIR = ../../../../bin
-QT += xml network
+QT += xml network designer
 contains(QT_CONFIG, script): QT += script
 build_all:!build_pass {
     CONFIG -= build_all
diff --git a/src/designer/src/lib/lib.pro b/src/designer/src/lib/lib.pro
index 3ba6f5235d319e993da9b146a7b49b1ba533a6a1..4e0e2b28f4fe9bb209646d7e0cd2e4a010680867 100644
--- a/src/designer/src/lib/lib.pro
+++ b/src/designer/src/lib/lib.pro
@@ -1,11 +1,14 @@
+load(qt_module)
+
 TEMPLATE=lib
 TARGET=QtDesigner
 QT += xml
 contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
 CONFIG += qt
 win32|mac: CONFIG += debug_and_release
-DESTDIR = ../../../../lib
-!wince*:DLLDESTDIR = ../../../../bin
+DESTDIR = $$QT_BUILD_TREE/lib
+!wince*:DLLDESTDIR = $$QT_BUILD_TREE/bin
+INCLUDEPATH += $$QT.designer.includes
 
 isEmpty(QT_MAJOR_VERSION) {
    VERSION=4.3.0
@@ -15,7 +18,7 @@ isEmpty(QT_MAJOR_VERSION) {
 
 unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES += QtXml
 
-include(../../../../src/qt_targets.pri)
+include($$QT_SOURCE_TREE/src/qt_targets.pri)
 QMAKE_TARGET_PRODUCT = Designer
 QMAKE_TARGET_DESCRIPTION = Graphical user interface designer.
 
diff --git a/src/designer/src/lib/shared/shared.pri b/src/designer/src/lib/shared/shared.pri
index 9d50911640d024e9ec3f5d3b9a0fe3e7470607ae..0d145172e73663cbc14b3a7ed172fa9f8defadf4 100644
--- a/src/designer/src/lib/shared/shared.pri
+++ b/src/designer/src/lib/shared/shared.pri
@@ -4,7 +4,7 @@ contains(QT_CONFIG, script): QT += script
 
 include(../../../../shared/qtpropertybrowser/qtpropertybrowserutils.pri)
 include(../../../../shared/deviceskin/deviceskin.pri)
-include(../../../../../src/tools/rcc/rcc.pri)
+include($$QT_SOURCE_TREE/src/tools/rcc/rcc.pri)
 include(../../../../shared/findwidget/findwidget.pri)
 include(../../../../shared/qtgradienteditor/qtgradienteditor.pri)
 
diff --git a/src/linguist/linguist/linguist.pro b/src/linguist/linguist/linguist.pro
index ce8d5854f139d586286ce06ed6cd1b17ae3289ee..ce78d13cc7e76f46f610925c4e7d03b367afb61a 100644
--- a/src/linguist/linguist/linguist.pro
+++ b/src/linguist/linguist/linguist.pro
@@ -1,8 +1,10 @@
+load(qt_modules)
+
 TEMPLATE = app
 LANGUAGE = C++
 DESTDIR = ../../../bin
 
-QT += xml
+QT += xml uitools designer
 
 CONFIG += qt \
     warn_on \
@@ -17,6 +19,7 @@ build_all:!build_pass {
 include(../shared/formats.pri)
 
 DEFINES += QFORMINTERNAL_NAMESPACE
+
 INCLUDEPATH += ../../designer/src/uitools
 INCLUDEPATH += ../../designer/src/lib/uilib
 
diff --git a/src/linguist/lrelease/lrelease.pro b/src/linguist/lrelease/lrelease.pro
index 89694be6e629a6779333da6abf3d172434f2f8da..848943161f572f62e43a980ba39f9777140c36bd 100644
--- a/src/linguist/lrelease/lrelease.pro
+++ b/src/linguist/lrelease/lrelease.pro
@@ -1,3 +1,5 @@
+load(qt_module)
+
 TEMPLATE        = app
 TARGET          = lrelease
 DESTDIR         = ../../../bin
@@ -12,10 +14,10 @@ SOURCES += \
 win32:SOURCES += $$QT_SOURCE_TREE/src/corelib/io/qsettings_win.cpp
 macx:SOURCES += $$QT_SOURCE_TREE/src/corelib/io/qsettings_mac.cpp
 
-include(../../../src/tools/bootstrap/bootstrap.pri)
+include($$QT_SOURCE_TREE/src/tools/bootstrap/bootstrap.pri)
 include(../shared/formats.pri)
 include(../shared/proparser.pri)
-include(../../shared/symbian/epocroot.pri)
+include($$QT_SOURCE_TREE/tools/shared/symbian/epocroot.pri)
 
 win32:LIBS += -ladvapi32   # for qsettings_win.cpp
 
diff --git a/src/linguist/lupdate/lupdate.pro b/src/linguist/lupdate/lupdate.pro
index 3ed909ae564a8b4b31860eb9bd74e72ac293e869..5f1996ea528651a5621702fd12a6e9f39904cae8 100644
--- a/src/linguist/lupdate/lupdate.pro
+++ b/src/linguist/lupdate/lupdate.pro
@@ -1,3 +1,5 @@
+load(qt_module)
+
 TEMPLATE        = app
 TARGET          = lupdate
 DESTDIR          = ../../../bin
@@ -15,8 +17,8 @@ build_all:!build_pass {
 include(../shared/formats.pri)
 include(../shared/proparser.pri)
 
-include($$QT_SOURCE_TREE/src/declarative/qml/parser/parser.pri)
-INCLUDEPATH += $$QT_SOURCE_TREE/src/declarative/qml $$QT_BUILD_TREE/include/QtDeclarative
+include($$QT.declarative.sources/qml/parser/parser.pri)
+INCLUDEPATH += $$QT.declarative.sources/qml $$QT.declarative.includes
 
 SOURCES += \
     main.cpp \
diff --git a/src/qtconfig/qtconfig.pro b/src/qtconfig/qtconfig.pro
index cb06e5a99db08274fed5a821cd3612d28b830884..bd758d9a5ced7a1b1214532515b8d939aec77296 100644
--- a/src/qtconfig/qtconfig.pro
+++ b/src/qtconfig/qtconfig.pro
@@ -1,3 +1,5 @@
+load(qt_module)
+
 TEMPLATE = app
 CONFIG   += qt warn_on x11
 build_all:!build_pass {
diff --git a/src/qttracereplay/qttracereplay.pro b/src/qttracereplay/qttracereplay.pro
index cc5b98dc0c36b7e7244a37979cbfc58f10a231e5..691a66b7f68c47a26b5ddb45000610ee8371f788 100644
--- a/src/qttracereplay/qttracereplay.pro
+++ b/src/qttracereplay/qttracereplay.pro
@@ -1,9 +1,11 @@
+load(qt_module)
+
 TEMPLATE = app
 
 DESTDIR     = ../../bin
 
 DEPENDPATH += .
-INCLUDEPATH += . ../../src/3rdparty/harfbuzz/src
+INCLUDEPATH += . $$QT_SOURCE_TREE/src/3rdparty/harfbuzz/src
 TARGET = qttracereplay
 
 # Input
diff --git a/src/src.pro b/src/src.pro
index c6174e40175443100c5f91a6d745072bb7703455..02e6a23b15d3ecba2fffb9a58fe99e17c5ad921c 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -11,7 +11,6 @@ TEMPLATE        = subdirs
         } else {
             SUBDIRS = assistant \
                       pixeltool \
-                      porting \
                       qtestlib \
                       qttracereplay
             contains(QT_EDITION, Console) {
@@ -20,7 +19,7 @@ TEMPLATE        = subdirs
                 SUBDIRS += designer
             }
         }
-        unix:!symbian:!mac:!embedded:!qpa:SUBDIRS += qtconfig
+#        unix:!symbian:!mac:!embedded:!qpa:SUBDIRS += qtconfig
         win32:!wince*:SUBDIRS += activeqt
     }
 }
diff --git a/sync.profile b/sync.profile
index c6aaf0e2f962efc2ba0e1d37c79a18bcb6416698..443b891ffd9fb082d26e8d1eae468e17004a0615 100644
--- a/sync.profile
+++ b/sync.profile
@@ -1,12 +1,25 @@
 %modules = ( # path to module name map
     "QtHelp" => "$basedir/src/assistant/lib",
+    "QtDesigner" => "$basedir/src/designer/src/lib",
+    "QtUiTools" => "$basedir/src/designer/src/uitools",
 );
 %moduleheaders = ( # restrict the module headers to those found in relative path
 );
 %classnames = (
 );
 %mastercontent = (
+    "sql" => "#include <QtSql/QtSql>\n",
+    "xml" => "#include <QtXml/QtXml>\n",
+    "network" => "#include <QtNetwork/QtNetwork>\n",
+    "script" => "#include <QtScript/QtScript>\n",
+    "qt3support" => "#include <Qt3Support/Qt3Support>\n",
+    "declarative" => "#include <QtDeclarative/QtDeclarative>\n",
+    "help" => "#include <QtHelp/QtHelp>\n",
+    "designer" => "#include <QtDesigner/QtDesigner>\n",
+    "uitools" => "#include <QtUiTools/QtUiTools>\n",
 );
 %modulepris = (
     "QtHelp" => "$basedir/modules/qt_help.pri",
+    "QtDesigner" => "$basedir/modules/qt_designer.pri",
+    "QtUiTools" => "$basedir/modules/qt_uitools.pri",
 );