From fbeeaf23fe1755bc28185781d8182ddcb4e7985a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Martins?= Date: Sun, 15 Feb 2015 16:39:13 +0000 Subject: Introduce QT_NO_MIMETYPE The mime type stuff generates one of the biggest translation units in QtCore due to the compressed 1.7MB freedesktop.org.xml resource. With QT_NO_MIMETYPE, libQt5Core.so is almost 400Kb smaller (4.8MB->4.4MB gcc 4.9 stripped release build) Change-Id: I5339090994034355724ff4deddb64720e81baeaf Reviewed-by: Oswald Buddenhagen Reviewed-by: David Faure Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/corelib/mimetypes/mimetypes.pri | 6 +++--- src/corelib/mimetypes/qmimedatabase.cpp | 5 ++++- src/corelib/mimetypes/qmimedatabase.h | 7 ++++++- src/corelib/mimetypes/qmimedatabase_p.h | 12 ++++++++---- src/corelib/mimetypes/qmimeglobpattern.cpp | 4 ++++ src/corelib/mimetypes/qmimeglobpattern_p.h | 5 +++++ src/corelib/mimetypes/qmimemagicrule.cpp | 4 ++++ src/corelib/mimetypes/qmimemagicrule_p.h | 5 +++++ src/corelib/mimetypes/qmimemagicrulematcher.cpp | 3 +++ src/corelib/mimetypes/qmimemagicrulematcher_p.h | 7 +++++-- src/corelib/mimetypes/qmimeprovider.cpp | 4 ++++ src/corelib/mimetypes/qmimeprovider_p.h | 6 +++++- src/corelib/mimetypes/qmimetype.cpp | 4 ++++ src/corelib/mimetypes/qmimetype.h | 8 +++++++- src/corelib/mimetypes/qmimetype_p.h | 3 +++ src/corelib/mimetypes/qmimetypeparser.cpp | 4 ++++ src/corelib/mimetypes/qmimetypeparser_p.h | 4 ++++ 17 files changed, 78 insertions(+), 13 deletions(-) (limited to 'src/corelib/mimetypes') diff --git a/src/corelib/mimetypes/mimetypes.pri b/src/corelib/mimetypes/mimetypes.pri index 238aa837e2..1ab773fc10 100644 --- a/src/corelib/mimetypes/mimetypes.pri +++ b/src/corelib/mimetypes/mimetypes.pri @@ -20,6 +20,6 @@ SOURCES += \ mimetypes/qmimeglobpattern.cpp \ mimetypes/qmimeprovider.cpp -RESOURCES += \ - mimetypes/mimetypes.qrc - +!contains(DEFINES, QT_NO_MIMETYPE) { + RESOURCES += mimetypes/mimetypes.qrc +} diff --git a/src/corelib/mimetypes/qmimedatabase.cpp b/src/corelib/mimetypes/qmimedatabase.cpp index 89560e4adf..b919e1c48a 100644 --- a/src/corelib/mimetypes/qmimedatabase.cpp +++ b/src/corelib/mimetypes/qmimedatabase.cpp @@ -33,8 +33,9 @@ #include // always first -#include "qmimedatabase.h" +#ifndef QT_NO_MIMETYPE +#include "qmimedatabase.h" #include "qmimedatabase_p.h" #include "qmimeprovider_p.h" @@ -597,3 +598,5 @@ QList QMimeDatabase::allMimeTypes() const */ QT_END_NAMESPACE + +#endif // QT_NO_MIMETYPE diff --git a/src/corelib/mimetypes/qmimedatabase.h b/src/corelib/mimetypes/qmimedatabase.h index 4fb9308a15..912d9b8443 100644 --- a/src/corelib/mimetypes/qmimedatabase.h +++ b/src/corelib/mimetypes/qmimedatabase.h @@ -35,6 +35,9 @@ #define QMIMEDATABASE_H #include + +#ifndef QT_NO_MIMETYPE + #include QT_BEGIN_NAMESPACE @@ -81,4 +84,6 @@ private: }; QT_END_NAMESPACE -#endif // QMIMEDATABASE_H + +#endif // QT_NO_MIMETYPE +#endif // QMIMEDATABASE_H diff --git a/src/corelib/mimetypes/qmimedatabase_p.h b/src/corelib/mimetypes/qmimedatabase_p.h index dd54c3a185..e3cfe3443f 100644 --- a/src/corelib/mimetypes/qmimedatabase_p.h +++ b/src/corelib/mimetypes/qmimedatabase_p.h @@ -45,13 +45,16 @@ // We mean it. // -#include -#include - #include "qmimetype.h" + +#ifndef QT_NO_MIMETYPE + #include "qmimetype_p.h" #include "qmimeglobpattern_p.h" +#include +#include + QT_BEGIN_NAMESPACE class QIODevice; @@ -90,4 +93,5 @@ public: QT_END_NAMESPACE -#endif // QMIMEDATABASE_P_H +#endif // QT_NO_MIMETYPE +#endif // QMIMEDATABASE_P_H diff --git a/src/corelib/mimetypes/qmimeglobpattern.cpp b/src/corelib/mimetypes/qmimeglobpattern.cpp index d852a9f249..57d834ac78 100644 --- a/src/corelib/mimetypes/qmimeglobpattern.cpp +++ b/src/corelib/mimetypes/qmimeglobpattern.cpp @@ -33,6 +33,8 @@ #include "qmimeglobpattern_p.h" +#ifndef QT_NO_MIMETYPE + #include #include #include @@ -234,3 +236,5 @@ void QMimeAllGlobPatterns::clear() } QT_END_NAMESPACE + +#endif // QT_NO_MIMETYPE diff --git a/src/corelib/mimetypes/qmimeglobpattern_p.h b/src/corelib/mimetypes/qmimeglobpattern_p.h index f2524a0d36..9ee3eb61cf 100644 --- a/src/corelib/mimetypes/qmimeglobpattern_p.h +++ b/src/corelib/mimetypes/qmimeglobpattern_p.h @@ -45,6 +45,10 @@ // We mean it. // +#include + +#ifndef QT_NO_MIMETYPE + #include #include @@ -146,4 +150,5 @@ public: QT_END_NAMESPACE +#endif // QT_NO_MIMETYPE #endif // QMIMEGLOBPATTERN_P_H diff --git a/src/corelib/mimetypes/qmimemagicrule.cpp b/src/corelib/mimetypes/qmimemagicrule.cpp index d9240a9fce..9693558a4c 100644 --- a/src/corelib/mimetypes/qmimemagicrule.cpp +++ b/src/corelib/mimetypes/qmimemagicrule.cpp @@ -36,6 +36,8 @@ #include "qmimemagicrule_p.h" +#ifndef QT_NO_MIMETYPE + #include #include #include @@ -377,3 +379,5 @@ bool QMimeMagicRule::matches(const QByteArray &data) const } QT_END_NAMESPACE + +#endif // QT_NO_MIMETYPE diff --git a/src/corelib/mimetypes/qmimemagicrule_p.h b/src/corelib/mimetypes/qmimemagicrule_p.h index 3b2c9c1a12..03ac1d1de9 100644 --- a/src/corelib/mimetypes/qmimemagicrule_p.h +++ b/src/corelib/mimetypes/qmimemagicrule_p.h @@ -45,6 +45,10 @@ // We mean it. // +#include + +#ifndef QT_NO_MIMETYPE + #include #include #include @@ -89,4 +93,5 @@ Q_DECLARE_TYPEINFO(QMimeMagicRule, Q_MOVABLE_TYPE); QT_END_NAMESPACE +#endif // QT_NO_MIMETYPE #endif // QMIMEMAGICRULE_H diff --git a/src/corelib/mimetypes/qmimemagicrulematcher.cpp b/src/corelib/mimetypes/qmimemagicrulematcher.cpp index fc92a4cdcd..629e8d9d2f 100644 --- a/src/corelib/mimetypes/qmimemagicrulematcher.cpp +++ b/src/corelib/mimetypes/qmimemagicrulematcher.cpp @@ -35,6 +35,8 @@ #include "qmimemagicrulematcher_p.h" +#ifndef QT_NO_MIMETYPE + #include "qmimetype_p.h" QT_BEGIN_NAMESPACE @@ -98,3 +100,4 @@ unsigned QMimeMagicRuleMatcher::priority() const } QT_END_NAMESPACE +#endif // QT_NO_MIMETYPE diff --git a/src/corelib/mimetypes/qmimemagicrulematcher_p.h b/src/corelib/mimetypes/qmimemagicrulematcher_p.h index f600e9801a..1ea6227378 100644 --- a/src/corelib/mimetypes/qmimemagicrulematcher_p.h +++ b/src/corelib/mimetypes/qmimemagicrulematcher_p.h @@ -45,12 +45,14 @@ // We mean it. // +#include "qmimemagicrule_p.h" + +#ifndef QT_NO_MIMETYPE + #include #include #include -#include "qmimemagicrule_p.h" - QT_BEGIN_NAMESPACE class QMimeMagicRuleMatcher @@ -78,4 +80,5 @@ private: QT_END_NAMESPACE +#endif // QT_NO_MIMETYPE #endif // QMIMEMAGICRULEMATCHER_P_H diff --git a/src/corelib/mimetypes/qmimeprovider.cpp b/src/corelib/mimetypes/qmimeprovider.cpp index a65782de6b..7342a5cd77 100644 --- a/src/corelib/mimetypes/qmimeprovider.cpp +++ b/src/corelib/mimetypes/qmimeprovider.cpp @@ -33,6 +33,8 @@ #include "qmimeprovider_p.h" +#ifndef QT_NO_MIMETYPE + #include "qmimetypeparser_p.h" #include #include "qmimemagicrulematcher_p.h" @@ -866,3 +868,5 @@ void QMimeXMLProvider::addMagicMatcher(const QMimeMagicRuleMatcher &matcher) } QT_END_NAMESPACE + +#endif // QT_NO_MIMETYPE diff --git a/src/corelib/mimetypes/qmimeprovider_p.h b/src/corelib/mimetypes/qmimeprovider_p.h index b438c4f076..5a89ac23c3 100644 --- a/src/corelib/mimetypes/qmimeprovider_p.h +++ b/src/corelib/mimetypes/qmimeprovider_p.h @@ -45,8 +45,11 @@ // We mean it. // -#include #include "qmimedatabase_p.h" + +#ifndef QT_NO_MIMETYPE + +#include #include QT_BEGIN_NAMESPACE @@ -168,4 +171,5 @@ private: QT_END_NAMESPACE +#endif // QT_NO_MIMETYPE #endif // QMIMEPROVIDER_P_H diff --git a/src/corelib/mimetypes/qmimetype.cpp b/src/corelib/mimetypes/qmimetype.cpp index e000359980..70df9868b6 100644 --- a/src/corelib/mimetypes/qmimetype.cpp +++ b/src/corelib/mimetypes/qmimetype.cpp @@ -33,6 +33,8 @@ #include "qmimetype.h" +#ifndef QT_NO_MIMETYPE + #include "qmimetype_p.h" #include "qmimedatabase_p.h" #include "qmimeprovider_p.h" @@ -449,3 +451,5 @@ QDebug operator<<(QDebug debug, const QMimeType &mime) #endif QT_END_NAMESPACE + +#endif // QT_NO_MIMETYPE diff --git a/src/corelib/mimetypes/qmimetype.h b/src/corelib/mimetypes/qmimetype.h index d6d12a7ec4..4ba3c53470 100644 --- a/src/corelib/mimetypes/qmimetype.h +++ b/src/corelib/mimetypes/qmimetype.h @@ -34,6 +34,10 @@ #ifndef QMIMETYPE_H #define QMIMETYPE_H +#include + +#ifndef QT_NO_MIMETYPE + #include #include @@ -108,4 +112,6 @@ Q_CORE_EXPORT QDebug operator<<(QDebug debug, const QMimeType &mime); #endif QT_END_NAMESPACE -#endif // QMIMETYPE_H + +#endif // QT_NO_MIMETYPE +#endif // QMIMETYPE_H diff --git a/src/corelib/mimetypes/qmimetype_p.h b/src/corelib/mimetypes/qmimetype_p.h index bfaf32422e..bf533bbcb0 100644 --- a/src/corelib/mimetypes/qmimetype_p.h +++ b/src/corelib/mimetypes/qmimetype_p.h @@ -47,6 +47,8 @@ #include "qmimetype.h" +#ifndef QT_NO_MIMETYPE + #include #include @@ -112,4 +114,5 @@ QT_END_NAMESPACE QT_END_NAMESPACE #endif +#endif // QT_NO_MIMETYPE #endif // QMIMETYPE_P_H diff --git a/src/corelib/mimetypes/qmimetypeparser.cpp b/src/corelib/mimetypes/qmimetypeparser.cpp index 1af426d7e7..9610162c4f 100644 --- a/src/corelib/mimetypes/qmimetypeparser.cpp +++ b/src/corelib/mimetypes/qmimetypeparser.cpp @@ -35,6 +35,8 @@ #include "qmimetypeparser_p.h" +#ifndef QT_NO_MIMETYPE + #include "qmimetype_p.h" #include "qmimemagicrulematcher_p.h" @@ -341,3 +343,5 @@ bool QMimeTypeParserBase::parse(QIODevice *dev, const QString &fileName, QString } QT_END_NAMESPACE + +#endif // QT_NO_MIMETYPE diff --git a/src/corelib/mimetypes/qmimetypeparser_p.h b/src/corelib/mimetypes/qmimetypeparser_p.h index 292a5ab38e..2be4380cee 100644 --- a/src/corelib/mimetypes/qmimetypeparser_p.h +++ b/src/corelib/mimetypes/qmimetypeparser_p.h @@ -47,6 +47,9 @@ // #include "qmimedatabase_p.h" + +#ifndef QT_NO_MIMETYPE + #include "qmimeprovider_p.h" QT_BEGIN_NAMESPACE @@ -118,4 +121,5 @@ private: QT_END_NAMESPACE +#endif // QT_NO_MIMETYPE #endif // MIMETYPEPARSER_P_H -- cgit v1.2.3