From 84a342eea111f0a1da8fd0c417362aae2b851e56 Mon Sep 17 00:00:00 2001
From: Tasuku Suzuki <tasuku.suzuki@nokia.com>
Date: Mon, 21 Mar 2011 15:13:16 +0100
Subject: Fix compilation with QT_NO_

Merge-request: 1132
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
---
 src/corelib/plugin/qelfparser_p.cpp                |  2 +
 src/corelib/plugin/qelfparser_p.h                  |  2 +
 src/declarative/qml/qdeclarativeimport.cpp         |  8 ++++
 src/declarative/qml/qdeclarativesqldatabase.cpp    |  6 +++
 src/gui/image/qpnghandler.cpp                      |  2 +
 src/gui/itemviews/qabstractitemview.cpp            |  5 +++
 src/gui/itemviews/qabstractitemview.h              |  2 +
 src/gui/kernel/qwidget.cpp                         |  5 ++-
 src/gui/util/qflickgesture.cpp                     | 44 ++++++++++++++++++++--
 src/gui/util/qscroller.cpp                         | 33 +++++++++++++++-
 src/gui/util/qscroller.h                           |  6 +++
 src/gui/util/qscroller_p.h                         |  9 ++++-
 src/gui/widgets/qabstractscrollarea.cpp            |  2 +
 src/gui/widgets/qcombobox.cpp                      |  2 +
 src/gui/widgets/qmainwindowlayout.cpp              |  4 ++
 src/gui/widgets/qmainwindowlayout_p.h              |  4 +-
 src/network/socket/qabstractsocketengine_p.h       |  6 ++-
 src/network/socket/qhttpsocketengine.cpp           |  2 +
 src/network/socket/qhttpsocketengine_p.h           |  2 +
 src/network/socket/qnativesocketengine.cpp         |  5 ++-
 src/network/socket/qnativesocketengine_p.h         |  6 +++
 src/network/socket/qnativesocketengine_unix.cpp    |  3 ++
 src/network/socket/qsocks5socketengine.cpp         |  2 +
 src/network/socket/qsocks5socketengine_p.h         |  2 +
 src/network/socket/qudpsocket.cpp                  |  4 ++
 src/network/socket/qudpsocket.h                    |  2 +
 src/plugins/bearer/connman/qofonoservice_linux.cpp |  5 +++
 src/plugins/bearer/connman/qofonoservice_linux_p.h |  6 +++
 src/script/api/qscriptengine.cpp                   |  6 +++
 29 files changed, 176 insertions(+), 11 deletions(-)

diff --git a/src/corelib/plugin/qelfparser_p.cpp b/src/corelib/plugin/qelfparser_p.cpp
index fc5b0d9..198c6d7 100644
--- a/src/corelib/plugin/qelfparser_p.cpp
+++ b/src/corelib/plugin/qelfparser_p.cpp
@@ -41,6 +41,7 @@
 
 #include "qelfparser_p.h"
 
+#ifndef QT_NO_LIBRARY
 #if defined (Q_OF_ELF) && defined(Q_CC_GNU)
 
 #include "qlibrary_p.h"
@@ -236,3 +237,4 @@ int QElfParser::parse(const char *dataStart, ulong fdlen, const QString &library
 QT_END_NAMESPACE
 
 #endif // defined(Q_OF_ELF) && defined(Q_CC_GNU)
+#endif // QT_NO_LIBRARY
diff --git a/src/corelib/plugin/qelfparser_p.h b/src/corelib/plugin/qelfparser_p.h
index 163d2c1..3ccce10 100644
--- a/src/corelib/plugin/qelfparser_p.h
+++ b/src/corelib/plugin/qelfparser_p.h
@@ -56,6 +56,7 @@
 #include <qendian.h>
 #include <qglobal.h>
 
+#ifndef QT_NO_LIBRARY
 #if defined (Q_OF_ELF) && defined(Q_CC_GNU)
 
 QT_BEGIN_NAMESPACE
@@ -102,5 +103,6 @@ public:
 QT_END_NAMESPACE
 
 #endif // defined(Q_OF_ELF) && defined(Q_CC_GNU)
+#endif // QT_NO_LIBRARY
 
 #endif // QELFPARSER_P_H
diff --git a/src/declarative/qml/qdeclarativeimport.cpp b/src/declarative/qml/qdeclarativeimport.cpp
index 7a1234d..e8d593f 100644
--- a/src/declarative/qml/qdeclarativeimport.cpp
+++ b/src/declarative/qml/qdeclarativeimport.cpp
@@ -722,6 +722,7 @@ QDeclarativeImportDatabase::QDeclarativeImportDatabase(QDeclarativeEngine *e)
 
     // Search order is applicationDirPath(), $QML_IMPORT_PATH, QLibraryInfo::ImportsPath
 
+#ifndef QT_NO_SETTINGS
     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::ImportsPath);
 
 #if defined(Q_OS_SYMBIAN)
@@ -748,6 +749,9 @@ QDeclarativeImportDatabase::QDeclarativeImportDatabase(QDeclarativeEngine *e)
 #else
     addImportPath(installImportsPath);
 #endif
