diff --git a/examples/declarative/cppextensions/qwidgets/qwidgets.cpp b/examples/declarative/cppextensions/qwidgets/qwidgets.cpp
index 843ac0f1f242541c05e0464f6abf1f9f1c9afb8d..de22a415aaad661043add5805897e4b80efbaa0c 100644
--- a/examples/declarative/cppextensions/qwidgets/qwidgets.cpp
+++ b/examples/declarative/cppextensions/qwidgets/qwidgets.cpp
@@ -40,9 +40,9 @@
 
 #include <QtDeclarative/QDeclarativeExtensionPlugin>
 #include <QtDeclarative/qdeclarative.h>
-#include <QtGui/QGraphicsProxyWidget>
-#include <QtGui/QPushButton>
-#include <QDebug>
+#include <QtWidgets/QGraphicsProxyWidget>
+#include <QtWidgets/QPushButton>
+#include <QtCore/QDebug>
 
 class MyPushButton : public QGraphicsProxyWidget
 {
diff --git a/examples/declarative/cppextensions/qwidgets/qwidgets.pro b/examples/declarative/cppextensions/qwidgets/qwidgets.pro
index d7e6f9318a88e77f5e9f0e25aa44745b33c0330c..678abaa020742543e7d135730c7b4c58a548ca71 100644
--- a/examples/declarative/cppextensions/qwidgets/qwidgets.pro
+++ b/examples/declarative/cppextensions/qwidgets/qwidgets.pro
@@ -1,6 +1,6 @@
 TEMPLATE = lib
 CONFIG += qt plugin
-QT += declarative
+QT += widgets declarative
 
 DESTDIR = QWidgets
 TARGET = qmlqwidgetsplugin
diff --git a/examples/declarative/minehunt/main.cpp b/examples/declarative/minehunt/main.cpp
index 93b9a5280b36b6616aa11e0a9544eb16155c9aac..752e470d3f33f2a74789ce218d2d4383f1234b56 100644
--- a/examples/declarative/minehunt/main.cpp
+++ b/examples/declarative/minehunt/main.cpp
@@ -39,7 +39,7 @@
 **
 ****************************************************************************/
 
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
 #include <QtQuick1/QDeclarativeView>
 #include <QtDeclarative/QDeclarativeContext>
 #include <QtDeclarative/QDeclarativeEngine>
diff --git a/examples/declarative/minehunt/minehunt.pro b/examples/declarative/minehunt/minehunt.pro
index fe464fb4989627aa02d834e10b9036e4ab68b642..12c167236cfea877193c6ffc5e4c9567e3edcc25 100644
--- a/examples/declarative/minehunt/minehunt.pro
+++ b/examples/declarative/minehunt/minehunt.pro
@@ -1,6 +1,6 @@
 TEMPLATE = app
 TARGET  = minehunt
-QT += declarative qtquick1
+QT += declarative qtquick1 widgets
 
 # Input
 HEADERS += minehunt.h
diff --git a/examples/declarative/script/shell/main.cpp b/examples/declarative/script/shell/main.cpp
index ad29fb87e1871345db4c57842b75103df139fff4..5ee8a5e1ca87ef9e58af26290b242e2c5a11c179 100644
--- a/examples/declarative/script/shell/main.cpp
+++ b/examples/declarative/script/shell/main.cpp
@@ -44,7 +44,7 @@
 #include <QtCore/qstringlist.h>
 #include <QtCore/qscopedpointer.h>
 
-#include <QtGui/qapplication.h>
+#include <QtGui/QGuiApplication>
 
 #include <QtDeclarative/qjsengine.h>
 
@@ -95,7 +95,7 @@ static void interactive(QJSEngine *eng)
 
 int main(int argc, char *argv[])
 {
-    QApplication app(argc, argv);
+    QGuiApplication app(argc, argv);
     QScopedPointer<QJSEngine> eng(new QJSEngine());
     {
         QJSValue globalObject = eng->globalObject();
@@ -150,4 +150,4 @@ int main(int argc, char *argv[])
     return EXIT_SUCCESS;
 }
 
-#include <main.moc>
\ No newline at end of file
+#include <main.moc>
diff --git a/modules/qt_qmltest.pri b/modules/qt_qmltest.pri
index 9cc297783731944a371f77b6296d7a54be7859e6..d00f6212370772891f94e7cdd41918ebc2840d1b 100644
--- a/modules/qt_qmltest.pri
+++ b/modules/qt_qmltest.pri
@@ -12,6 +12,6 @@ QT.qmltest.libs = $$QT_MODULE_LIB_BASE
 QT.qmltest.plugins = $$QT_MODULE_PLUGIN_BASE
 QT.qmltest.imports = $$QT_MODULE_IMPORT_BASE
 QT.qmltest.depends = declarative testlib
-QT.qmltest.DEFINES = QT_DECLARATIVE_LIB
+QT.qmltest.DEFINES = QT_QMLTEST_LIB
 
 QT_CONFIG += qmltest
diff --git a/modules/qt_qtquick1.pri b/modules/qt_qtquick1.pri
index 173c3da684698896689ea0f026e8601237c97bf4..70a290637bdac3ebfe0f7577d3001ca079e18df4 100644
--- a/modules/qt_qtquick1.pri
+++ b/modules/qt_qtquick1.pri
@@ -12,6 +12,6 @@ QT.qtquick1.libs = $$QT_MODULE_LIB_BASE
 QT.qtquick1.plugins = $$QT_MODULE_PLUGIN_BASE
 QT.qtquick1.imports = $$QT_MODULE_IMPORT_BASE
 QT.qtquick1.depends = declarative
-QT.qtquick1.DEFINES = QT_DECLARATIVE_LIB
+QT.qtquick1.DEFINES = QT_QTQUICK1_LIB
 
 QT_CONFIG += qtquick1
diff --git a/src/3rdparty/javascriptcore/DateMath.cpp b/src/3rdparty/javascriptcore/DateMath.cpp
index 11c224aebbf788ca2c4bd22e688d19570aea93ac..e4775273e21ca0b005086d36789c76be70f35e15 100644
--- a/src/3rdparty/javascriptcore/DateMath.cpp
+++ b/src/3rdparty/javascriptcore/DateMath.cpp
@@ -75,6 +75,7 @@
 #include <limits>
 #include <stdint.h>
 #include <time.h>
+#include <math.h>
 
 //#if HAVE(SYS_TIME_H)
 #if defined(EXISTS_SYS_TIME)
@@ -340,11 +341,15 @@ static const struct KnownZone {
 
 double timeClip(double t)
 {
-    if (!isfinite(t))
-        return NaN;
-    if (fabs(t) > maxECMAScriptTime)
+#if defined(_MSC_VER)
+    if (!_finite(t)  || fabs(t) > maxECMAScriptTime)
+        return  NaN;
+    return t >= 0 ? floor(t) : ceil(t);
+#else
+    if (!isfinite(t) || fabs(t) > maxECMAScriptTime)
         return NaN;
     return trunc(t);
+#endif
 }
 } // namespace WTF
 
diff --git a/src/declarative/items/context2d/qsgcanvasitem.cpp b/src/declarative/items/context2d/qsgcanvasitem.cpp
index 0bd9a47d8de6ac9711d6c44eb8a20dc488ffdc5b..197a434921516671bc4c64376f92b6d578fc9aff 100644
--- a/src/declarative/items/context2d/qsgcanvasitem.cpp
+++ b/src/declarative/items/context2d/qsgcanvasitem.cpp
@@ -264,7 +264,7 @@ QString QSGCanvasItem::toDataURL(const QString& mimeType) const
         image.save(&buffer, type.toAscii());
         buffer.close();
         QString dataUrl = QLatin1String("data:%1;base64,%2");
-        return dataUrl.arg(mime).arg(ba.toBase64().constData());
+        return dataUrl.arg(mime).arg(QString::fromAscii(ba.toBase64()));
     }
     return QLatin1String("data:,");
 }
diff --git a/src/declarative/items/context2d/qsgcontext2d.cpp b/src/declarative/items/context2d/qsgcontext2d.cpp
index 71bc7df9805e938a284ab814756a437b2bd444ae..22a9c7029ef06db1f7e4e4fa77d0db6dc93c2f55 100644
--- a/src/declarative/items/context2d/qsgcontext2d.cpp
+++ b/src/declarative/items/context2d/qsgcontext2d.cpp
@@ -546,6 +546,7 @@ static v8::Handle<v8::Value> ctx2d_valid(v8::Local<v8::String>, const v8::Access
 
 
     QV8Engine *engine = V8ENGINE_ACCESSOR();
+    Q_UNUSED(engine)
 
     return v8::Boolean::New(r->context->valid());
 }
diff --git a/src/declarative/items/context2d/qsgcontext2d_p_p.h b/src/declarative/items/context2d/qsgcontext2d_p_p.h
index d71a0bccf2d0d900ae6a6d092de0eb845eea2f5b..fc656f5f8f06b0486c34da254e55f7ea0677af37 100644
--- a/src/declarative/items/context2d/qsgcontext2d_p_p.h
+++ b/src/declarative/items/context2d/qsgcontext2d_p_p.h
@@ -58,7 +58,8 @@
 
 QT_BEGIN_NAMESPACE
 class QSGCanvasItem;
