Disable QUrl support in QVariant in bootstrapped mode

The only use of QUrl in qmake, moc, uic and rcc is due to QVariant's
internals, so let's disable it. This means those binaries are now
probably a lot smaller since the parsing and IDNA code don't need to
be present.

Change-Id: Ie156b0817d119b2ba5d3dcb9712a9fea2ee7d4a1
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
This commit is contained in:
Thiago Macieira 2011-09-09 15:27:36 +02:00 committed by Qt by Nokia
parent 5e0406cbdf
commit 6ab6b0fc1c
11 changed files with 13 additions and 21 deletions

View File

@ -23,7 +23,7 @@ QOBJS=qtextcodec.o qutfcodec.o qstring.o qstringbuilder.o qtextstream.o qiodevic
qfsfileengine_iterator.o qregexp.o qvector.o qbitarray.o qdir.o qdiriterator.o quuid.o qhash.o \ qfsfileengine_iterator.o qregexp.o qvector.o qbitarray.o qdir.o qdiriterator.o quuid.o qhash.o \
qfileinfo.o qdatetime.o qstringlist.o qabstractfileengine.o qtemporaryfile.o \ qfileinfo.o qdatetime.o qstringlist.o qabstractfileengine.o qtemporaryfile.o \
qmap.o qmetatype.o qsettings.o qsystemerror.o qlibraryinfo.o qvariant.o qvsnprintf.o \ qmap.o qmetatype.o qsettings.o qsystemerror.o qlibraryinfo.o qvariant.o qvsnprintf.o \
qlocale.o qlocale_tools.o qlocale_unix.o qlinkedlist.o qurl.o qnumeric.o qcryptographichash.o \ qlocale.o qlocale_tools.o qlocale_unix.o qlinkedlist.o qnumeric.o qcryptographichash.o \
qxmlstream.o qxmlutils.o qlogging.o \ qxmlstream.o qxmlutils.o qlogging.o \
$(QTOBJS) $(QTOBJS)
@ -56,7 +56,7 @@ DEPEND_SRC=project.cpp property.cpp meta.cpp main.cpp generators/makefile.cpp ge
$(SOURCE_PATH)/src/corelib/io/qdir.cpp $(SOURCE_PATH)/src/corelib/plugin/quuid.cpp \ $(SOURCE_PATH)/src/corelib/io/qdir.cpp $(SOURCE_PATH)/src/corelib/plugin/quuid.cpp \
$(SOURCE_PATH)/src/corelib/io/qfileinfo.cpp $(SOURCE_PATH)/src/corelib/tools/qdatetime.cpp \ $(SOURCE_PATH)/src/corelib/io/qfileinfo.cpp $(SOURCE_PATH)/src/corelib/tools/qdatetime.cpp \
$(SOURCE_PATH)/src/corelib/tools/qstringlist.cpp $(SOURCE_PATH)/src/corelib/tools/qmap.cpp \ $(SOURCE_PATH)/src/corelib/tools/qstringlist.cpp $(SOURCE_PATH)/src/corelib/tools/qmap.cpp \
$(SOURCE_PATH)/src/corelib/global/qconfig.cpp $(SOURCE_PATH)/src/corelib/io/qurl.cpp \ $(SOURCE_PATH)/src/corelib/global/qconfig.cpp \
$(SOURCE_PATH)/src/corelib/tools/qstringbuilder.cpp \ $(SOURCE_PATH)/src/corelib/tools/qstringbuilder.cpp \
$(SOURCE_PATH)/src/corelib/tools/qlocale.cpp \ $(SOURCE_PATH)/src/corelib/tools/qlocale.cpp \
$(SOURCE_PATH)/src/corelib/tools/qlocale_tools.cpp \ $(SOURCE_PATH)/src/corelib/tools/qlocale_tools.cpp \
@ -214,9 +214,6 @@ qmetatype.o: $(SOURCE_PATH)/src/corelib/kernel/qmetatype.cpp
qcore_mac.o: $(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp qcore_mac.o: $(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp
qurl.o: $(SOURCE_PATH)/src/corelib/io/qurl.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qurl.cpp
qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp

View File

@ -115,7 +115,6 @@ QTOBJS= \
qsettings.obj \ qsettings.obj \
qlibraryinfo.obj \ qlibraryinfo.obj \
qvariant.obj \ qvariant.obj \
qurl.obj \
qsettings_win.obj \ qsettings_win.obj \
qmetatype.obj \ qmetatype.obj \
qxmlstream.obj \ qxmlstream.obj \

View File

@ -116,7 +116,6 @@ QTOBJS= \
qtextstream.o \ qtextstream.o \
quuid.o \ quuid.o \
qvector.o \ qvector.o \
qurl.o \
qsettings.o \ qsettings.o \
qsettings_win.o \ qsettings_win.o \
qvariant.o \ qvariant.o \

View File

@ -67,7 +67,6 @@ bootstrap { #Qt code
qstringlist.cpp \ qstringlist.cpp \
qtemporaryfile.cpp \ qtemporaryfile.cpp \
qtextstream.cpp \ qtextstream.cpp \
qurl.cpp \
quuid.cpp \ quuid.cpp \
qsettings.cpp \ qsettings.cpp \
qlibraryinfo.cpp \ qlibraryinfo.cpp \
@ -114,7 +113,6 @@ bootstrap { #Qt code
qsystemerror_p.h \ qsystemerror_p.h \
qtemporaryfile.h \ qtemporaryfile.h \
qtextstream.h \ qtextstream.h \
qurl.h \
quuid.h \ quuid.h \
qvector.h \ qvector.h \
qxmlstream.h \ qxmlstream.h \

View File

@ -201,9 +201,7 @@
#include "qstack.h" #include "qstack.h"
#include "qvarlengtharray.h" #include "qvarlengtharray.h"
#include "qdebug.h" #include "qdebug.h"
#ifndef QT_BOOTSTRAPPED
#include "qtldurl_p.h" #include "qtldurl_p.h"
#endif
#if defined(Q_OS_WINCE_WM) #if defined(Q_OS_WINCE_WM)
#pragma optimize("g", off) #pragma optimize("g", off)
#endif #endif
@ -5569,12 +5567,10 @@ bool QUrl::hasFragment() const
URL does not contain a valid TLD, in which case the function returns URL does not contain a valid TLD, in which case the function returns
an empty string. an empty string.
*/ */
#ifndef QT_BOOTSTRAPPED
QString QUrl::topLevelDomain() const QString QUrl::topLevelDomain() const
{ {
return qTopLevelDomain(host()); return qTopLevelDomain(host());
} }
#endif
/*! /*!
Returns the result of the merge of this URL with \a relative. This Returns the result of the merge of this URL with \a relative. This

View File

@ -175,9 +175,7 @@ public:
void setEncodedFragment(const QByteArray &fragment); void setEncodedFragment(const QByteArray &fragment);
QByteArray encodedFragment() const; QByteArray encodedFragment() const;
bool hasFragment() const; bool hasFragment() const;
#ifndef QT_BOOTSTRAPPED
QString topLevelDomain() const; QString topLevelDomain() const;
#endif
QUrl resolved(const QUrl &relative) const; QUrl resolved(const QUrl &relative) const;

View File

@ -109,6 +109,7 @@ struct TypeDefinition {
#ifdef QT_BOOTSTRAPPED #ifdef QT_BOOTSTRAPPED
template<> struct TypeDefinition<QEasingCurve> { static const bool IsAvailable = false; }; template<> struct TypeDefinition<QEasingCurve> { static const bool IsAvailable = false; };
template<> struct TypeDefinition<QModelIndex> { static const bool IsAvailable = false; }; template<> struct TypeDefinition<QModelIndex> { static const bool IsAvailable = false; };
template<> struct TypeDefinition<QUrl> { static const bool IsAvailable = false; };
template<> struct TypeDefinition<QRegularExpression> { static const bool IsAvailable = false; }; template<> struct TypeDefinition<QRegularExpression> { static const bool IsAvailable = false; };
template<> struct TypeDefinition<QJsonValue> { static const bool IsAvailable = false; }; template<> struct TypeDefinition<QJsonValue> { static const bool IsAvailable = false; };
template<> struct TypeDefinition<QJsonObject> { static const bool IsAvailable = false; }; template<> struct TypeDefinition<QJsonObject> { static const bool IsAvailable = false; };
@ -297,6 +298,7 @@ static bool convert(const QVariant::Private *d, int t, void *result, bool *ok)
ok = &dummy; ok = &dummy;
switch (uint(t)) { switch (uint(t)) {
#ifndef QT_BOOTSTRAPPED
case QVariant::Url: case QVariant::Url:
switch (d->type) { switch (d->type) {
case QVariant::String: case QVariant::String:
@ -306,6 +308,7 @@ static bool convert(const QVariant::Private *d, int t, void *result, bool *ok)
return false; return false;
} }
break; break;
#endif
case QVariant::String: { case QVariant::String: {
QString *str = static_cast<QString *>(result); QString *str = static_cast<QString *>(result);
switch (d->type) { switch (d->type) {
@ -355,9 +358,11 @@ static bool convert(const QVariant::Private *d, int t, void *result, bool *ok)
if (v_cast<QStringList>(d)->count() == 1) if (v_cast<QStringList>(d)->count() == 1)
*str = v_cast<QStringList>(d)->at(0); *str = v_cast<QStringList>(d)->at(0);
break; break;
#ifndef QT_BOOTSTRAPPED
case QVariant::Url: case QVariant::Url:
*str = v_cast<QUrl>(d)->toString(); *str = v_cast<QUrl>(d)->toString();
break; break;
#endif
case QVariant::Uuid: case QVariant::Uuid:
*str = v_cast<QUuid>(d)->toString(); *str = v_cast<QUuid>(d)->toString();
break; break;
@ -1449,7 +1454,9 @@ QVariant::QVariant(const QRect &r) { d.is_null = false; d.type = Rect; v_constru
QVariant::QVariant(const QSize &s) { d.is_null = false; d.type = Size; v_construct<QSize>(&d, s); } QVariant::QVariant(const QSize &s) { d.is_null = false; d.type = Size; v_construct<QSize>(&d, s); }
QVariant::QVariant(const QSizeF &s) { d.is_null = false; d.type = SizeF; v_construct<QSizeF>(&d, s); } QVariant::QVariant(const QSizeF &s) { d.is_null = false; d.type = SizeF; v_construct<QSizeF>(&d, s); }
#endif #endif
#ifndef QT_BOOTSTRAPPED
QVariant::QVariant(const QUrl &u) { d.is_null = false; d.type = Url; v_construct<QUrl>(&d, u); } QVariant::QVariant(const QUrl &u) { d.is_null = false; d.type = Url; v_construct<QUrl>(&d, u); }
#endif
QVariant::QVariant(const QLocale &l) { d.is_null = false; d.type = Locale; v_construct<QLocale>(&d, l); } QVariant::QVariant(const QLocale &l) { d.is_null = false; d.type = Locale; v_construct<QLocale>(&d, l); }
#ifndef QT_NO_REGEXP #ifndef QT_NO_REGEXP
QVariant::QVariant(const QRegExp &regExp) { d.is_null = false; d.type = RegExp; v_construct<QRegExp>(&d, regExp); } QVariant::QVariant(const QRegExp &regExp) { d.is_null = false; d.type = RegExp; v_construct<QRegExp>(&d, regExp); }
@ -2094,6 +2101,7 @@ QPointF QVariant::toPointF() const
#endif // QT_NO_GEOM_VARIANT #endif // QT_NO_GEOM_VARIANT
#ifndef QT_BOOTSTRAPPED
/*! /*!
\fn QUrl QVariant::toUrl() const \fn QUrl QVariant::toUrl() const
@ -2106,6 +2114,7 @@ QUrl QVariant::toUrl() const
{ {
return qVariantToHelper<QUrl>(d, handlerManager); return qVariantToHelper<QUrl>(d, handlerManager);
} }
#endif
/*! /*!
\fn QLocale QVariant::toLocale() const \fn QLocale QVariant::toLocale() const

View File

@ -237,7 +237,6 @@ class Q_CORE_EXPORT QVariant
QVariant(const QRect &rect); QVariant(const QRect &rect);
QVariant(const QRectF &rect); QVariant(const QRectF &rect);
#endif #endif
QVariant(const QUrl &url);
QVariant(const QLocale &locale); QVariant(const QLocale &locale);
#ifndef QT_NO_REGEXP #ifndef QT_NO_REGEXP
QVariant(const QRegExp &regExp); QVariant(const QRegExp &regExp);
@ -246,6 +245,7 @@ class Q_CORE_EXPORT QVariant
#endif // QT_BOOTSTRAPPED #endif // QT_BOOTSTRAPPED
#endif // QT_NO_REGEXP #endif // QT_NO_REGEXP
#ifndef QT_BOOTSTRAPPED #ifndef QT_BOOTSTRAPPED
QVariant(const QUrl &url);
QVariant(const QEasingCurve &easing); QVariant(const QEasingCurve &easing);
#endif #endif
QVariant(Qt::GlobalColor color); QVariant(Qt::GlobalColor color);
@ -303,7 +303,6 @@ class Q_CORE_EXPORT QVariant
QLineF toLineF() const; QLineF toLineF() const;
QRectF toRectF() const; QRectF toRectF() const;
#endif #endif
QUrl toUrl() const;
QLocale toLocale() const; QLocale toLocale() const;
#ifndef QT_NO_REGEXP #ifndef QT_NO_REGEXP
QRegExp toRegExp() const; QRegExp toRegExp() const;
@ -312,6 +311,7 @@ class Q_CORE_EXPORT QVariant
#endif // QT_BOOTSTRAPPED #endif // QT_BOOTSTRAPPED
#endif // QT_NO_REGEXP #endif // QT_NO_REGEXP
#ifndef QT_BOOTSTRAPPED #ifndef QT_BOOTSTRAPPED
QUrl toUrl() const;
QEasingCurve toEasingCurve() const; QEasingCurve toEasingCurve() const;
#endif #endif

View File

@ -65,7 +65,6 @@ SOURCES += \
../../corelib/io/qfiledevice.cpp \ ../../corelib/io/qfiledevice.cpp \
../../corelib/io/qtemporaryfile.cpp \ ../../corelib/io/qtemporaryfile.cpp \
../../corelib/io/qtextstream.cpp \ ../../corelib/io/qtextstream.cpp \
../../corelib/io/qurl.cpp \
../../corelib/kernel/qmetatype.cpp \ ../../corelib/kernel/qmetatype.cpp \
../../corelib/kernel/qvariant.cpp \ ../../corelib/kernel/qvariant.cpp \
../../corelib/kernel/qsystemerror.cpp \ ../../corelib/kernel/qsystemerror.cpp \

View File

@ -61,7 +61,6 @@ OBJECTS = \
qvsnprintf.o \ qvsnprintf.o \
qvariant.o \ qvariant.o \
qsystemerror.o \ qsystemerror.o \
qurl.o \
qmetatype.o \ qmetatype.o \
qmalloc.o \ qmalloc.o \
qxmlstream.o \ qxmlstream.o \

View File

@ -59,7 +59,6 @@ OBJECTS = \
qvsnprintf.obj \ qvsnprintf.obj \
qvariant.obj \ qvariant.obj \
qsystemerror.obj \ qsystemerror.obj \
qurl.obj \
qmetatype.obj \ qmetatype.obj \
qmalloc.obj \ qmalloc.obj \
qxmlstream.obj \ qxmlstream.obj \
@ -128,7 +127,6 @@ qstringlist.obj: $(CORESRC)\tools\qstringlist.cpp $(PCH)
qvsnprintf.obj: $(CORESRC)\tools\qvsnprintf.cpp $(PCH) qvsnprintf.obj: $(CORESRC)\tools\qvsnprintf.cpp $(PCH)
qvariant.obj: $(CORESRC)\kernel\qvariant.cpp $(PCH) qvariant.obj: $(CORESRC)\kernel\qvariant.cpp $(PCH)
qsystemerror.obj: $(CORESRC)\kernel\qsystemerror.cpp $(PCH) qsystemerror.obj: $(CORESRC)\kernel\qsystemerror.cpp $(PCH)
qurl.obj: $(CORESRC)\io\qurl.cpp $(PCH)
qline.obj: $(CORESRC)\tools\qline.cpp $(PCH) qline.obj: $(CORESRC)\tools\qline.cpp $(PCH)
qsize.obj: $(CORESRC)\tools\qsize.cpp $(PCH) qsize.obj: $(CORESRC)\tools\qsize.cpp $(PCH)
qpoint.obj: $(CORESRC)\tools\qpoint.cpp $(PCH) qpoint.obj: $(CORESRC)\tools\qpoint.cpp $(PCH)