+
+#endif // QT_NO_SETTINGS
+
     // env import paths
     QByteArray envImportPath = qgetenv("QML_IMPORT_PATH");
     if (!envImportPath.isEmpty()) {
@@ -1014,6 +1018,7 @@ bool QDeclarativeImportDatabase::importPlugin(const QString &filePath, const QSt
     if (qmlImportTrace())
         qDebug().nospace() << "QDeclarativeImportDatabase::importPlugin: " << uri << " from " << filePath;
 
+#ifndef QT_NO_LIBRARY
     QFileInfo fileInfo(filePath);
     const QString absoluteFilePath = fileInfo.absoluteFilePath();
 
@@ -1065,6 +1070,9 @@ bool QDeclarativeImportDatabase::importPlugin(const QString &filePath, const QSt
     }
 
     return true;
+#else
+    return false;
+#endif
 }
 
 
diff --git a/src/declarative/qml/qdeclarativesqldatabase.cpp b/src/declarative/qml/qdeclarativesqldatabase.cpp
index 207fb57..4ed2bba 100644
--- a/src/declarative/qml/qdeclarativesqldatabase.cpp
+++ b/src/declarative/qml/qdeclarativesqldatabase.cpp
@@ -309,8 +309,10 @@ static QScriptValue qmlsqldatabase_change_version(QScriptContext *context, QScri
 
     if (ok) {
         context->thisObject().setProperty(QLatin1String("version"), to_version, QScriptValue::ReadOnly);
+#ifndef QT_NO_SETTINGS
         QSettings ini(qmlsqldatabase_databaseFile(db.connectionName(),engine) + QLatin1String(".ini"), QSettings::IniFormat);
         ini.setValue(QLatin1String("Version"), to_version);
+#endif
     }
 
     return engine->undefinedValue();
@@ -355,6 +357,7 @@ static QScriptValue qmlsqldatabase_read_transaction(QScriptContext *context, QSc
 */
 static QScriptValue qmlsqldatabase_open_sync(QScriptContext *context, QScriptEngine *engine)
 {
+#ifndef QT_NO_SETTINGS
     qmlsqldatabase_initDatabasesPath(engine);
 
     QSqlDatabase database;
@@ -418,6 +421,9 @@ static QScriptValue qmlsqldatabase_open_sync(QScriptContext *context, QScriptEng
     }
 
     return result;
+#else
+    return engine->undefinedValue();
+#endif // QT_NO_SETTINGS
 }
 
 void qt_add_qmlsqldatabase(QScriptEngine *engine)
diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp
index a9aad51..7e0355a 100644
--- a/src/gui/image/qpnghandler.cpp
+++ b/src/gui/image/qpnghandler.cpp
@@ -492,8 +492,10 @@ bool Q_INTERNAL_WIN_NO_THROW QPngHandlerPrivate::readPngImage(QImage *outImage)
     outImage->setDotsPerMeterX(png_get_x_pixels_per_meter(png_ptr,info_ptr));
     outImage->setDotsPerMeterY(png_get_y_pixels_per_meter(png_ptr,info_ptr));
 
+#ifndef QT_NO_IMAGE_TEXT
     for (int i = 0; i < readTexts.size()-1; i+=2)
         outImage->setText(readTexts.at(i), readTexts.at(i+1));
+#endif
 
     state = ReadingEnd;
     png_read_end(png_ptr, end_info);
diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp
index 291ec6e..d671496 100644
--- a/src/gui/itemviews/qabstractitemview.cpp
+++ b/src/gui/itemviews/qabstractitemview.cpp
@@ -194,6 +194,8 @@ void QAbstractItemViewPrivate::checkMouseMove(const QPersistentModelIndex &index
     }
 }
 
+#ifndef QT_NO_GESTURES
+
 // stores and restores the selection and current item when flicking
 void QAbstractItemViewPrivate::_q_scrollerStateChanged()
 {
@@ -225,6 +227,7 @@ void QAbstractItemViewPrivate::_q_scrollerStateChanged()
     }
 }
 
+#endif // QT_NO_GESTURES
 
 /*!
     \class QAbstractItemView
@@ -1661,7 +1664,9 @@ bool QAbstractItemView::viewportEvent(QEvent *event)
         break;
     case QEvent::ScrollPrepare:
         executeDelayedItemsLayout();
+#ifndef QT_NO_GESTURES
         connect(QScroller::scroller(d->viewport), SIGNAL(stateChanged(QScroller::State)), this, SLOT(_q_scrollerStateChanged()), Qt::UniqueConnection);
+#endif
         break;
 
     default:
diff --git a/src/gui/itemviews/qabstractitemview.h b/src/gui/itemviews/qabstractitemview.h
index 20cfb87..f11f209 100644
--- a/src/gui/itemviews/qabstractitemview.h
+++ b/src/gui/itemviews/qabstractitemview.h
@@ -359,7 +359,9 @@ private:
     Q_PRIVATE_SLOT(d_func(), void _q_modelDestroyed())
     Q_PRIVATE_SLOT(d_func(), void _q_layoutChanged())
     Q_PRIVATE_SLOT(d_func(), void _q_headerDataChanged())
+#ifndef QT_NO_GESTURES
     Q_PRIVATE_SLOT(d_func(), void _q_scrollerStateChanged())
+#endif
 
     friend class QTreeViewPrivate; // needed to compile with MSVC
     friend class QAccessibleItemRow;
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index adb5fe1..159a2ad 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -366,9 +366,12 @@ QWindowSurface *QWidgetPrivate::createDefaultWindowSurface()
     Q_Q(QWidget);
 
     QWindowSurface *surface;
+#ifndef QT_NO_PROPERTIES
     if (q->property("_q_DummyWindowSurface").toBool()) {
         surface = new QDummyWindowSurface(q);
-    } else {
+    } else
+#endif
+    {
         if (QApplicationPrivate::graphicsSystem())
             surface = QApplicationPrivate::graphicsSystem()->createWindowSurface(q);
         else
diff --git a/src/gui/util/qflickgesture.cpp b/src/gui/util/qflickgesture.cpp
index 8baca07..fdd2a95 100644
--- a/src/gui/util/qflickgesture.cpp
+++ b/src/gui/util/qflickgesture.cpp
@@ -75,6 +75,7 @@ static QMouseEvent *copyMouseEvent(QEvent *e)
         QMouseEvent *me = static_cast<QMouseEvent *>(e);
         return new QMouseEvent(me->type(), QPoint(0, 0), me->globalPos(), me->button(), me->buttons(), me->modifiers());
     }
+#ifndef QT_NO_GRAPHICSVIEW
     case QEvent::GraphicsSceneMousePress:
     case QEvent::GraphicsSceneMouseRelease:
     case QEvent::GraphicsSceneMouseMove: {
@@ -103,6 +104,7 @@ static QMouseEvent *copyMouseEvent(QEvent *e)
         return copy;
 #endif
     }
+#endif // QT_NO_GRAPHICSVIEW
     default:
         return 0;
     }
@@ -265,6 +267,7 @@ protected:
         if (mouseTarget) {
             sendingEvent = true;
 
+#ifndef QT_NO_GRAPHICSVIEW
             QGraphicsItem *grabber = 0;
             if (mouseTarget->parentWidget()) {
                 if (QGraphicsView *gv = qobject_cast<QGraphicsView *>(mouseTarget->parentWidget())) {
@@ -281,12 +284,14 @@ protected:
                 qFGDebug() << "QFG: ungrabbing" << grabber;
                 grabber->ungrabMouse();
             }
+#endif // QT_NO_GRAPHICSVIEW
 
             if (me) {
                 QMouseEvent copy(me->type(), mouseTarget->mapFromGlobal(me->globalPos()), me->globalPos(), me->button(), me->buttons(), me->modifiers());
                 qt_sendSpontaneousEvent(mouseTarget, &copy);
             }
 
+#ifndef QT_NO_GRAPHICSVIEW
             if (grabber && (flags & RegrabMouseAfterwards)) {
                 // GraphicsView Mouse Handling Workaround #2:
                 // we need to re-grab the mouse after sending a faked mouse
@@ -296,6 +301,7 @@ protected:
                 qFGDebug() << "QFG: re-grabbing" << grabber;
                 grabber->grabMouse();
             }
+#endif
             sendingEvent = false;
         }
     }
@@ -357,10 +363,12 @@ QFlickGestureRecognizer::QFlickGestureRecognizer(Qt::MouseButton button)
  */
 QGesture *QFlickGestureRecognizer::create(QObject *target)
 {
+#ifndef QT_NO_GRAPHICSVIEW
     QGraphicsObject *go = qobject_cast<QGraphicsObject*>(target);
     if (go && button == Qt::NoButton) {
         go->setAcceptTouchEvents(true);
     }
+#endif
     return new QFlickGesture(target, button);
 }
 
@@ -389,7 +397,9 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
         return Ignore; // nothing to do without a scroller?
 
     QWidget *receiverWidget = qobject_cast<QWidget *>(d->receiver);
+#ifndef QT_NO_GRAPHICSVIEW
     QGraphicsObject *receiverGraphicsObject = qobject_cast<QGraphicsObject *>(d->receiver);
+#endif
 
     // this is only set for events that we inject into the event loop via sendEvent()
     if (PressDelayHandler::instance()->shouldEventBeIgnored(event)) {
@@ -398,7 +408,9 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
     }
 
     const QMouseEvent *me = 0;
+#ifndef QT_NO_GRAPHICSVIEW
     const QGraphicsSceneMouseEvent *gsme = 0;
+#endif
     const QTouchEvent *te = 0;
     QPoint globalPos;
 
@@ -415,6 +427,7 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
             globalPos = me->globalPos();
         }
         break;