-struct QSGContext2DWorkerAgent {
+class QSGContext2DWorkerAgent {
+public:
     QSGContext2DWorkerAgent()
         :ref(1)
         , orig(0)
diff --git a/src/declarative/items/qsgcanvas.cpp b/src/declarative/items/qsgcanvas.cpp
index 95ee95d0f7ece442a4c3de37b4e448f5cd47d9b5..9f55c400ce435188f47d4fb13d053b2deff720c2 100644
--- a/src/declarative/items/qsgcanvas.cpp
+++ b/src/declarative/items/qsgcanvas.cpp
@@ -252,7 +252,7 @@ void QSGCanvas::exposeEvent(QExposeEvent *)
     d->thread->paint();
 }
 
-void QSGCanvas::resizeEvent(QResizeEvent *e)
+void QSGCanvas::resizeEvent(QResizeEvent *)
 {
     Q_D(QSGCanvas);
     d->thread->resize(size());
@@ -268,7 +268,7 @@ void QSGCanvas::animationStopped()
     d_func()->thread->animationStopped();
 }
 
-void QSGCanvas::showEvent(QShowEvent *e)
+void QSGCanvas::showEvent(QShowEvent *)
 {
     Q_D(QSGCanvas);
     if (d->vsyncAnimations) {
@@ -286,7 +286,7 @@ void QSGCanvas::showEvent(QShowEvent *e)
     }
 }
 
-void QSGCanvas::hideEvent(QHideEvent *e)
+void QSGCanvas::hideEvent(QHideEvent *)
 {
     Q_D(QSGCanvas);
     d->thread->stopRendering();
diff --git a/src/declarative/items/qsgitemsmodule.cpp b/src/declarative/items/qsgitemsmodule.cpp
index 9359906f25b77ed501335ff2c36874124f40ceb1..9547dc01cc789aa657ecf3a9e3c5a0fc5e25e1d5 100644
--- a/src/declarative/items/qsgitemsmodule.cpp
+++ b/src/declarative/items/qsgitemsmodule.cpp
@@ -126,7 +126,8 @@ static void qt_sgitems_defineModule(const char *uri, int major, int minor)
     qmlRegisterType<QDeclarativePathPercent>(uri,major,minor,"PathPercent");
     qmlRegisterType<QDeclarativePathQuad>(uri,major,minor,"PathQuad");
     qmlRegisterType<QSGPathView>(uri,major,minor,"PathView");
-    qmlRegisterUncreatableType<QSGBasePositioner>(uri,major,minor,"Positioner","Positioner is an abstract type that is only available as an attached property.");
+    qmlRegisterUncreatableType<QSGBasePositioner>(uri,major,minor,"Positioner",
+                                                  QStringLiteral("Positioner is an abstract type that is only available as an attached property."));
 #ifndef QT_NO_VALIDATOR
     qmlRegisterType<QIntValidator>(uri,major,minor,"IntValidator");
     qmlRegisterType<QDoubleValidator>(uri,major,minor,"DoubleValidator");
diff --git a/src/declarative/items/qsgshadereffect.cpp b/src/declarative/items/qsgshadereffect.cpp
index b81e7f15af29aa064c8ee2d16623ab0baf9bace5..7f7bff7719eff28e39c52bbb816f49305e834251 100644
--- a/src/declarative/items/qsgshadereffect.cpp
+++ b/src/declarative/items/qsgshadereffect.cpp
@@ -417,7 +417,7 @@ void QSGShaderEffect::setSource(const QVariant &var, int index)
     QSGItem *item = qobject_cast<QSGItem *>(obj);
     if (!item || !item->isTextureProvider()) {
         qWarning("ShaderEffect: source uniform [%s] is not assigned a valid texture provider: %s [%s]",
-                 qPrintable(source.name), qPrintable(obj->objectName()), obj->metaObject()->className());
+                 source.name.constData(), qPrintable(obj->objectName()), obj->metaObject()->className());
         return;
     }
 
diff --git a/src/declarative/items/qsgtextedit.cpp b/src/declarative/items/qsgtextedit.cpp
index 1c0ed62f0da4265ab767822912ac768ca10d7329..cf861684fa8bf9896229ff316c5058a30d4b3eee 100644
--- a/src/declarative/items/qsgtextedit.cpp
+++ b/src/declarative/items/qsgtextedit.cpp
@@ -65,7 +65,7 @@ QT_BEGIN_NAMESPACE
 
 DEFINE_BOOL_CONFIG_OPTION(qmlDisableDistanceField, QML_DISABLE_DISTANCEFIELD)
 
-QWidgetPrivate *qt_widget_private(QWidget *widget);
+Q_WIDGETS_EXPORT QWidgetPrivate *qt_widget_private(QWidget *widget);
 /*!
     \qmlclass TextEdit QSGTextEdit
     \inqmlmodule QtQuick 2
diff --git a/src/declarative/items/qsgtextinput.cpp b/src/declarative/items/qsgtextinput.cpp
index d30faadb34115a1eca5824b45faa599bcce7a6ff..f6b8ecd436abcbe39b989c325ba34888e00921b4 100644
--- a/src/declarative/items/qsgtextinput.cpp
+++ b/src/declarative/items/qsgtextinput.cpp
@@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE
 
 DEFINE_BOOL_CONFIG_OPTION(qmlDisableDistanceField, QML_DISABLE_DISTANCEFIELD)
 
-QWidgetPrivate *qt_widget_private(QWidget *widget);
+Q_WIDGETS_EXPORT QWidgetPrivate *qt_widget_private(QWidget *widget);
 
 /*!
     \qmlclass TextInput QSGTextInput
diff --git a/src/declarative/particles/qsgangleddirection.cpp b/src/declarative/particles/qsgangleddirection.cpp
index ab39b8a5757d0e7b2c02c2b765556132a4b75029..844941c178b19c1ff4bed88be2064bb426a7a80b 100644
--- a/src/declarative/particles/qsgangleddirection.cpp
+++ b/src/declarative/particles/qsgangleddirection.cpp
@@ -102,7 +102,7 @@ QSGAngledDirection::QSGAngledDirection(QObject *parent) :
 
 }
 
-const QPointF &QSGAngledDirection::sample(const QPointF &from)
+const QPointF &QSGAngledDirection::sample(const QPointF &)
 {
     //TODO: Faster
     qreal theta = m_angle*CONV - m_angleVariation*CONV + rand()/float(RAND_MAX) * m_angleVariation*CONV * 2;
diff --git a/src/declarative/particles/qsgcumulativedirection.cpp b/src/declarative/particles/qsgcumulativedirection.cpp
index 1d7523972bcdee6a68ed5b8d75a4168d7c200533..3502b41bcef59fa681987a498756f411d19eedb8 100644
--- a/src/declarative/particles/qsgcumulativedirection.cpp
+++ b/src/declarative/particles/qsgcumulativedirection.cpp
@@ -61,10 +61,10 @@ QDeclarativeListProperty<QSGStochasticDirection> QSGCumulativeDirection::directi
 
 const QPointF &QSGCumulativeDirection::sample(const QPointF &from)
 {
-    QPointF ret;
+    m_ret = QPointF();
     foreach (QSGStochasticDirection* dir, m_directions)
-        ret += dir->sample(from);
-    return ret;
+        m_ret += dir->sample(from);
+    return m_ret;
 }
 
 QT_END_NAMESPACE
diff --git a/src/declarative/particles/qsgcumulativedirection_p.h b/src/declarative/particles/qsgcumulativedirection_p.h
index c54a795931942288442801c1db1b0fbafbe5863c..53ed7613a1b25a3f88c9b393ffc068d7ed86542a 100644
--- a/src/declarative/particles/qsgcumulativedirection_p.h
+++ b/src/declarative/particles/qsgcumulativedirection_p.h
@@ -60,5 +60,6 @@ public:
     const QPointF &sample(const QPointF &from);
 private:
     QList<QSGStochasticDirection*> m_directions;
+    QPointF m_ret;
 };
 #endif // QSGCUMULATIVEDIRECTION_P_H
diff --git a/src/declarative/particles/qsgcustomparticle.cpp b/src/declarative/particles/qsgcustomparticle.cpp
index 12d32a27b49cd74c93df967ace4b47dd59a9c3bc..373d050627af6ddb2097657cc7228391e1ad8da1 100644
--- a/src/declarative/particles/qsgcustomparticle.cpp
+++ b/src/declarative/particles/qsgcustomparticle.cpp
@@ -281,7 +281,7 @@ void QSGCustomParticle::setSource(const QVariant &var, int index)
     source.item = qobject_cast<QSGItem *>(obj);
     if (!source.item || !source.item->isTextureProvider()) {
         qWarning("ShaderEffect: source uniform [%s] is not assigned a valid texture provider: %s [%s]",
-                 qPrintable(source.name), qPrintable(obj->objectName()), obj->metaObject()->className());
+                 source.name.constData(), qPrintable(obj->objectName()), obj->metaObject()->className());
         return;
     }
 
diff --git a/src/declarative/particles/qsgfollowemitter.cpp b/src/declarative/particles/qsgfollowemitter.cpp
index 68f0f6bf755ab83dd9dd6dbab6a0bd065a098eda..d2e3265e2d4f036fcd6a3215704749f3a21f65e9 100644
--- a/src/declarative/particles/qsgfollowemitter.cpp
+++ b/src/declarative/particles/qsgfollowemitter.cpp
@@ -209,7 +209,7 @@ void QSGFollowEmitter::emitWindow(int timeStamp)
                 const QPointF &speed = m_speed->sample(newPos);
                 datum->vx = speed.x()
                     + m_speed_from_movement * d->vx;
-                datum->vy = speed.y();
+                datum->vy = speed.y()
                     + m_speed_from_movement * d->vy;
 
                 // Particle acceleration
diff --git a/src/declarative/particles/qsgimageparticle.cpp b/src/declarative/particles/qsgimageparticle.cpp
index f269895536cbe1e75e4b926b715fc3da4fa705fa..1e410ad1b9072fb8de25154cb070d142ed203dd9 100644
--- a/src/declarative/particles/qsgimageparticle.cpp
+++ b/src/declarative/particles/qsgimageparticle.cpp
@@ -66,7 +66,7 @@ DEFINE_BOOL_CONFIG_OPTION(qmlParticlesDebug, QML_PARTICLES_DEBUG)
 //TODO: Make it larger on desktop? Requires fixing up shader code with the same define
 #define UNIFORM_ARRAY_SIZE 64
 
-const float CONV = 0.017453292519943295;
+const qreal CONV = 0.017453292519943295;
 class ImageMaterialData
 {
     public:
@@ -99,13 +99,13 @@ class TabledMaterial : public QSGSimpleMaterialShader<TabledMaterialData>
 public:
     TabledMaterial()
     {
-        QFile vf(":defaultshaders/imagevertex.shader");
+        QFile vf(QStringLiteral(":defaultshaders/imagevertex.shader"));
         vf.open(QFile::ReadOnly);
         m_vertex_code = QByteArray(SHADER_DEFINES)
             + QByteArray("#define TABLE\n#define DEFORM\n#define COLOR\n")
             + vf.readAll();
 
-        QFile ff(":defaultshaders/imagefragment.shader");
+        QFile ff(QStringLiteral(":defaultshaders/imagefragment.shader"));
         ff.open(QFile::ReadOnly);
         m_fragment_code = QByteArray(SHADER_DEFINES)
             + QByteArray("#define TABLE\n#define DEFORM\n#define COLOR\n")
@@ -167,13 +167,13 @@ class DeformableMaterial : public QSGSimpleMaterialShader<DeformableMaterialData
 public:
     DeformableMaterial()
     {
-        QFile vf(":defaultshaders/imagevertex.shader");
+        QFile vf(QStringLiteral(":defaultshaders/imagevertex.shader"));
         vf.open(QFile::ReadOnly);
         m_vertex_code = QByteArray(SHADER_DEFINES)
             + QByteArray("#define DEFORM\n#define COLOR\n")
             + vf.readAll();
 
-        QFile ff(":defaultshaders/imagefragment.shader");
+        QFile ff(QStringLiteral(":defaultshaders/imagefragment.shader"));
         ff.open(QFile::ReadOnly);
         m_fragment_code = QByteArray(SHADER_DEFINES)
             + QByteArray("#define DEFORM\n#define COLOR\n")
@@ -223,13 +223,13 @@ class SpriteMaterial : public QSGSimpleMaterialShader<SpriteMaterialData>
 public:
     SpriteMaterial()
     {
-        QFile vf(":defaultshaders/imagevertex.shader");
+        QFile vf(QStringLiteral(":defaultshaders/imagevertex.shader"));
         vf.open(QFile::ReadOnly);
         m_vertex_code = QByteArray(SHADER_DEFINES)
             + QByteArray("#define SPRITE\n#define TABLE\n#define DEFORM\n#define COLOR\n")
             + vf.readAll();
 
-        QFile ff(":defaultshaders/imagefragment.shader");
+        QFile ff(QStringLiteral(":defaultshaders/imagefragment.shader"));
         ff.open(QFile::ReadOnly);
         m_fragment_code = QByteArray(SHADER_DEFINES)
             + QByteArray("#define SPRITE\n#define TABLE\n#define DEFORM\n#define COLOR\n")
@@ -296,13 +296,13 @@ class ColoredMaterial : public QSGSimpleMaterialShader<ColoredMaterialData>
 public:
     ColoredMaterial()
     {
-        QFile vf(":defaultshaders/imagevertex.shader");
+        QFile vf(QStringLiteral(":defaultshaders/imagevertex.shader"));
         vf.open(QFile::ReadOnly);
         m_vertex_code = QByteArray(SHADER_DEFINES)
             + QByteArray("#define COLOR\n")
             + vf.readAll();
 
-        QFile ff(":defaultshaders/imagefragment.shader");
+        QFile ff(QStringLiteral(":defaultshaders/imagefragment.shader"));
         ff.open(QFile::ReadOnly);
         m_fragment_code = QByteArray(SHADER_DEFINES)
             + QByteArray("#define COLOR\n")
@@ -317,7 +317,7 @@ public:
 
     void activate() {
         QSGSimpleMaterialShader<ColoredMaterialData>::activate();
-#ifndef QT_OPENGL_ES_2
+#if !defined(QT_OPENGL_ES_2) && !defined(Q_OS_WIN)
         glEnable(GL_POINT_SPRITE);
         glEnable(GL_VERTEX_PROGRAM_POINT_SIZE);
 #endif
@@ -325,7 +325,7 @@ public:
 
     void deactivate() {
         QSGSimpleMaterialShader<ColoredMaterialData>::deactivate();
-#ifndef QT_OPENGL_ES_2
+#if !defined(QT_OPENGL_ES_2) && !defined(Q_OS_WIN)
         glDisable(GL_POINT_SPRITE);
         glDisable(GL_VERTEX_PROGRAM_POINT_SIZE);
 #endif
@@ -367,12 +367,12 @@ class SimpleMaterial : public QSGSimpleMaterialShader<SimpleMaterialData>
 public:
     SimpleMaterial()
     {
-        QFile vf(":defaultshaders/imagevertex.shader");
+        QFile vf(QStringLiteral(":defaultshaders/imagevertex.shader"));
         vf.open(QFile::ReadOnly);
         m_vertex_code = QByteArray(SHADER_DEFINES)
             + vf.readAll();
 
-        QFile ff(":defaultshaders/imagefragment.shader");
+        QFile ff(QStringLiteral(":defaultshaders/imagefragment.shader"));
         ff.open(QFile::ReadOnly);
         m_fragment_code = QByteArray(SHADER_DEFINES)
             + ff.readAll();
@@ -386,7 +386,7 @@ public:
 
     void activate() {
         QSGSimpleMaterialShader<SimpleMaterialData>::activate();
-#ifndef QT_OPENGL_ES_2
+#if !defined(QT_OPENGL_ES_2) && !defined(Q_OS_WIN)
         glEnable(GL_POINT_SPRITE);
         glEnable(GL_VERTEX_PROGRAM_POINT_SIZE);
 #endif
@@ -394,7 +394,7 @@ public:
 
     void deactivate() {
         QSGSimpleMaterialShader<SimpleMaterialData>::deactivate();
-#ifndef QT_OPENGL_ES_2
+#if !defined(QT_OPENGL_ES_2) && !defined(Q_OS_WIN)
         glDisable(GL_POINT_SPRITE);
         glDisable(GL_VERTEX_PROGRAM_POINT_SIZE);
 #endif
@@ -913,7 +913,7 @@ QSGGeometryNode* QSGImageParticle::buildParticleNodes()
         sizetable = QImage(m_sizetable_name.toLocalFile());
         opacitytable = QImage(m_opacitytable_name.toLocalFile());
         if (colortable.isNull())
-            colortable = QImage(":defaultshaders/identitytable.png");
+            colortable = QImage(QStringLiteral(":defaultshaders/identitytable.png"));
         Q_ASSERT(!colortable.isNull());
         getState<ImageMaterialData>(m_material)->colorTable = sceneGraphEngine()->createTextureFromImage(colortable);
         fillUniformArrayFromImage(getState<ImageMaterialData>(m_material)->sizeTable, sizetable, UNIFORM_ARRAY_SIZE);
diff --git a/src/declarative/particles/qsgmodelparticle.cpp b/src/declarative/particles/qsgmodelparticle.cpp
index 2646864283b65105383bda397a8a2f3cab264ad8..d90b09fa6d663ded19762f71ec30934a7b5d647b 100644
--- a/src/declarative/particles/qsgmodelparticle.cpp
+++ b/src/declarative/particles/qsgmodelparticle.cpp
@@ -213,7 +213,7 @@ void QSGModelParticle::processPending()
     m_requests.clear();
 }
 
-void QSGModelParticle::commit(int gIdx, int pIdx)
+void QSGModelParticle::commit(int /* gIdx */, int /* pIdx */)
 {
     //No-op unless we start copying the data.
 }
