summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorSérgio Martins <sergio.martins@kdab.com>2015-02-15 16:39:13 +0000
committerSérgio Martins <sergio.martins@kdab.com>2015-02-17 00:06:47 +0000
commitfbeeaf23fe1755bc28185781d8182ddcb4e7985a (patch)
treef6bcacd7251bfcf6bde3587e86ba3502f9a2033e /src/corelib
parent3c1d9911c4c327ebc8180efb31fa8e83b1f932fd (diff)
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 <oswald.buddenhagen@theqtcompany.com> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/global/qconfig-minimal.h3
-rw-r--r--src/corelib/global/qconfig-small.h3
-rw-r--r--src/corelib/global/qfeatures.txt6
-rw-r--r--src/corelib/mimetypes/mimetypes.pri6
-rw-r--r--src/corelib/mimetypes/qmimedatabase.cpp5
-rw-r--r--src/corelib/mimetypes/qmimedatabase.h7
-rw-r--r--src/corelib/mimetypes/qmimedatabase_p.h12
-rw-r--r--src/corelib/mimetypes/qmimeglobpattern.cpp4
-rw-r--r--src/corelib/mimetypes/qmimeglobpattern_p.h5
-rw-r--r--src/corelib/mimetypes/qmimemagicrule.cpp4
-rw-r--r--src/corelib/mimetypes/qmimemagicrule_p.h5
-rw-r--r--src/corelib/mimetypes/qmimemagicrulematcher.cpp3
-rw-r--r--src/corelib/mimetypes/qmimemagicrulematcher_p.h7
-rw-r--r--src/corelib/mimetypes/qmimeprovider.cpp4
-rw-r--r--src/corelib/mimetypes/qmimeprovider_p.h6
-rw-r--r--src/corelib/mimetypes/qmimetype.cpp4
-rw-r--r--src/corelib/mimetypes/qmimetype.h8
-rw-r--r--src/corelib/mimetypes/qmimetype_p.h3
-rw-r--r--src/corelib/mimetypes/qmimetypeparser.cpp4
-rw-r--r--src/corelib/mimetypes/qmimetypeparser_p.h4
20 files changed, 90 insertions, 13 deletions
diff --git a/src/corelib/global/qconfig-minimal.h b/src/corelib/global/qconfig-minimal.h
index de6f2401b8..f307e98dd7 100644
--- a/src/corelib/global/qconfig-minimal.h
+++ b/src/corelib/global/qconfig-minimal.h
@@ -297,6 +297,9 @@
#ifndef QT_NO_DESKTOPSERVICES
# define QT_NO_DESKTOPSERVICES
#endif
+#ifndef QT_NO_MIMETYPE
+# define QT_NO_MIMETYPE
+#endif
#ifndef QT_NO_SYSTEMTRAYICON
# define QT_NO_SYSTEMTRAYICON
#endif
diff --git a/src/corelib/global/qconfig-small.h b/src/corelib/global/qconfig-small.h
index 48c08e4f36..43ae101515 100644
--- a/src/corelib/global/qconfig-small.h
+++ b/src/corelib/global/qconfig-small.h
@@ -187,6 +187,9 @@
#ifndef QT_NO_DESKTOPSERVICES
# define QT_NO_DESKTOPSERVICES
#endif
+#ifndef QT_NO_MIMETYPE
+# define QT_NO_MIMETYPE
+#endif
#ifndef QT_NO_SYSTEMTRAYICON
# define QT_NO_SYSTEMTRAYICON
#endif
diff --git a/src/corelib/global/qfeatures.txt b/src/corelib/global/qfeatures.txt
index fb6e56ec7d..dec16eaef1 100644
--- a/src/corelib/global/qfeatures.txt
+++ b/src/corelib/global/qfeatures.txt
@@ -879,6 +879,12 @@ Section: Utilities
Requires:
Name: QDesktopServices
+Feature: MIMETYPE
+Description: Describes types of file or data, represented by a MIME type string.
+Section: Utilities
+Requires:
+Name: QMimeType
+
Feature: SYSTEMTRAYICON
Description: Provides an icon for an application in the system tray.
Section: Utilities
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 <qplatformdefs.h> // 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<QMimeType> 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 <QtCore/qmimetype.h>
+
+#ifndef QT_NO_MIMETYPE
+
#include <QtCore/qstringlist.h>
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 <QtCore/qhash.h>
-#include <QtCore/qmutex.h>
-
#include "qmimetype.h"
+
+#ifndef QT_NO_MIMETYPE
+
#include "qmimetype_p.h"
#include "qmimeglobpattern_p.h"
+#include <QtCore/qhash.h>
+#include <QtCore/qmutex.h>
+
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 <QRegExp>
#include <QStringList>
#include <QDebug>
@@ -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 <QtCore/qglobal.h>
+
+#ifndef QT_NO_MIMETYPE
+
#include <QtCore/qstringlist.h>
#include <QtCore/qhash.h>
@@ -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 <QtCore/QList>
#include <QtCore/QDebug>
#include <qendian.h>
@@ -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 <QtCore/qglobal.h>
+
+#ifndef QT_NO_MIMETYPE
+
#include <QtCore/qbytearray.h>
#include <QtCore/qscopedpointer.h>
#include <QtCore/qlist.h>
@@ -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 <QtCore/qbytearray.h>
#include <QtCore/qlist.h>
#include <QtCore/qstring.h>
-#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 <qstandardpaths.h>
#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 <QtCore/qdatetime.h>
#include "qmimedatabase_p.h"
+
+#ifndef QT_NO_MIMETYPE
+
+#include <QtCore/qdatetime.h>
#include <QtCore/qset.h>
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 <QtCore/qglobal.h>
+
+#ifndef QT_NO_MIMETYPE
+
#include <QtCore/qshareddata.h>
#include <QtCore/qstring.h>
@@ -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 <QtCore/qhash.h>
#include <QtCore/qstringlist.h>
@@ -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