+#ifndef QT_NO_GRAPHICSVIEW
     case QEvent::GraphicsSceneMousePress:
     case QEvent::GraphicsSceneMouseRelease:
     case QEvent::GraphicsSceneMouseMove:
@@ -425,6 +438,7 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
             globalPos = gsme->screenPos();
         }
         break;
+#endif
     case QEvent::TouchBegin:
     case QEvent::TouchEnd:
     case QEvent::TouchUpdate:
@@ -466,7 +480,11 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
         break;
     }
 
-    if (!me && !gsme && !te) // Neither mouse nor touch
+    if (!me
+#ifndef QT_NO_GRAPHICSVIEW
+        && !gsme
+#endif
+        && !te) // Neither mouse nor touch
         return Ignore;
 
     // get the current pointer position in local coordinates.
@@ -502,6 +520,7 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
         }
         break;
 
+#ifndef QT_NO_GRAPHICSVIEW
     case QEvent::GraphicsSceneMousePress:
         if (gsme && gsme->button() == button && gsme->buttons() == button) {
             point = gsme->scenePos();
@@ -529,6 +548,7 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
             inputType = QScroller::InputMove;
         }
         break;
+#endif
 
     case QEvent::TouchBegin:
         inputType = QScroller::InputPress;
@@ -568,12 +588,14 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
 
                 if (QWidget *w = qobject_cast<QWidget *>(as->target())) {
                     scrollerRegion = QRect(w->mapToGlobal(QPoint(0, 0)), w->size());
+#ifndef QT_NO_GRAPHICSVIEW
                 } else if (QGraphicsObject *go = qobject_cast<QGraphicsObject *>(as->target())) {
                     if (go->scene() && !go->scene()->views().isEmpty()) {
                         foreach (QGraphicsView *gv, go->scene()->views())
                             scrollerRegion |= gv->mapFromScene(go->mapToScene(go->boundingRect()))
                                               .translated(gv->mapToGlobal(QPoint(0, 0)));
                     }
+#endif
                 }
                 // active scrollers always have priority
                 if (scrollerRegion.contains(globalPos))