diff --git a/src/declarative/particles/qsgparticlesystem.cpp b/src/declarative/particles/qsgparticlesystem.cpp
index efd6c22bd90cf624e7a3710629e22e507a791bbd..d12165e4e87013be8db445298ffd9ad70bd73102 100644
--- a/src/declarative/particles/qsgparticlesystem.cpp
+++ b/src/declarative/particles/qsgparticlesystem.cpp
@@ -493,7 +493,7 @@ QSGParticleSystem::QSGParticleSystem(QSGItem *parent) :
 {
     QSGParticleGroupData* gd = new QSGParticleGroupData(0, this);//Default group
     m_groupData.insert(0,gd);
-    m_groupIds.insert("",0);
+    m_groupIds.insert(QString(),0);
     m_nextGroupId = 1;
 
     connect(&m_painterMapper, SIGNAL(mapped(QObject*)),
@@ -549,7 +549,7 @@ void QSGParticleSystem::loadPainter(QObject *p)
     int particleCount = 0;
     if (painter->particles().isEmpty()){//Uses default particle
         QStringList def;
-        def << "";
+        def << QString();
         painter->setParticles(def);
         particleCount += m_groupData[0]->size();
         m_groupData[0]->painters << painter;
diff --git a/src/declarative/qml/ftw/qdeclarativepool_p.h b/src/declarative/qml/ftw/qdeclarativepool_p.h
index 8935046cc3395596865c8734a91438f502b89298..c4393fe2e654122d3d46e68b51f9429e44d45783 100644
--- a/src/declarative/qml/ftw/qdeclarativepool_p.h
+++ b/src/declarative/qml/ftw/qdeclarativepool_p.h
@@ -58,7 +58,8 @@
 
 QT_BEGIN_NAMESPACE
 
-class QDeclarativePool
+// Exported for QtQuick1
+class Q_DECLARATIVE_EXPORT QDeclarativePool
 {
 public:
     // The class has a destructor that needs to be called
diff --git a/src/declarative/qml/ftw/qfastmetabuilder_p.h b/src/declarative/qml/ftw/qfastmetabuilder_p.h
index 9a6971d6529f290c1f6d396d83980907ebef73ca..e9457b5943e8e2d4411cfbde01a0a14bb25497fa 100644
--- a/src/declarative/qml/ftw/qfastmetabuilder_p.h
+++ b/src/declarative/qml/ftw/qfastmetabuilder_p.h
@@ -122,7 +122,7 @@ public:
     QByteArray toData() const { return m_data; }
     static void fromData(QMetaObject *, const QMetaObject *parent, const QByteArray &);
 private:
-    friend class StringRef;
+    friend struct StringRef;
 
     QByteArray m_data;
     int m_zeroPtr;
diff --git a/src/declarative/qml/ftw/qhashedstring_p.h b/src/declarative/qml/ftw/qhashedstring_p.h
index f6c7f20d3a47b1f1a6160a064a6f5afee85c4574..d0dada8d72f9e6e6fdf61c3fdc0465f413a41a6a 100644
--- a/src/declarative/qml/ftw/qhashedstring_p.h
+++ b/src/declarative/qml/ftw/qhashedstring_p.h
@@ -254,7 +254,7 @@ public:
     }
 };
 
-struct Q_AUTOTEST_EXPORT QStringHashData
+class Q_AUTOTEST_EXPORT QStringHashData
 {
 public:
     QStringHashData() 
@@ -275,7 +275,7 @@ private:
 };
 
 template<class T, int SmallThreshold = 0>
-class Q_AUTOTEST_EXPORT QStringHash
+class QStringHash
 {
 public:
     struct Node : public QStringHashNode {
diff --git a/src/declarative/qml/qdeclarativecleanup_p.h b/src/declarative/qml/qdeclarativecleanup_p.h
index 3f55bdbe48d4ae3390d2ac4ab3178e6815d621f1..1efe564edcaa7fca1926ed123e47568422c0151d 100644
--- a/src/declarative/qml/qdeclarativecleanup_p.h
+++ b/src/declarative/qml/qdeclarativecleanup_p.h
@@ -58,7 +58,9 @@
 QT_BEGIN_NAMESPACE
 
 class QDeclarativeEngine;
-class QDeclarativeCleanup
+
+// Exported for QtQuick1
+class Q_DECLARATIVE_EXPORT QDeclarativeCleanup
 {
 public:
     QDeclarativeCleanup(QDeclarativeEngine *);
diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp
index 79094b7e0e3e51c7c41c11f7afcb4746da6f2524..b3d714dcb27d4a561824ae8a94efc4d861e1c9f6 100644
--- a/src/declarative/qml/qdeclarativecompiler.cpp
+++ b/src/declarative/qml/qdeclarativecompiler.cpp
@@ -1595,7 +1595,7 @@ bool QDeclarativeCompiler::buildProperty(QDeclarativeScript::Property *prop,
             QDeclarativePropertyCache::Data defaultPropertyData;
             defaultPropertyData.load(p, engine);
             if (p.name())
-                prop->setName(p.name());
+                prop->setName(QLatin1String(p.name()));
             prop->core = defaultPropertyData;
             prop->index = prop->core.coreIndex;
         }
@@ -2406,7 +2406,7 @@ const QMetaObject *QDeclarativeCompiler::resolveType(const QByteArray& name) con
 int QDeclarativeCompiler::rewriteBinding(const QString& expression, const QString& name)
 {
     QDeclarativeRewrite::RewriteBinding rewriteBinding;
-    rewriteBinding.setName(QLatin1Char('$') + name.mid(name.lastIndexOf('.') + 1));
+    rewriteBinding.setName(QLatin1Char('$') + name.mid(name.lastIndexOf(QLatin1Char('.')) + 1));
 
     QString rewrite = rewriteBinding(expression, 0, 0);
 
diff --git a/src/declarative/qml/qdeclarativeimport.cpp b/src/declarative/qml/qdeclarativeimport.cpp
index 0c0719a710f21b5937c136773f40d2ed774ddcf2..64bdaf108a6eb21ab07f100bb265f12f7c12f433 100644
--- a/src/declarative/qml/qdeclarativeimport.cpp
+++ b/src/declarative/qml/qdeclarativeimport.cpp
@@ -210,7 +210,7 @@ void QDeclarativeImports::populateCache(QDeclarativeTypeNameCache *cache, QDecla
             if (module)
                 import.modules.append(QDeclarativeTypeModuleVersion(module, data.minversion));
 
-            QDeclarativeMetaType::ModuleApi moduleApi = QDeclarativeMetaType::moduleApi(data.uri.toUtf8(), data.majversion, data.minversion);
+            QDeclarativeMetaType::ModuleApi moduleApi = QDeclarativeMetaType::moduleApi(data.uri, data.majversion, data.minversion);
             if (moduleApi.script || moduleApi.qobject) {
                 QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine);
                 QDeclarativeMetaType::ModuleApiInstance *a = ep->moduleApiInstances.value(moduleApi);
diff --git a/src/declarative/qml/qdeclarativeimport_p.h b/src/declarative/qml/qdeclarativeimport_p.h
index c695a6b4235b71cfe82edcfa8d4eee656939e4b2..7f0b499881e671f40d9118cb1c3fdc2c70468df7 100644
--- a/src/declarative/qml/qdeclarativeimport_p.h
+++ b/src/declarative/qml/qdeclarativeimport_p.h
@@ -71,7 +71,8 @@ class QDeclarativeImportsPrivate;
 class QDeclarativeImportDatabase;
 class QDeclarativeTypeLoader;
 
-class QDeclarativeImports
+// Exported for QtQuick1
+class Q_DECLARATIVE_EXPORT QDeclarativeImports
 {
 public:
     QDeclarativeImports(QDeclarativeTypeLoader *);
diff --git a/src/declarative/qml/qdeclarativeinfo.cpp b/src/declarative/qml/qdeclarativeinfo.cpp
index e2f728ad69fd16107b8e9e4768fbe7ab17d39e3f..995a6b9ad7fd4663e2d83221a23047db4882ffea 100644
--- a/src/declarative/qml/qdeclarativeinfo.cpp
+++ b/src/declarative/qml/qdeclarativeinfo.cpp
@@ -132,7 +132,8 @@ QDeclarativeInfo::~QDeclarativeInfo()
 
                     marker = typeName.indexOf(QLatin1String("_QML_"));
                     if (marker != -1) {
-                        typeName = typeName.left(marker) + "*";
+                        typeName = typeName.left(marker);
+                        typeName += QLatin1Char('*');
                         type = QDeclarativeMetaType::qmlType(QMetaType::type(typeName.toLatin1()));
                         if (type) {
                             typeName = QLatin1String(type->qmlTypeName());
diff --git a/src/declarative/qml/qdeclarativescript_p.h b/src/declarative/qml/qdeclarativescript_p.h
index 3aff31789ad8fc824d610f06377a43b3eb6c8bc8..a985fd7a8aaefe042290c7a203e0bada459748e6 100644
--- a/src/declarative/qml/qdeclarativescript_p.h
+++ b/src/declarative/qml/qdeclarativescript_p.h
@@ -72,7 +72,7 @@ QT_MODULE(Declarative)
 class QByteArray;
 class QDeclarativePropertyCache;
 namespace QDeclarativeJS { namespace AST { class Node; class StringLiteral; } }
-namespace QDeclarativeCompilerTypes { class BindingReference; class ComponentCompileState; }
+namespace QDeclarativeCompilerTypes { struct BindingReference; struct ComponentCompileState; }
 
 namespace QDeclarativeScript {
 
diff --git a/src/declarative/qml/qdeclarativesqldatabase.cpp b/src/declarative/qml/qdeclarativesqldatabase.cpp
index fbe5b95aeb6a5b098dc627c40c9328317464594e..687aec9448cf1f88bf0d64de8be2a9742a1960cd 100644
--- a/src/declarative/qml/qdeclarativesqldatabase.cpp
+++ b/src/declarative/qml/qdeclarativesqldatabase.cpp
@@ -145,7 +145,7 @@ public:
     bool forwardOnly; // type == Rows
 };
 
-static v8::Handle<v8::Value> qmlsqldatabase_version(v8::Local<v8::String> property, const v8::AccessorInfo& info)
+static v8::Handle<v8::Value> qmlsqldatabase_version(v8::Local<v8::String> /* property */, const v8::AccessorInfo& info)
 {
     QV8SqlDatabaseResource *r = v8_resource_cast<QV8SqlDatabaseResource>(info.This());
     if (!r || r->type != QV8SqlDatabaseResource::Database)
@@ -154,7 +154,7 @@ static v8::Handle<v8::Value> qmlsqldatabase_version(v8::Local<v8::String> proper
     return r->engine->toString(r->version);
 }
 
-static v8::Handle<v8::Value> qmlsqldatabase_rows_length(v8::Local<v8::String> property, const v8::AccessorInfo& info)
+static v8::Handle<v8::Value> qmlsqldatabase_rows_length(v8::Local<v8::String> /* property */, const v8::AccessorInfo& info)
 {
     QV8SqlDatabaseResource *r = v8_resource_cast<QV8SqlDatabaseResource>(info.This());
     if (!r || r->type != QV8SqlDatabaseResource::Rows)
@@ -172,7 +172,7 @@ static v8::Handle<v8::Value> qmlsqldatabase_rows_length(v8::Local<v8::String> pr
     return v8::Integer::New(s);
 }
 
-static v8::Handle<v8::Value> qmlsqldatabase_rows_forwardOnly(v8::Local<v8::String> property, 
+static v8::Handle<v8::Value> qmlsqldatabase_rows_forwardOnly(v8::Local<v8::String> /* property */,
                                                              const v8::AccessorInfo& info)
 {
     QV8SqlDatabaseResource *r = v8_resource_cast<QV8SqlDatabaseResource>(info.This());
@@ -182,7 +182,7 @@ static v8::Handle<v8::Value> qmlsqldatabase_rows_forwardOnly(v8::Local<v8::Strin
     return v8::Boolean::New(r->query.isForwardOnly());
 }
 
-static void qmlsqldatabase_rows_setForwardOnly(v8::Local<v8::String> property,
+static void qmlsqldatabase_rows_setForwardOnly(v8::Local<v8::String> /* property */,
                                                v8::Local<v8::Value> value,
                                                const v8::AccessorInfo& info)
 {
@@ -568,7 +568,7 @@ void *qt_add_qmlsqldatabase(QV8Engine *engine)
     return (void *)new QDeclarativeSqlDatabaseData(engine);
 }
 
-void qt_rem_qmlsqldatabase(QV8Engine *engine, void *d)
+void qt_rem_qmlsqldatabase(QV8Engine * /* engine */, void *d)
 {
     QDeclarativeSqlDatabaseData *data = (QDeclarativeSqlDatabaseData *)d;
     delete data;
diff --git a/src/declarative/qml/qdeclarativetypeloader_p.h b/src/declarative/qml/qdeclarativetypeloader_p.h
index 349a9f842835e377aa191d507e08d77f4b4b1fe9..af1a2f731ea492932243a23322e5f9bf6623b44a 100644
--- a/src/declarative/qml/qdeclarativetypeloader_p.h
+++ b/src/declarative/qml/qdeclarativetypeloader_p.h
@@ -77,7 +77,8 @@ class QDeclarativeComponentPrivate;
 class QDeclarativeTypeData;
 class QDeclarativeDataLoader;
 
-class Q_AUTOTEST_EXPORT QDeclarativeDataBlob : public QDeclarativeRefCount
+// Exported for QtQuick1
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDataBlob : public QDeclarativeRefCount
 {
 public:
     enum Status {
@@ -160,7 +161,8 @@ private:
     QList<QDeclarativeError> m_errors;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeDataLoader : public QObject
+// Exported for QtQuick1
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDataLoader : public QObject
 {
     Q_OBJECT
 public:
@@ -184,7 +186,8 @@ private:
     NetworkReplies m_networkReplies;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeTypeLoader : public QDeclarativeDataLoader
+// Exported for QtQuick1
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeTypeLoader : public QDeclarativeDataLoader
 {
     Q_OBJECT
 public:
diff --git a/src/declarative/qml/qdeclarativevaluetype_p.h b/src/declarative/qml/qdeclarativevaluetype_p.h
index 03cb83fdadfdf2cd6227bb20c7d1ff5d1da68db1..41d5e7cb8f0cfa798303e8ba46dd66d6e7b247f2 100644
--- a/src/declarative/qml/qdeclarativevaluetype_p.h
+++ b/src/declarative/qml/qdeclarativevaluetype_p.h
@@ -105,7 +105,8 @@ private:
     QDeclarativeValueType *valueTypes[QVariant::UserType - 1]; 
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativePointFValueType : public QDeclarativeValueType
+// Exported for QtQuick1
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativePointFValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(qreal x READ x WRITE setX)
     Q_PROPERTY(qreal y READ y WRITE setY)
@@ -129,7 +130,8 @@ private:
     QPointF point;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativePointValueType : public QDeclarativeValueType
+// Exported for QtQuick1
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativePointValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(int x READ x WRITE setX)
     Q_PROPERTY(int y READ y WRITE setY)
@@ -153,7 +155,8 @@ private:
     QPoint point;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeSizeFValueType : public QDeclarativeValueType
+// Exported for QtQuick1
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeSizeFValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(qreal width READ width WRITE setWidth)
     Q_PROPERTY(qreal height READ height WRITE setHeight)
@@ -177,7 +180,8 @@ private:
     QSizeF size;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeSizeValueType : public QDeclarativeValueType
+// Exported for QtQuick1
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeSizeValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(int width READ width WRITE setWidth)
     Q_PROPERTY(int height READ height WRITE setHeight)
@@ -201,7 +205,8 @@ private:
     QSize size;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeRectFValueType : public QDeclarativeValueType
+// Exported for QtQuick1
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeRectFValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(qreal x READ x WRITE setX)
     Q_PROPERTY(qreal y READ y WRITE setY)
@@ -232,7 +237,8 @@ private:
     QRectF rect;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeRectValueType : public QDeclarativeValueType
+// Exported for QtQuick1
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeRectValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(int x READ x WRITE setX)
     Q_PROPERTY(int y READ y WRITE setY)
@@ -263,7 +269,7 @@ private:
     QRect rect;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeVector2DValueType : public QDeclarativeValueType
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeVector2DValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(qreal x READ x WRITE setX)
     Q_PROPERTY(qreal y READ y WRITE setY)
@@ -287,7 +293,7 @@ private:
     QVector2D vector;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeVector3DValueType : public QDeclarativeValueType
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeVector3DValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(qreal x READ x WRITE setX)
     Q_PROPERTY(qreal y READ y WRITE setY)
@@ -314,7 +320,7 @@ private:
     QVector3D vector;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeVector4DValueType : public QDeclarativeValueType
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeVector4DValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(qreal x READ x WRITE setX)
     Q_PROPERTY(qreal y READ y WRITE setY)
@@ -344,7 +350,7 @@ private:
     QVector4D vector;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeQuaternionValueType : public QDeclarativeValueType
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeQuaternionValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(qreal scalar READ scalar WRITE setScalar)
     Q_PROPERTY(qreal x READ x WRITE setX)
@@ -374,7 +380,7 @@ private:
     QQuaternion quaternion;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeMatrix4x4ValueType : public QDeclarativeValueType
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeMatrix4x4ValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(qreal m11 READ m11 WRITE setM11)
     Q_PROPERTY(qreal m12 READ m12 WRITE setM12)
@@ -441,7 +447,7 @@ private:
     QMatrix4x4 matrix;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeEasingValueType : public QDeclarativeValueType
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeEasingValueType : public QDeclarativeValueType
 {
     Q_OBJECT
     Q_ENUMS(Type)
@@ -499,7 +505,7 @@ private:
     QEasingCurve easing;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeFontValueType : public QDeclarativeValueType
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeFontValueType : public QDeclarativeValueType
 {
     Q_OBJECT
     Q_ENUMS(FontWeight)
@@ -582,7 +588,7 @@ private:
     mutable QDeclarativeNullableValue<int> dpi;
 };
 
-class Q_AUTOTEST_EXPORT QDeclarativeColorValueType : public QDeclarativeValueType
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeColorValueType : public QDeclarativeValueType
 {
     Q_PROPERTY(qreal r READ r WRITE setR)
     Q_PROPERTY(qreal g READ g WRITE setG)
diff --git a/src/declarative/qml/qdeclarativexmlhttprequest.cpp b/src/declarative/qml/qdeclarativexmlhttprequest.cpp
index 0eb923a70c2fd9ee4908d1c3b31f6a5ec5f1b747..23f21c91e3e1d4c8b9a5307955e043ff48d98c11 100644
--- a/src/declarative/qml/qdeclarativexmlhttprequest.cpp
+++ b/src/declarative/qml/qdeclarativexmlhttprequest.cpp
@@ -613,7 +613,7 @@ v8::Handle<v8::Value> CharacterData::length(v8::Local<v8::String>, const v8::Acc
     QDeclarativeDOMNodeResource *r = v8_resource_cast<QDeclarativeDOMNodeResource>(args.This());
     if (!r) return v8::Undefined();
     QV8Engine *engine = V8ENGINE();
-
+    Q_UNUSED(engine)
     return v8::Integer::New(r->d->data.length());
 }
 
@@ -637,7 +637,7 @@ v8::Handle<v8::Value> Text::isElementContentWhitespace(v8::Local<v8::String>, co
     QDeclarativeDOMNodeResource *r = v8_resource_cast<QDeclarativeDOMNodeResource>(args.This());
     if (!r) return v8::Undefined();
     QV8Engine *engine = V8ENGINE();
-
+    Q_UNUSED(engine)
     return v8::Boolean::New(r->d->data.trimmed().isEmpty());
 }
 
@@ -810,7 +810,7 @@ v8::Handle<v8::Value> NamedNodeMap::length(v8::Local<v8::String>, const v8::Acce
     QDeclarativeDOMNodeResource *r = v8_resource_cast<QDeclarativeDOMNodeResource>(args.This());
     if (!r) return v8::Undefined();
     QV8Engine *engine = V8ENGINE();
-
+    Q_UNUSED(engine)
     return v8::Integer::New(r->list->count());
 }
 
@@ -888,7 +888,7 @@ v8::Handle<v8::Value> NodeList::length(v8::Local<v8::String>, const v8::Accessor
     QDeclarativeDOMNodeResource *r = v8_resource_cast<QDeclarativeDOMNodeResource>(args.This());
     if (!r) return v8::Undefined();
     QV8Engine *engine = V8ENGINE();
-
+    Q_UNUSED(engine)
     return v8::Integer::New(r->d->children.count());
 }
 
@@ -931,7 +931,7 @@ v8::Handle<v8::Value> Document::xmlStandalone(v8::Local<v8::String>, const v8::A
     QDeclarativeDOMNodeResource *r = v8_resource_cast<QDeclarativeDOMNodeResource>(args.This());
     if (!r || r->d->type != NodeImpl::Document) return v8::Undefined();
     QV8Engine *engine = V8ENGINE();
-
+    Q_UNUSED(engine)
     return v8::Boolean::New(static_cast<DocumentImpl *>(r->d)->isStandalone);
 }
 
@@ -1646,7 +1646,7 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_getAllResponseHeaders(const v8::A
 }
 
 // XMLHttpRequest properties
-static v8::Handle<v8::Value> qmlxmlhttprequest_readyState(v8::Local<v8::String> property,
+static v8::Handle<v8::Value> qmlxmlhttprequest_readyState(v8::Local<v8::String> /* property */,
                                                           const v8::AccessorInfo& info)
 {
     QDeclarativeXMLHttpRequest *r = v8_resource_cast<QDeclarativeXMLHttpRequest>(info.This());
@@ -1656,7 +1656,7 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_readyState(v8::Local<v8::String>
     return v8::Integer::NewFromUnsigned(r->readyState());
 }
 
-static v8::Handle<v8::Value> qmlxmlhttprequest_status(v8::Local<v8::String> property,
+static v8::Handle<v8::Value> qmlxmlhttprequest_status(v8::Local<v8::String> /* property */,
                                                       const v8::AccessorInfo& info)
 {
     QDeclarativeXMLHttpRequest *r = v8_resource_cast<QDeclarativeXMLHttpRequest>(info.This());
@@ -1673,7 +1673,7 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_status(v8::Local<v8::String> prop
         return v8::Integer::New(r->replyStatus());
 }
 
-static v8::Handle<v8::Value> qmlxmlhttprequest_statusText(v8::Local<v8::String> property,
+static v8::Handle<v8::Value> qmlxmlhttprequest_statusText(v8::Local<v8::String> /* property */,
                                                           const v8::AccessorInfo& info)
 {
     QDeclarativeXMLHttpRequest *r = v8_resource_cast<QDeclarativeXMLHttpRequest>(info.This());
@@ -1692,7 +1692,7 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_statusText(v8::Local<v8::String>
         return engine->toString(r->replyStatusText());
 }
 
-static v8::Handle<v8::Value> qmlxmlhttprequest_responseText(v8::Local<v8::String> property,
+static v8::Handle<v8::Value> qmlxmlhttprequest_responseText(v8::Local<v8::String> /* property */,
                                                             const v8::AccessorInfo& info)
 {
     QDeclarativeXMLHttpRequest *r = v8_resource_cast<QDeclarativeXMLHttpRequest>(info.This());
@@ -1708,8 +1708,8 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_responseText(v8::Local<v8::String
         return engine->toString(r->responseBody());
 }
 
-static v8::Handle<v8::Value> qmlxmlhttprequest_responseXML(v8::Local<v8::String> property,
-                                                            const v8::AccessorInfo& info)
+static v8::Handle<v8::Value> qmlxmlhttprequest_responseXML(v8::Local<v8::String> /* property */,
+                                                           const v8::AccessorInfo& info)
 {
     QDeclarativeXMLHttpRequest *r = v8_resource_cast<QDeclarativeXMLHttpRequest>(info.This());
     if (!r)
@@ -1729,7 +1729,7 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_new(const v8::Arguments &args)
     if (args.IsConstructCall()) {
         QV8Engine *engine = V8ENGINE();
         QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine->engine());
-
+        Q_UNUSED(ep)
         QDeclarativeXMLHttpRequest *r = new QDeclarativeXMLHttpRequest(engine, engine->networkAccessManager());
         args.This()->SetExternalResource(r);
 
@@ -1741,7 +1741,7 @@ static v8::Handle<v8::Value> qmlxmlhttprequest_new(const v8::Arguments &args)
 
 #define NEWFUNCTION(function) v8::FunctionTemplate::New(function)->GetFunction()
 
-void qt_rem_qmlxmlhttprequest(QV8Engine *engine, void *d)
+void qt_rem_qmlxmlhttprequest(QV8Engine * /* engine */, void *d)
 {
     QDeclarativeXMLHttpRequestData *data = (QDeclarativeXMLHttpRequestData *)d;
     delete data;
diff --git a/src/declarative/qml/v8/qv8qobjectwrapper.cpp b/src/declarative/qml/v8/qv8qobjectwrapper.cpp
index 52e106494cbf6ad78042e49325d9c666c03d1d34..46494daf55bd577022008f10470414c6b0a6bd68 100644
--- a/src/declarative/qml/v8/qv8qobjectwrapper.cpp
+++ b/src/declarative/qml/v8/qv8qobjectwrapper.cpp
@@ -1018,8 +1018,9 @@ QPair<QObject *, int> QV8QObjectWrapper::ExtractQtMethod(QV8Engine *engine, v8::
     return qMakePair((QObject *)0, -1);
 }
 
-struct QV8QObjectConnectionList : public QObject, public QDeclarativeGuard<QObject>
+class QV8QObjectConnectionList : public QObject, public QDeclarativeGuard<QObject>
 {
+public:
     QV8QObjectConnectionList(QObject *object, QV8Engine *engine);
     ~QV8QObjectConnectionList();
 
diff --git a/src/declarative/qml/v8/qv8variantwrapper.cpp b/src/declarative/qml/v8/qv8variantwrapper.cpp
index de4f0ce2d747504efc7c11da843a3e3f558e45f9..4b2acfc9658d64ddf786fe07257ef36297fdf7e1 100644
--- a/src/declarative/qml/v8/qv8variantwrapper.cpp
+++ b/src/declarative/qml/v8/qv8variantwrapper.cpp
@@ -166,13 +166,13 @@ QVariant &QV8VariantWrapper::variantValue(v8::Handle<v8::Value> value)
     return static_cast<QV8VariantResource *>(r)->data;
 }
 
-v8::Handle<v8::Value> QV8VariantWrapper::Getter(v8::Local<v8::String> property,
+v8::Handle<v8::Value> QV8VariantWrapper::Getter(v8::Local<v8::String> /* property */,
                                                 const v8::AccessorInfo &info)
 {
     return v8::Handle<v8::Value>();
 }
 
-v8::Handle<v8::Value> QV8VariantWrapper::Setter(v8::Local<v8::String> property, 
+v8::Handle<v8::Value> QV8VariantWrapper::Setter(v8::Local<v8::String> /* property */,
                                                 v8::Local<v8::Value> value,
                                                 const v8::AccessorInfo &info)
 {
diff --git a/src/declarative/scenegraph/coreapi/qsgrenderer.cpp b/src/declarative/scenegraph/coreapi/qsgrenderer.cpp
index 607c5b5b1f339f70eee57b084cdb564ce63328e0..0df00b56cbab3ba73b8fd3175c12f8c6e53a70de 100644
--- a/src/declarative/scenegraph/coreapi/qsgrenderer.cpp
+++ b/src/declarative/scenegraph/coreapi/qsgrenderer.cpp
@@ -600,7 +600,7 @@ static inline GLenum qt_drawTypeForPattern(QSGGeometry::DataPattern p)
 void QSGRenderer::draw(const QSGMaterialShader *shader, const QSGGeometry *g)
 {
     // ### remove before final release...
-    static bool use_vbo = !QApplication::arguments().contains("--no-vbo");
+    static bool use_vbo = !QApplication::arguments().contains(QLatin1String("--no-vbo"));
 
     const void *vertexData;
     int vertexByteSize = g->vertexCount() * g->stride();
diff --git a/src/declarative/scenegraph/qsgdistancefieldglyphcache.cpp b/src/declarative/scenegraph/qsgdistancefieldglyphcache.cpp
index 13fe62a27ac3e8fd3b1dc97e87ca20c1fc9095eb..ec69a64c5813e80c692bb3500cc422911e708310 100644
--- a/src/declarative/scenegraph/qsgdistancefieldglyphcache.cpp
+++ b/src/declarative/scenegraph/qsgdistancefieldglyphcache.cpp
@@ -1178,7 +1178,7 @@ void QSGDistanceFieldGlyphCache::updateCache()
     glBindTexture(GL_TEXTURE_2D, m_textureData->texture);
 
     // ### Remove before final release
-    static bool cacheDistanceFields = QGuiApplication::arguments().contains("--cache-distance-fields");
+    static bool cacheDistanceFields = QGuiApplication::arguments().contains(QLatin1String("--cache-distance-fields"));
 
 // #define QSGDISTANCEFIELDS_TIME_CREATION
 #ifdef QSGDISTANCEFIELDS_TIME_CREATION
diff --git a/src/declarative/util/qdeclarativesmoothedanimation.cpp b/src/declarative/util/qdeclarativesmoothedanimation.cpp
index f76531a5f71747be8efa6dbe86316e2aab3aa8e1..d306f8ab2b27062993e548feab1e98d4d14e4ce0 100644
--- a/src/declarative/util/qdeclarativesmoothedanimation.cpp
+++ b/src/declarative/util/qdeclarativesmoothedanimation.cpp
@@ -123,14 +123,14 @@ bool QSmoothedAnimation::recalc()
         sd = s;
     } else if (maximumEasingTime != -1 && tf > (maximumEasingTime / 1000.)) {
         qreal met = maximumEasingTime / 1000.;
-        //       tp|       |td
-        // vp_      _______
-        //         /       \
-        // vi_    /         \
-        //                   \
-        //                    \   _ 0
-        //       |ta|      |ta|
-        //
+        /*       tp|       |td
+         * vp_      _______
+         *         /       \
+         * vi_    /         \
+         *                   \
+         *                    \   _ 0
+         *       |ta|      |ta|
+         */
         qreal ta = met / 2.;
         a = (s - (vi * tf - 0.5 * vi * ta)) / (tf * ta - ta * ta);
 
diff --git a/src/imports/folderlistmodel/folderlistmodel.pro b/src/imports/folderlistmodel/folderlistmodel.pro
index 31192fd764a6069840f15b2136aaac3abab6fa05..63f75d92542987e9371b048e8e2d78c507143636 100644
--- a/src/imports/folderlistmodel/folderlistmodel.pro
+++ b/src/imports/folderlistmodel/folderlistmodel.pro
@@ -2,7 +2,7 @@ TARGET  = qmlfolderlistmodelplugin
 TARGETPATH = Qt/labs/folderlistmodel
 include(../qimportbase.pri)
 
-QT += declarative
+QT += widgets declarative
 
 SOURCES += qdeclarativefolderlistmodel.cpp plugin.cpp
 HEADERS += qdeclarativefolderlistmodel.h
diff --git a/src/qtquick1/graphicsitems/qdeclarativeanchors_p.h b/src/qtquick1/graphicsitems/qdeclarativeanchors_p.h
index 96a5f27f1ec5901ba33d47be5e35388e4e7ff6b9..5fd90b0a5fed912752a0dd3a18fc2ad3fc948878 100644
--- a/src/qtquick1/graphicsitems/qdeclarativeanchors_p.h
+++ b/src/qtquick1/graphicsitems/qdeclarativeanchors_p.h
@@ -58,7 +58,7 @@ QT_MODULE(Declarative)
 
 class QDeclarative1AnchorsPrivate;
 class QDeclarative1AnchorLine;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1Anchors : public QObject
+class Q_QTQUICK1_EXPORT QDeclarative1Anchors : public QObject
 {
     Q_OBJECT
 
diff --git a/src/qtquick1/graphicsitems/qdeclarativeitem.h b/src/qtquick1/graphicsitems/qdeclarativeitem.h
index 609af803f6805daa03c288bae7e1e3e797c6dd80..c56b59125b322b7ea9e0e4b655c74aaa337293b6 100644
--- a/src/qtquick1/graphicsitems/qdeclarativeitem.h
+++ b/src/qtquick1/graphicsitems/qdeclarativeitem.h
@@ -65,7 +65,7 @@ class QDeclarative1KeyEvent;
 class QDeclarative1Anchors;
 class QDeclarativeItemPrivate;
 class QDeclarativeV8Function;
-class Q_DECLARATIVE_EXPORT QDeclarativeItem : public QGraphicsObject, public QDeclarativeParserStatus
+class Q_QTQUICK1_EXPORT QDeclarativeItem : public QGraphicsObject, public QDeclarativeParserStatus
 {
     Q_OBJECT
     Q_INTERFACES(QDeclarativeParserStatus)
@@ -217,7 +217,7 @@ T qobject_cast(QGraphicsItem *item)
 }
 
 #ifndef QT_NO_DEBUG_STREAM
-QDebug Q_DECLARATIVE_EXPORT operator<<(QDebug debug, QDeclarativeItem *item);
+QDebug Q_QTQUICK1_EXPORT operator<<(QDebug debug, QDeclarativeItem *item);
 #endif
 
 QT_END_NAMESPACE
diff --git a/src/qtquick1/graphicsitems/qdeclarativeitem_p.h b/src/qtquick1/graphicsitems/qdeclarativeitem_p.h
index 06041940040aa63d284bba6503d3723b90bca2e8..8dccd1ac37465ae6edc95138c66630cdf7ad993c 100644
--- a/src/qtquick1/graphicsitems/qdeclarativeitem_p.h
+++ b/src/qtquick1/graphicsitems/qdeclarativeitem_p.h
@@ -116,7 +116,7 @@ private:
     qreal m_height;
 };
 
-class Q_DECLARATIVE_EXPORT QDeclarativeItemPrivate : public QGraphicsItemPrivate
+class Q_QTQUICK1_EXPORT QDeclarativeItemPrivate : public QGraphicsItemPrivate
 {
     Q_DECLARE_PUBLIC(QDeclarativeItem)
 
diff --git a/src/qtquick1/graphicsitems/qdeclarativepositioners_p.h b/src/qtquick1/graphicsitems/qdeclarativepositioners_p.h
index c5f25228bd5e0365a6674d0083f944d33e1b4f07..17c6b7bc10160f62175bc1d37d6c17b50282ac55 100644
--- a/src/qtquick1/graphicsitems/qdeclarativepositioners_p.h
+++ b/src/qtquick1/graphicsitems/qdeclarativepositioners_p.h
@@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE
 QT_MODULE(Declarative)
 class QDeclarative1BasePositionerPrivate;
 
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1BasePositioner : public QDeclarative1ImplicitSizeItem
+class Q_QTQUICK1_EXPORT QDeclarative1BasePositioner : public QDeclarative1ImplicitSizeItem
 {
     Q_OBJECT
 
diff --git a/src/qtquick1/graphicsitems/qdeclarativerectangle_p.h b/src/qtquick1/graphicsitems/qdeclarativerectangle_p.h
index 862799faa2aa4808a09a654bad987a3c9b12d063..d4a98ba28476bccbae4e81073dcd06861e130922 100644
--- a/src/qtquick1/graphicsitems/qdeclarativerectangle_p.h
+++ b/src/qtquick1/graphicsitems/qdeclarativerectangle_p.h
@@ -53,7 +53,7 @@ QT_BEGIN_HEADER
 QT_BEGIN_NAMESPACE
 
 QT_MODULE(Declarative)
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1Pen : public QObject
+class Q_QTQUICK1_EXPORT QDeclarative1Pen : public QObject
 {
     Q_OBJECT
 
@@ -133,7 +133,7 @@ private:
 };
 
 class QDeclarative1RectanglePrivate;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1Rectangle : public QDeclarativeItem
+class Q_QTQUICK1_EXPORT QDeclarative1Rectangle : public QDeclarativeItem
 {
     Q_OBJECT
 
diff --git a/src/qtquick1/graphicsitems/qdeclarativescalegrid_p_p.h b/src/qtquick1/graphicsitems/qdeclarativescalegrid_p_p.h
index 5a1c298a74046dc5dda901cd9cdddf73385a44b6..27e6b5e5a4b45d3d1cbeaf57625841603c330676 100644
--- a/src/qtquick1/graphicsitems/qdeclarativescalegrid_p_p.h
+++ b/src/qtquick1/graphicsitems/qdeclarativescalegrid_p_p.h
@@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE
 
 QT_MODULE(Declarative)
 
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1ScaleGrid : public QObject
+class Q_QTQUICK1_EXPORT QDeclarative1ScaleGrid : public QObject
 {
     Q_OBJECT
     Q_ENUMS(TileRule)
@@ -95,7 +95,7 @@ private:
     int _bottom;
 };
 
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1GridScaledImage
+class Q_QTQUICK1_EXPORT QDeclarative1GridScaledImage
 {
 public:
     QDeclarative1GridScaledImage();
diff --git a/src/qtquick1/graphicsitems/qdeclarativetext_p.h b/src/qtquick1/graphicsitems/qdeclarativetext_p.h
index 93261fbb2493b10cda0875cfb689ecb8ad1d1ea3..efc90bb7a5f2bca7f86da953c033bbd9e220f618 100644
--- a/src/qtquick1/graphicsitems/qdeclarativetext_p.h
+++ b/src/qtquick1/graphicsitems/qdeclarativetext_p.h
@@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE
 
 QT_MODULE(Declarative)
 class QDeclarative1TextPrivate;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1Text : public QDeclarative1ImplicitSizeItem
+class Q_QTQUICK1_EXPORT QDeclarative1Text : public QDeclarative1ImplicitSizeItem
 {
     Q_OBJECT
     Q_ENUMS(HAlignment)
diff --git a/src/qtquick1/qtquick1.pro b/src/qtquick1/qtquick1.pro
index 66f2c848f21f4acaec785b82b6713c1c3058e20c..d70b532caf9ccb27a650bc0d8df852c2ab047d82 100644
--- a/src/qtquick1/qtquick1.pro
+++ b/src/qtquick1/qtquick1.pro
@@ -8,7 +8,7 @@ CONFIG += dll warn_on
 MODULE_PRI += ../../modules/qt_qtquick1.pri
 
 QT += testlib-private declarative testlib declarative-private core-private gui-private network widgets-private v8-private
-DEFINES += QT_NO_URL_CAST_FROM_STRING
+DEFINES += QT_BUILD_QTQUICK1_LIB QT_NO_URL_CAST_FROM_STRING
 
 load(qt_module_config)
 
@@ -38,5 +38,5 @@ HEADERS += qtquick1_p.h
 SOURCES += qtquick1.cpp
 
 DEFINES += QT_NO_OPENTYPE
-INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/harfbuzz/src
+INCLUDEPATH +=  $$QT.corelib.sources/../src/3rdparty/harfbuzz/src
 
diff --git a/src/qtquick1/qtquick1_p.h b/src/qtquick1/qtquick1_p.h
index 36dfd1ad059bd55cfd73e1ea14420e891204b972..8fb0c1110af5788a50eb63a85a5ca7112695f986 100644
--- a/src/qtquick1/qtquick1_p.h
+++ b/src/qtquick1/qtquick1_p.h
@@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE
 
 QT_MODULE(Declarative)
 
-class Q_DECLARATIVE_EXPORT QDeclarativeQtQuick1Module
+class Q_QTQUICK1_EXPORT QDeclarativeQtQuick1Module
 {
 public:
     enum Module { QtQuick1, Qt47 };
diff --git a/src/qtquick1/util/qdeclarativeanimation_p.h b/src/qtquick1/util/qdeclarativeanimation_p.h
index decb9a339a8e58f8ccd6ba8d385463604786c745..57ba38e1d4529c7af0f6eca591dbadd35b2f9435 100644
--- a/src/qtquick1/util/qdeclarativeanimation_p.h
+++ b/src/qtquick1/util/qdeclarativeanimation_p.h
@@ -64,7 +64,7 @@ QT_MODULE(Declarative)
 class QDeclarativeItem;
 class QDeclarative1AbstractAnimationPrivate;
 class QDeclarative1AnimationGroup;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1AbstractAnimation : public QObject, public QDeclarativePropertyValueSource, public QDeclarativeParserStatus
+class Q_QTQUICK1_EXPORT QDeclarative1AbstractAnimation : public QObject, public QDeclarativePropertyValueSource, public QDeclarativeParserStatus
 {
     Q_OBJECT
     Q_DECLARE_PRIVATE(QDeclarative1AbstractAnimation)
@@ -166,7 +166,7 @@ protected:
 };
 
 class QDeclarative1ScriptActionPrivate;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1ScriptAction : public QDeclarative1AbstractAnimation
+class Q_QTQUICK1_EXPORT QDeclarative1ScriptAction : public QDeclarative1AbstractAnimation
 {
     Q_OBJECT
     Q_DECLARE_PRIVATE(QDeclarative1ScriptAction)
diff --git a/src/qtquick1/util/qdeclarativeapplication_p.h b/src/qtquick1/util/qdeclarativeapplication_p.h
index 4a588c2940c68d70f1ac3ca16467382ccd933582..d82578e490864b561ff454edd9ddf1c6d1cdca44 100644
--- a/src/qtquick1/util/qdeclarativeapplication_p.h
+++ b/src/qtquick1/util/qdeclarativeapplication_p.h
@@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE
 QT_MODULE(Declarative)
 
 class QDeclarative1ApplicationPrivate;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1Application : public QObject
+class Q_QTQUICK1_EXPORT QDeclarative1Application : public QObject
 {
     Q_OBJECT
     Q_PROPERTY(bool active READ active NOTIFY activeChanged)
diff --git a/src/qtquick1/util/qdeclarativebehavior_p.h b/src/qtquick1/util/qdeclarativebehavior_p.h
index 76792bc4388c50ea54a9725d2acbfb502c8c70ed..cc026ef82d4665f316f2027cb8c79a1268b2b7b2 100644
--- a/src/qtquick1/util/qdeclarativebehavior_p.h
+++ b/src/qtquick1/util/qdeclarativebehavior_p.h
@@ -57,7 +57,7 @@ QT_MODULE(Declarative)
 
 class QDeclarative1AbstractAnimation;
 class QDeclarative1BehaviorPrivate;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1Behavior : public QObject, public QDeclarativePropertyValueInterceptor
+class Q_QTQUICK1_EXPORT QDeclarative1Behavior : public QObject, public QDeclarativePropertyValueInterceptor
 {
     Q_OBJECT
     Q_DECLARE_PRIVATE(QDeclarative1Behavior)
diff --git a/src/qtquick1/util/qdeclarativeopenmetaobject_p.h b/src/qtquick1/util/qdeclarativeopenmetaobject_p.h
index 3ee6230e7179e8ccbe17d00acb8499f32a0fe15a..5d63387de3b1d4b26082b87c376a83e29127ccd6 100644
--- a/src/qtquick1/util/qdeclarativeopenmetaobject_p.h
+++ b/src/qtquick1/util/qdeclarativeopenmetaobject_p.h
@@ -59,7 +59,7 @@ class QMetaPropertyBuilder;
 QT_MODULE(Declarative)
 
 class QDeclarative1OpenMetaObjectTypePrivate;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1OpenMetaObjectType : public QDeclarativeRefCount
+class Q_QTQUICK1_EXPORT QDeclarative1OpenMetaObjectType : public QDeclarativeRefCount
 {
 public:
     QDeclarative1OpenMetaObjectType(const QMetaObject *base, QDeclarativeEngine *engine);
@@ -80,7 +80,7 @@ private:
 };
 
 class QDeclarative1OpenMetaObjectPrivate;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1OpenMetaObject : public QAbstractDynamicMetaObject
+class Q_QTQUICK1_EXPORT QDeclarative1OpenMetaObject : public QAbstractDynamicMetaObject
 {
 public:
     QDeclarative1OpenMetaObject(QObject *, bool = true);
diff --git a/src/qtquick1/util/qdeclarativepixmapcache_p.h b/src/qtquick1/util/qdeclarativepixmapcache_p.h
index f0a7770be05d65ede3778cbeb6e01d9b10e97ee9..9af156a05c42fe7d080a3f294b616e83fce8fe8f 100644
--- a/src/qtquick1/util/qdeclarativepixmapcache_p.h
+++ b/src/qtquick1/util/qdeclarativepixmapcache_p.h
@@ -56,7 +56,7 @@ class QDeclarativeEngine;
 QT_MODULE(Declarative)
 
 class QDeclarative1PixmapData;
-class Q_DECLARATIVE_EXPORT QDeclarative1Pixmap
+class Q_QTQUICK1_EXPORT QDeclarative1Pixmap
 {
     Q_DECLARE_TR_FUNCTIONS(QDeclarative1Pixmap)
 public:
diff --git a/src/qtquick1/util/qdeclarativepropertychanges_p.h b/src/qtquick1/util/qdeclarativepropertychanges_p.h
index 30609d3c2d619c835f57ff8e1596e7eaf10e6832..b3aed087e372a9483f9ac670c047ec3e7f414a7a 100644
--- a/src/qtquick1/util/qdeclarativepropertychanges_p.h
+++ b/src/qtquick1/util/qdeclarativepropertychanges_p.h
@@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE
 QT_MODULE(Declarative)
     
 class QDeclarative1PropertyChangesPrivate;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1PropertyChanges : public QDeclarative1StateOperation
+class Q_QTQUICK1_EXPORT QDeclarative1PropertyChanges : public QDeclarative1StateOperation
 {
     Q_OBJECT
     Q_DECLARE_PRIVATE(QDeclarative1PropertyChanges)
diff --git a/src/qtquick1/util/qdeclarativestate_p.h b/src/qtquick1/util/qdeclarativestate_p.h
index fcfa2efeadc31b415fa2b988b8ece5e7728c2af0..90a67e9f26994f80fa9ee7c4bcc966651e259f0d 100644
--- a/src/qtquick1/util/qdeclarativestate_p.h
+++ b/src/qtquick1/util/qdeclarativestate_p.h
@@ -59,7 +59,7 @@ class QDeclarativeExpression;
 QT_MODULE(Declarative)
 
 class QDeclarative1ActionEvent;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1Action
+class Q_QTQUICK1_EXPORT QDeclarative1Action
 {
 public:
     QDeclarative1Action();
@@ -116,7 +116,7 @@ public:
 class QDeclarative1StateGroup;
 class QDeclarative1State;
 class QDeclarative1StateOperationPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarative1StateOperation : public QObject
+class Q_QTQUICK1_EXPORT QDeclarative1StateOperation : public QObject
 {
     Q_OBJECT
 public:
@@ -141,7 +141,7 @@ typedef QDeclarative1StateOperation::ActionList QDeclarative1StateActions;
 
 class QDeclarative1Transition;
 class QDeclarative1StatePrivate;
-class Q_DECLARATIVE_EXPORT QDeclarative1State : public QObject
+class Q_QTQUICK1_EXPORT QDeclarative1State : public QObject
 {
     Q_OBJECT
 
diff --git a/src/qtquick1/util/qdeclarativestategroup_p.h b/src/qtquick1/util/qdeclarativestategroup_p.h
index e7831d4cca439f946e198a8cdc6b009731352472..bef48f4993fe43578bc41a6edc0863569ac02fbc 100644
--- a/src/qtquick1/util/qdeclarativestategroup_p.h
+++ b/src/qtquick1/util/qdeclarativestategroup_p.h
@@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE
 QT_MODULE(Declarative)
 
 class QDeclarative1StateGroupPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarative1StateGroup : public QObject, public QDeclarativeParserStatus
+class Q_QTQUICK1_EXPORT QDeclarative1StateGroup : public QObject, public QDeclarativeParserStatus
 {
     Q_OBJECT
     Q_INTERFACES(QDeclarativeParserStatus)
diff --git a/src/qtquick1/util/qdeclarativetimer_p.h b/src/qtquick1/util/qdeclarativetimer_p.h
index 5465773280bdf62db535625034742da19ea5b45f..c62de320b4bef6385e6d0013299f4e46e7da7a9a 100644
--- a/src/qtquick1/util/qdeclarativetimer_p.h
+++ b/src/qtquick1/util/qdeclarativetimer_p.h
@@ -56,7 +56,7 @@ QT_BEGIN_NAMESPACE
 QT_MODULE(Declarative)
 
 class QDeclarative1TimerPrivate;
-class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarative1Timer : public QObject, public QDeclarativeParserStatus
+class Q_QTQUICK1_EXPORT QDeclarative1Timer : public QObject, public QDeclarativeParserStatus
 {
     Q_OBJECT
     Q_DECLARE_PRIVATE(QDeclarative1Timer)
diff --git a/src/qtquick1/util/qdeclarativetransition_p.h b/src/qtquick1/util/qdeclarativetransition_p.h
index f3f7afae6dbf39afc79c8852dd35fdb6897fe89b..90fc909cf5ed0dab30362407df23a6334b031139 100644
--- a/src/qtquick1/util/qdeclarativetransition_p.h
+++ b/src/qtquick1/util/qdeclarativetransition_p.h
@@ -57,7 +57,7 @@ QT_MODULE(Declarative)
 class QDeclarative1AbstractAnimation;
 class QDeclarative1TransitionPrivate;
 class QDeclarative1TransitionManager;
-class Q_DECLARATIVE_EXPORT QDeclarative1Transition : public QObject
+class Q_QTQUICK1_EXPORT QDeclarative1Transition : public QObject
 {
     Q_OBJECT
     Q_DECLARE_PRIVATE(QDeclarative1Transition)
diff --git a/src/qtquick1/util/qdeclarativeview.h b/src/qtquick1/util/qdeclarativeview.h
index b655d2830fa0e3865f3aaee5fa283d4237c2c160..96cb4ed2f62b50df553b3c4bdf363c942f833605 100644
--- a/src/qtquick1/util/qdeclarativeview.h
+++ b/src/qtquick1/util/qdeclarativeview.h
@@ -60,7 +60,7 @@ class QDeclarativeError;
 QT_MODULE(Declarative)
 
 class QDeclarativeViewPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeView : public QGraphicsView
+class Q_QTQUICK1_EXPORT QDeclarativeView : public QGraphicsView
 {
     Q_OBJECT
     Q_PROPERTY(ResizeMode resizeMode READ resizeMode WRITE setResizeMode)
diff --git a/src/src.pro b/src/src.pro
index f214763f52baf76f804c4c659e9fdf104531ea51..baebcaa97f8f23f510d8101b2e5f24cd2d0f1ffa 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -6,4 +6,4 @@ SUBDIRS += declarative qtquick1 plugins
 # contains(QT_CONFIG, qmltest): SUBDIRS += qmltest
 
 SUBDIRS += imports
-QT += script widgets widgets-private
+
diff --git a/tests/auto/qtquick1/qdeclarativeviewer/qdeclarativeviewer.pro b/tests/auto/qtquick1/qdeclarativeviewer/qdeclarativeviewer.pro
index 67be35f5105d8ebb22b52452ac386287295a8b33..afccbcc6df84eac470265c34bda42ce2a728f78b 100644
--- a/tests/auto/qtquick1/qdeclarativeviewer/qdeclarativeviewer.pro
+++ b/tests/auto/qtquick1/qdeclarativeviewer/qdeclarativeviewer.pro
@@ -6,9 +6,8 @@ include(../../../../tools/qmlviewer/qml.pri)
 
 SOURCES += tst_qdeclarativeviewer.cpp
 
-include(../symbianlibs.pri)
-
 symbian: {
+    include(../symbianlibs.pri)
     importFiles.files = data
     importFiles.path = .
     DEPLOYMENT += importFiles
diff --git a/tools/qmlplugindump/qmlplugindump.pro b/tools/qmlplugindump/qmlplugindump.pro
index 49134a05ab7f77bd6114d03b89698163bbd9309b..7db7722c62631d90e0307b5e9b84bf898bb6595d 100644
--- a/tools/qmlplugindump/qmlplugindump.pro
+++ b/tools/qmlplugindump/qmlplugindump.pro
@@ -2,7 +2,7 @@ TEMPLATE = app
 CONFIG += qt uic console
 DESTDIR = $$QT.declarative.bins
 
-QT += declarative declarative-private qtquick1 core-private
+QT += declarative declarative-private qtquick1 core-private widgets
 
 TARGET = qmlplugindump
 
diff --git a/tools/qmlscene/qmlscene.pro b/tools/qmlscene/qmlscene.pro
index 0e8ca9b6c960844cec4055d397cf6e740b145051..66c2cda035cbfb07df261e9c134f739e0bedf646 100644
--- a/tools/qmlscene/qmlscene.pro
+++ b/tools/qmlscene/qmlscene.pro
@@ -2,7 +2,7 @@ TEMPLATE = app
 TARGET = qmlscene
 DESTDIR= $$QT.declarative.bins
 
-QT += declarative declarative-private qtquick1
+QT += declarative declarative-private qtquick1 widgets
 
 target.path = $$[QT_INSTALL_BINS]
 INSTALLS += target