@@ -588,8 +610,10 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
     if (inputType) {
         if (QWidget *w = qobject_cast<QWidget *>(d->receiver))
             point = w->mapFromGlobal(point.toPoint());
+#ifndef QT_NO_GRAPHICSVIEW
         else if (QGraphicsObject *go = qobject_cast<QGraphicsObject *>(d->receiver))
             point = go->mapFromScene(point);
+#endif
 
         // inform the scroller about the new event
         scroller->handleInput(inputType, point, monotonicTimer.elapsed());
@@ -602,7 +626,11 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
 
     // Consume all mouse events while dragging or scrolling to avoid nasty
     // side effects with Qt's standard widgets.
-    if ((me || gsme) && scrollerIsActive)
+    if ((me
+#ifndef QT_NO_GRAPHICSVIEW
+         || gsme
+#endif
+         ) && scrollerIsActive)
         result |= ConsumeEventHint;
 
     // The only problem with this approach is that we consume the
@@ -610,7 +638,11 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
     // have to fake a MouseRelease "somewhere" to not mess with the internal
     // states of Qt's widgets (a QPushButton would stay in 'pressed' state
     // forever, if it doesn't receive a MouseRelease).
-    if (me || gsme) {
+    if (me
+#ifndef QT_NO_GRAPHICSVIEW
+        || gsme
+#endif
+        ) {
         if (!scrollerWasDragging && !scrollerWasScrolling && scrollerIsActive)
             PressDelayHandler::instance()->scrollerBecameActive();
         else if (scrollerWasScrolling && (scroller->state() == QScroller::Dragging || scroller->state() == QScroller::Inactive))
@@ -622,7 +654,9 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
     } else {
         switch (event->type()) {
         case QEvent::MouseButtonPress:
+#ifndef QT_NO_GRAPHICSVIEW
         case QEvent::GraphicsSceneMousePress:
+#endif
             if (scroller->state() == QScroller::Pressed) {
                 int pressDelay = int(1000 * scroller->scrollerProperties().scrollMetric(QScrollerProperties::MousePressEventDelay).toReal());
                 if (pressDelay > 0) {
@@ -639,7 +673,9 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
             break;
 
         case QEvent::MouseMove:
+#ifndef QT_NO_GRAPHICSVIEW
         case QEvent::GraphicsSceneMouseMove:
+#endif
             if (PressDelayHandler::instance()->isDelaying())
                 result |= ConsumeEventHint;
             // fall through
@@ -647,7 +683,9 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
             result |= scrollerIsActive ? TriggerGesture : Ignore;
             break;
 
+#ifndef QT_NO_GRAPHICSVIEW
         case QEvent::GraphicsSceneMouseRelease:
+#endif
         case QEvent::MouseButtonRelease:
             if (PressDelayHandler::instance()->released(event, scrollerWasDragging || scrollerWasScrolling, scrollerIsActive))
                 result |= ConsumeEventHint;
diff --git a/src/gui/util/qscroller.cpp b/src/gui/util/qscroller.cpp
index ac5607c..9c2d24d 100644
--- a/src/gui/util/qscroller.cpp
+++ b/src/gui/util/qscroller.cpp
@@ -192,6 +192,7 @@ static qreal progressForValue(const QEasingCurve &curve, qreal value)
 }
 
 
+#ifndef QT_NO_ANIMATION
 class QScrollTimer : public QAbstractAnimation
 {
 public:
@@ -230,6 +231,7 @@ private:
     bool ignoreUpdate;
     int skip;
 };
+#endif // QT_NO_ANIMATION
 
 /*!
     \class QScroller
@@ -376,6 +378,7 @@ void QScroller::setScrollerProperties(const QScrollerProperties &sp)
     }
 }
 
+#ifndef QT_NO_GESTURES
 
 /*!
     Registers a custom scroll gesture recognizer, grabs it for the \a
@@ -426,11 +429,12 @@ Qt::GestureType QScroller::grabGesture(QObject *target, ScrollerGestureType scro
         widget->grabGesture(sp->recognizerType);
         if (scrollGestureType == TouchGesture)
             widget->setAttribute(Qt::WA_AcceptTouchEvents);
-
+#ifndef QT_NO_GRAPHICSVIEW
     } else if (QGraphicsObject *go = qobject_cast<QGraphicsObject*>(target)) {
         if (scrollGestureType == TouchGesture)
             go->setAcceptTouchEvents(true);
         go->grabGesture(sp->recognizerType);
+#endif // QT_NO_GRAPHICSVIEW
     }
     return sp->recognizerType;
 }
@@ -469,9 +473,10 @@ void QScroller::ungrabGesture(QObject *target)
     if (target->isWidgetType()) {
         QWidget *widget = static_cast<QWidget *>(target);
         widget->ungrabGesture(sp->recognizerType);
-
+#ifndef QT_NO_GRAPHICSVIEW
     } else if (QGraphicsObject *go = qobject_cast<QGraphicsObject*>(target)) {
         go->ungrabGesture(sp->recognizerType);
+#endif
     }
 
     QGestureRecognizer::unregisterRecognizer(sp->recognizerType);
@@ -479,6 +484,8 @@ void QScroller::ungrabGesture(QObject *target)
     sp->recognizer = 0;
 }
 
+#endif // QT_NO_GESTURES
+
 /*!
     \internal
 */
@@ -496,9 +503,11 @@ QScroller::QScroller(QObject *target)
 QScroller::~QScroller()
 {
     Q_D(QScroller);
+#ifndef QT_NO_GESTURES
     QGestureRecognizer::unregisterRecognizer(d->recognizerType);
     // do not delete the recognizer. The QGestureManager is doing this.
     d->recognizer = 0;
+#endif
     QScrollerPrivate::allScrollers.remove(d->target);
     QScrollerPrivate::activeScrollers.remove(this);
 
@@ -562,6 +571,7 @@ QPointF QScroller::pixelPerMeter() const
     Q_D(const QScroller);
     QPointF ppm = d->pixelPerMeter;
 
+#ifndef QT_NO_GRAPHICSVIEW
     if (QGraphicsObject *go = qobject_cast<QGraphicsObject *>(d->target)) {
         QTransform viewtr;
         //TODO: the first view isn't really correct - maybe use an additional field in the prepare event?
@@ -576,6 +586,7 @@ QPointF QScroller::pixelPerMeter() const
             ppm.ry() /= QLineF(p0, py).length();
         }
     }
+#endif // QT_NO_GRAPHICSVIEW
     return ppm;
 }
 
@@ -869,8 +880,10 @@ void QScroller::setSnapPositionsY(qreal first, qreal interval)
 
 QScrollerPrivate::QScrollerPrivate(QScroller *q, QObject *_target)
     : target(_target)
+#ifndef QT_NO_GESTURES
     , recognizer(0)
     , recognizerType(Qt::CustomGesture)
+#endif
     , state(QScroller::Inactive)
     , firstScroll(true)
     , pressTimestamp(0)
@@ -879,7 +892,9 @@ QScrollerPrivate::QScrollerPrivate(QScroller *q, QObject *_target)
     , snapIntervalX(0.0)
     , snapFirstY(-1.0)
     , snapIntervalY(0.0)
+#ifndef QT_NO_ANIMATION
     , scrollTimer(new QScrollTimer(this))
+#endif
     , q_ptr(q)
 {
     connect(target, SIGNAL(destroyed(QObject*)), this, SLOT(targetDestroyed()));
@@ -919,7 +934,9 @@ const char *QScrollerPrivate::inputName(QScroller::Input input)
 
 void QScrollerPrivate::targetDestroyed()
 {
+#ifndef QT_NO_ANIMATION
     scrollTimer->stop();
+#endif
     delete q_ptr;
 }
 
@@ -945,7 +962,9 @@ void QScrollerPrivate::timerTick()
         }
     }
 
+#ifndef QT_NO_ANIMATION
     scrollTimer->stop();
+#endif
 }
 
 /*!
@@ -1436,11 +1455,13 @@ bool QScrollerPrivate::prepareScrolling(const QPointF &position)
 
         if (QWidget *w = qobject_cast<QWidget *>(target))
             setDpiFromWidget(w);
+#ifndef QT_NO_GRAPHICSVIEW
         if (QGraphicsObject *go = qobject_cast<QGraphicsObject *>(target)) {
             //TODO: the first view isn't really correct - maybe use an additional field in the prepare event?
             if (go->scene() && !go->scene()->views().isEmpty())
                 setDpiFromWidget(go->scene()->views().first());
         }
+#endif
 
         if (state == QScroller::Scrolling) {
             recalcScrollingSegments();
@@ -1690,7 +1711,9 @@ void QScrollerPrivate::setState(QScroller::State newstate)
 
     switch (newstate) {
     case QScroller::Inactive:
+#ifndef QT_NO_ANIMATION
         scrollTimer->stop();
+#endif
 
         // send the last scroll event (but only after the current state change was finished)
         if (!firstScroll)
@@ -1700,7 +1723,9 @@ void QScrollerPrivate::setState(QScroller::State newstate)
         break;
 
     case QScroller::Pressed:
+#ifndef QT_NO_ANIMATION
         scrollTimer->stop();
+#endif
 
         oldVelocity = releaseVelocity;
         releaseVelocity = QPointF(0, 0);
@@ -1708,12 +1733,16 @@ void QScrollerPrivate::setState(QScroller::State newstate)
 
     case QScroller::Dragging:
         dragDistance = QPointF(0, 0);
+#ifndef QT_NO_ANIMATION
         if (state == QScroller::Pressed)
             scrollTimer->start();
+#endif
         break;
 
     case QScroller::Scrolling:
+#ifndef QT_NO_ANIMATION
         scrollTimer->start();
+#endif
         break;
     }
 
diff --git a/src/gui/util/qscroller.h b/src/gui/util/qscroller.h
index a026be4..1599c7d 100644
--- a/src/gui/util/qscroller.h
+++ b/src/gui/util/qscroller.h
@@ -55,8 +55,10 @@ QT_MODULE(Gui)
 class QWidget;
 class QScrollerPrivate;
 class QScrollerProperties;
+#ifndef QT_NO_GESTURES
 class QFlickGestureRecognizer;
 class QMouseFlickGestureRecognizer;
+#endif
 
 class Q_GUI_EXPORT QScroller : public QObject
 {
@@ -94,9 +96,11 @@ public:
     static QScroller *scroller(QObject *target);
     static const QScroller *scroller(const QObject *target);
 
+#ifndef QT_NO_GESTURES
     static Qt::GestureType grabGesture(QObject *target, ScrollerGestureType gestureType = TouchGesture);
     static Qt::GestureType grabbedGesture(QObject *target);
     static void ungrabGesture(QObject *target);
+#endif
 
     static QList<QScroller *> activeScrollers();
 
@@ -139,7 +143,9 @@ private:
     Q_DISABLE_COPY(QScroller)
     Q_DECLARE_PRIVATE(QScroller)
 
+#ifndef QT_NO_GESTURES
     friend class QFlickGestureRecognizer;
+#endif
 };
 
 QT_END_NAMESPACE
diff --git a/src/gui/util/qscroller_p.h b/src/gui/util/qscroller_p.h
index fb2b257..8c5f2e7 100644
--- a/src/gui/util/qscroller_p.h
+++ b/src/gui/util/qscroller_p.h
@@ -69,10 +69,13 @@
 
 QT_BEGIN_NAMESPACE
 
+#ifndef QT_NO_GESTURES
 class QFlickGestureRecognizer;
+#endif
 
+#ifndef QT_NO_ANIMATION
 class QScrollTimer;
-
+#endif
 class QScrollerPrivate : public QObject
 {
     Q_OBJECT
@@ -152,8 +155,10 @@ public:
     // non static
     QObject *target;
     QScrollerProperties properties;
+#ifndef QT_NO_GESTURES
     QFlickGestureRecognizer *recognizer;
     Qt::GestureType recognizerType;
+#endif
 
     // scroller state:
 
@@ -194,7 +199,9 @@ public:
     QElapsedTimer monotonicTimer;
 
     QPointF releaseVelocity; // the starting velocity of the scrolling state
+#ifndef QT_NO_ANIMATION
     QScrollTimer *scrollTimer;
+#endif
 
     QScroller *q_ptr;
 };
diff --git a/src/gui/widgets/qabstractscrollarea.cpp b/src/gui/widgets/qabstractscrollarea.cpp
index 7460f32..f948af9 100644
--- a/src/gui/widgets/qabstractscrollarea.cpp
+++ b/src/gui/widgets/qabstractscrollarea.cpp
@@ -1386,6 +1386,7 @@ bool QAbstractScrollAreaPrivate::canStartScrollingAt( const QPoint &startPos )
 {
     Q_Q(QAbstractScrollArea);
 
+#ifndef QT_NO_GRAPHICSVIEW
     // don't start scrolling when a drag mode has been set.
     // don't start scrolling on a movable item.
     if (QGraphicsView *view = qobject_cast<QGraphicsView *>(q)) {
@@ -1397,6 +1398,7 @@ bool QAbstractScrollAreaPrivate::canStartScrollingAt( const QPoint &startPos )
         if (childItem && (childItem->flags() & QGraphicsItem::ItemIsMovable))
             return false;
     }
+#endif
 
     // don't start scrolling on a QAbstractSlider
     if (qobject_cast<QAbstractSlider *>(q->viewport()->childAt(startPos))) {
diff --git a/src/gui/widgets/qcombobox.cpp b/src/gui/widgets/qcombobox.cpp
index b5dda5a..d63ccfb 100644
--- a/src/gui/widgets/qcombobox.cpp
+++ b/src/gui/widgets/qcombobox.cpp
@@ -705,11 +705,13 @@ void QComboBoxPrivateContainer::hideEvent(QHideEvent *)
 {
     emit resetButton();
     combo->update();
+#ifndef QT_NO_GRAPHICSVIEW
     // QGraphicsScenePrivate::removePopup closes the combo box popup, it hides it non-explicitly.
     // Hiding/showing the QComboBox after this will unexpectedly show the popup as well.
     // Re-hiding the popup container makes sure it is explicitly hidden.
     if (QGraphicsProxyWidget *proxy = graphicsProxyWidget())
         proxy->hide();
+#endif
 }
 
 void QComboBoxPrivateContainer::mousePressEvent(QMouseEvent *e)
diff --git a/src/gui/widgets/qmainwindowlayout.cpp b/src/gui/widgets/qmainwindowlayout.cpp
index 6bc07e1..d4afe07 100644
--- a/src/gui/widgets/qmainwindowlayout.cpp
+++ b/src/gui/widgets/qmainwindowlayout.cpp
@@ -73,6 +73,10 @@
 #   include <private/qt_cocoa_helpers_mac_p.h>
 #endif
 
+#ifdef QT_NO_DOCKWIDGET
+extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window);
+#endif
+
 #ifdef Q_DEBUG_MAINWINDOW_LAYOUT
 #   include <QTextStream>
 #endif
diff --git a/src/gui/widgets/qmainwindowlayout_p.h b/src/gui/widgets/qmainwindowlayout_p.h
index 2a44432..20aca61 100644
--- a/src/gui/widgets/qmainwindowlayout_p.h
+++ b/src/gui/widgets/qmainwindowlayout_p.h
@@ -70,12 +70,12 @@
 
 //#define Q_DEBUG_MAINWINDOW_LAYOUT
 
-#ifdef Q_DEBUG_MAINWINDOW_LAYOUT
+#if defined(Q_DEBUG_MAINWINDOW_LAYOUT) && !defined(QT_NO_DOCKWIDGET)
 QT_BEGIN_NAMESPACE
 class QTextStream;
 Q_GUI_EXPORT void qt_dumpLayout(QTextStream &qout, QMainWindow *window);
 QT_END_NAMESPACE
-#endif // Q_DEBUG_MAINWINDOW_LAYOUT
+#endif // Q_DEBUG_MAINWINDOW_LAYOUT && !QT_NO_DOCKWIDGET
 
 #ifdef Q_WS_MAC
 // Forward defs to make avoid including Carbon.h (faster compile you know ;).
diff --git a/src/network/socket/qabstractsocketengine_p.h b/src/network/socket/qabstractsocketengine_p.h
index c00b6d7..ee6dad6 100644
--- a/src/network/socket/qabstractsocketengine_p.h
+++ b/src/network/socket/qabstractsocketengine_p.h
@@ -61,7 +61,9 @@ QT_BEGIN_NAMESPACE
 
 class QAuthenticator;
 class QAbstractSocketEnginePrivate;
+#ifndef QT_NO_NETWORKINTERFACE
 class QNetworkInterface;
+#endif
 class QNetworkProxy;
 
 class QAbstractSocketEngineReceiver {
@@ -121,12 +123,14 @@ public:
     virtual qint64 write(const char *data, qint64 len) = 0;
 
 #ifndef QT_NO_UDPSOCKET
+#ifndef QT_NO_NETWORKINTERFACE
     virtual bool joinMulticastGroup(const QHostAddress &groupAddress,
                                     const QNetworkInterface &iface) = 0;
     virtual bool leaveMulticastGroup(const QHostAddress &groupAddress,
                                      const QNetworkInterface &iface) = 0;
     virtual QNetworkInterface multicastInterface() const = 0;
     virtual bool setMulticastInterface(const QNetworkInterface &iface) = 0;
+#endif // QT_NO_NETWORKINTERFACE
 
     virtual qint64 readDatagram(char *data, qint64 maxlen, QHostAddress *addr = 0,
                                 quint16 *port = 0) = 0;
@@ -134,7 +138,7 @@ public:
                                  quint16 port) = 0;
     virtual bool hasPendingDatagrams() const = 0;
     virtual qint64 pendingDatagramSize() const = 0;
-#endif
+#endif // QT_NO_UDPSOCKET
 
     virtual qint64 bytesToWrite() const = 0;
 
diff --git a/src/network/socket/qhttpsocketengine.cpp b/src/network/socket/qhttpsocketengine.cpp
index 6a025f2..df06a46 100644
--- a/src/network/socket/qhttpsocketengine.cpp
+++ b/src/network/socket/qhttpsocketengine.cpp
@@ -240,6 +240,7 @@ qint64 QHttpSocketEngine::write(const char *data, qint64 len)
 }
 
 #ifndef QT_NO_UDPSOCKET
+#ifndef QT_NO_NETWORKINTERFACE
 bool QHttpSocketEngine::joinMulticastGroup(const QHostAddress &,
                                            const QNetworkInterface &)
 {
@@ -267,6 +268,7 @@ bool QHttpSocketEngine::setMulticastInterface(const QNetworkInterface &)
              QLatin1String("Operation on socket is not supported"));
     return false;
 }
+#endif // QT_NO_NETWORKINTERFACE
 
 qint64 QHttpSocketEngine::readDatagram(char *, qint64, QHostAddress *,
                                        quint16 *)
diff --git a/src/network/socket/qhttpsocketengine_p.h b/src/network/socket/qhttpsocketengine_p.h
index 2ecd708..361ef5c 100644
--- a/src/network/socket/qhttpsocketengine_p.h
+++ b/src/network/socket/qhttpsocketengine_p.h
@@ -102,12 +102,14 @@ public:
     qint64 write(const char *data, qint64 len);
 
 #ifndef QT_NO_UDPSOCKET
+#ifndef QT_NO_NETWORKINTERFACE
     bool joinMulticastGroup(const QHostAddress &groupAddress,
                             const QNetworkInterface &interface);
     bool leaveMulticastGroup(const QHostAddress &groupAddress,
                              const QNetworkInterface &interface);
     QNetworkInterface multicastInterface() const;
     bool setMulticastInterface(const QNetworkInterface &iface);
+#endif // QT_NO_NETWORKINTERFACE
 
     qint64 readDatagram(char *data, qint64 maxlen, QHostAddress *addr = 0,
         quint16 *port = 0);
diff --git a/src/network/socket/qnativesocketengine.cpp b/src/network/socket/qnativesocketengine.cpp
index 56c1716..7c9911a 100644
--- a/src/network/socket/qnativesocketengine.cpp
+++ b/src/network/socket/qnativesocketengine.cpp
@@ -647,6 +647,8 @@ int QNativeSocketEngine::accept()
     return d->nativeAccept();
 }
 
+#ifndef QT_NO_NETWORKINTERFACE
+
 /*!
     \since 4.8
 */
@@ -682,7 +684,6 @@ QNetworkInterface QNativeSocketEngine::multicastInterface() const
     return d->nativeMulticastInterface();
 }
 
-
 /*! \since 4.8 */
 bool QNativeSocketEngine::setMulticastInterface(const QNetworkInterface &iface)
 {
@@ -692,6 +693,8 @@ bool QNativeSocketEngine::setMulticastInterface(const QNetworkInterface &iface)
     return d->nativeSetMulticastInterface(iface);
 }
 
+#endif // QT_NO_NETWORKINTERFACE
+
 /*!
     Returns the number of bytes that are currently available for
     reading. On error, -1 is returned.
diff --git a/src/network/socket/qnativesocketengine_p.h b/src/network/socket/qnativesocketengine_p.h
index 074dd1a..d2ccb21 100644
--- a/src/network/socket/qnativesocketengine_p.h
+++ b/src/network/socket/qnativesocketengine_p.h
@@ -101,7 +101,9 @@ union qt_sockaddr {
 };
 
 class QNativeSocketEnginePrivate;
+#ifndef QT_NO_NETWORKINTERFACE
 class QNetworkInterface;
+#endif
 
 class Q_AUTOTEST_EXPORT QNativeSocketEngine : public QAbstractSocketEngine
 {
@@ -124,12 +126,14 @@ public:
     int accept();
     void close();
 
+#ifndef QT_NO_NETWORKINTERFACE
     bool joinMulticastGroup(const QHostAddress &groupAddress,
                             const QNetworkInterface &iface);
     bool leaveMulticastGroup(const QHostAddress &groupAddress,
                              const QNetworkInterface &iface);
     QNetworkInterface multicastInterface() const;
     bool setMulticastInterface(const QNetworkInterface &iface);
+#endif
 
     qint64 bytesAvailable() const;
 
@@ -245,12 +249,14 @@ public:
     bool nativeBind(const QHostAddress &address, quint16 port);
     bool nativeListen(int backlog);
     int nativeAccept();
+#ifndef QT_NO_NETWORKINTERFACE
     bool nativeJoinMulticastGroup(const QHostAddress &groupAddress,
                                   const QNetworkInterface &iface);
     bool nativeLeaveMulticastGroup(const QHostAddress &groupAddress,
                                    const QNetworkInterface &iface);
     QNetworkInterface nativeMulticastInterface() const;
     bool nativeSetMulticastInterface(const QNetworkInterface &iface);
+#endif
     qint64 nativeBytesAvailable() const;
 
     bool nativeHasPendingDatagrams() const;
diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp
index c819659..091b285 100644
--- a/src/network/socket/qnativesocketengine_unix.cpp
+++ b/src/network/socket/qnativesocketengine_unix.cpp
@@ -615,6 +615,7 @@ int QNativeSocketEnginePrivate::nativeAccept()
     return acceptedDescriptor;
 }
 
+#ifndef QT_NO_NETWORKINTERFACE
 
 static bool multicastMembershipHelper(QNativeSocketEnginePrivate *d,
                                       int how6,
@@ -780,6 +781,8 @@ bool QNativeSocketEnginePrivate::nativeSetMulticastInterface(const QNetworkInter
     return (::setsockopt(socketDescriptor, IPPROTO_IP, IP_MULTICAST_IF, &v, sizeof(v)) != -1);
 }
 
+#endif // QT_NO_NETWORKINTERFACE
+
 qint64 QNativeSocketEnginePrivate::nativeBytesAvailable() const
 {
     int nbytes = 0;
diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp
index ab3d260..10a2695 100644
--- a/src/network/socket/qsocks5socketengine.cpp
+++ b/src/network/socket/qsocks5socketengine.cpp
@@ -1545,6 +1545,7 @@ qint64 QSocks5SocketEngine::write(const char *data, qint64 len)
 }
 
 #ifndef QT_NO_UDPSOCKET
+#ifndef QT_NO_NETWORKINTERFACE
 bool QSocks5SocketEngine::joinMulticastGroup(const QHostAddress &,
                                              const QNetworkInterface &)
 {
@@ -1573,6 +1574,7 @@ bool QSocks5SocketEngine::setMulticastInterface(const QNetworkInterface &)
              QLatin1String("Operation on socket is not supported"));
     return false;
 }
+#endif // QT_NO_NETWORKINTERFACE
 
 qint64 QSocks5SocketEngine::readDatagram(char *data, qint64 maxlen, QHostAddress *addr,
                                         quint16 *port)
diff --git a/src/network/socket/qsocks5socketengine_p.h b/src/network/socket/qsocks5socketengine_p.h
index b85fd62..9492d45 100644
--- a/src/network/socket/qsocks5socketengine_p.h
+++ b/src/network/socket/qsocks5socketengine_p.h
@@ -92,12 +92,14 @@ public:
     qint64 write(const char *data, qint64 len);
 
 #ifndef QT_NO_UDPSOCKET
+#ifndef QT_NO_NETWORKINTERFACE
     bool joinMulticastGroup(const QHostAddress &groupAddress,
                             const QNetworkInterface &interface);
     bool leaveMulticastGroup(const QHostAddress &groupAddress,
                              const QNetworkInterface &interface);
     QNetworkInterface multicastInterface() const;
     bool setMulticastInterface(const QNetworkInterface &iface);
+#endif // QT_NO_NETWORKINTERFACE
 
     qint64 readDatagram(char *data, qint64 maxlen, QHostAddress *addr = 0,
         quint16 *port = 0);
diff --git a/src/network/socket/qudpsocket.cpp b/src/network/socket/qudpsocket.cpp
index 6a62b12..97a5466 100644
--- a/src/network/socket/qudpsocket.cpp
+++ b/src/network/socket/qudpsocket.cpp
@@ -338,6 +338,8 @@ bool QUdpSocket::bind(quint16 port, BindMode mode)
     return bind(QHostAddress::Any, port, mode);
 }
 
+#ifndef QT_NO_NETWORKINTERFACE
+
 /*!
     \since 4.8
 
@@ -444,6 +446,8 @@ void QUdpSocket::setMulticastInterface(const QNetworkInterface &iface)
     d->socketEngine->setMulticastInterface(iface);
 }
 
+#endif // QT_NO_NETWORKINTERFACE
+
 /*!
     Returns true if at least one datagram is waiting to be read;
     otherwise returns false.
diff --git a/src/network/socket/qudpsocket.h b/src/network/socket/qudpsocket.h
index 82266cb..7502349 100644
--- a/src/network/socket/qudpsocket.h
+++ b/src/network/socket/qudpsocket.h
@@ -77,6 +77,7 @@ public:
     bool bind(quint16 port, BindMode mode);
     // ### Qt 5: Merge the bind functions
 
+#ifndef QT_NO_NETWORKINTERFACE
     bool joinMulticastGroup(const QHostAddress &groupAddress);
     bool joinMulticastGroup(const QHostAddress &groupAddress,
                             const QNetworkInterface &iface);
@@ -86,6 +87,7 @@ public:
 
     QNetworkInterface multicastInterface() const;
     void setMulticastInterface(const QNetworkInterface &iface);
+#endif
 
     bool hasPendingDatagrams() const;
     qint64 pendingDatagramSize() const;
diff --git a/src/plugins/bearer/connman/qofonoservice_linux.cpp b/src/plugins/bearer/connman/qofonoservice_linux.cpp
index 2a22280..e3fb2c6 100644
--- a/src/plugins/bearer/connman/qofonoservice_linux.cpp
+++ b/src/plugins/bearer/connman/qofonoservice_linux.cpp
@@ -53,6 +53,8 @@
 
 #include "qofonoservice_linux_p.h"
 
+#ifndef QT_NO_BEARERMANAGEMENT
+#ifndef QT_NO_DBUS
 
 QT_BEGIN_NAMESPACE
 static QDBusConnection dbusConnection = QDBusConnection::systemBus();
@@ -938,3 +940,6 @@ void QOfonoSmsInterface::sendMessage(const QString &to, const QString &message)
 }
 
 QT_END_NAMESPACE
+
+#endif // QT_NO_DBUS
+#endif // QT_NO_BEARERMANAGEMENT
diff --git a/src/plugins/bearer/connman/qofonoservice_linux_p.h b/src/plugins/bearer/connman/qofonoservice_linux_p.h
index 4db08f5..af54ba0 100644
--- a/src/plugins/bearer/connman/qofonoservice_linux_p.h
+++ b/src/plugins/bearer/connman/qofonoservice_linux_p.h
@@ -65,6 +65,9 @@
 #include <QtDBus/QDBusContext>
 #include <QMap>
 
+#ifndef QT_NO_BEARERMANAGEMENT
+#ifndef QT_NO_DBUS
+
 #define OFONO_SERVICE	                         "org.ofono"
 #define OFONO_MANAGER_INTERFACE                  "org.ofono.Manager"
 #define OFONO_MANAGER_PATH                       "/"
@@ -331,4 +334,7 @@ Q_SIGNALS:
 
 QT_END_NAMESPACE
 
+#endif // QT_NO_DBUS
+#endif // QT_NO_BEARERMANAGEMENT
+
 #endif //QOFONOSERVICE_H
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index ceb1b03..a3a965e 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -779,6 +779,8 @@ JSC::JSValue JSC_HOST_CALL functionVersion(JSC::ExecState *exec, JSC::JSObject*,
     return JSC::JSValue(exec, 1);
 }
 
+#ifndef QT_NO_TRANSLATION
+
 static JSC::JSValue JSC_HOST_CALL functionQsTranslate(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
 static JSC::JSValue JSC_HOST_CALL functionQsTranslateNoOp(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
 static JSC::JSValue JSC_HOST_CALL functionQsTr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
@@ -917,6 +919,7 @@ JSC::JSValue JSC_HOST_CALL functionQsTrIdNoOp(JSC::ExecState *, JSC::JSObject*,
         return JSC::jsUndefined();
     return args.at(0);
 }
+#endif // QT_NO_TRANSLATION
 
 static JSC::JSValue JSC_HOST_CALL stringProtoFuncArg(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
 
@@ -3486,12 +3489,15 @@ void QScriptEngine::installTranslatorFunctions(const QScriptValue &object)
     if (!jscObject || !jscObject.isObject())
         jscObject = d->globalObject();
 //    unsigned attribs = JSC::DontEnum;
+
+#ifndef QT_NO_TRANSLATION
     JSC::asObject(jscObject)->putDirectFunction(exec, new (exec)JSC::NativeFunctionWrapper(exec, glob->prototypeFunctionStructure(), 5, JSC::Identifier(exec, "qsTranslate"), QScript::functionQsTranslate));
     JSC::asObject(jscObject)->putDirectFunction(exec, new (exec)JSC::NativeFunctionWrapper(exec, glob->prototypeFunctionStructure(), 2, JSC::Identifier(exec, "QT_TRANSLATE_NOOP"), QScript::functionQsTranslateNoOp));
     JSC::asObject(jscObject)->putDirectFunction(exec, new (exec)JSC::NativeFunctionWrapper(exec, glob->prototypeFunctionStructure(), 3, JSC::Identifier(exec, "qsTr"), QScript::functionQsTr));
     JSC::asObject(jscObject)->putDirectFunction(exec, new (exec)JSC::NativeFunctionWrapper(exec, glob->prototypeFunctionStructure(), 1, JSC::Identifier(exec, "QT_TR_NOOP"), QScript::functionQsTrNoOp));
     JSC::asObject(jscObject)->putDirectFunction(exec, new (exec)JSC::NativeFunctionWrapper(exec, glob->prototypeFunctionStructure(), 1, JSC::Identifier(exec, "qsTrId"), QScript::functionQsTrId));
     JSC::asObject(jscObject)->putDirectFunction(exec, new (exec)JSC::NativeFunctionWrapper(exec, glob->prototypeFunctionStructure(), 1, JSC::Identifier(exec, "QT_TRID_NOOP"), QScript::functionQsTrIdNoOp));
+#endif
 
     glob->stringPrototype()->putDirectFunction(exec, new (exec)JSC::NativeFunctionWrapper(exec, glob->prototypeFunctionStructure(), 1, JSC::Identifier(exec, "arg"), QScript::stringProtoFuncArg));
 }
-- 
cgit v0.12