summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Kümmel <syntheticpp@gmx.net>2012-10-18 17:20:41 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-03 18:37:34 +0100
commit8f530118d75b288d8d825ff19640e376e8f98cdf (patch)
treeb8e1e42a30f2095261d9a03367e2add711853d05
parent7080cc765c9566e852797dbaf60fe50a2fcc2b72 (diff)
x-compile with mingw: fix codec linker errors
Don't build codecs into Core when plugins are used. Qt5 doesn't use plugins for the codecs any more and they are part of Core. This change was considered too drastic for Qt 4.8, so no backport is possible. Task-number: QTBUG-27618 Change-Id: I01347645cedc6f4ecaf3158ea8336b0672ac9a46 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rwxr-xr-xconfigure5
-rw-r--r--src/corelib/codecs/qtextcodec.cpp8
2 files changed, 9 insertions, 4 deletions
diff --git a/configure b/configure
index 25a27de3a4..08d9270a89 100755
--- a/configure
+++ b/configure
@@ -8382,6 +8382,11 @@ if [ "$PLATFORM_QWS" != "yes" -a "$PLATFORM_QPA" != "yes" ]; then
[ "$CFG_GRAPHICS_SYSTEM" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_RUNTIME"
fi
+# On Windows codec plugins are used (hardcoded in .pro files)
+if [ "$XPLATFORM_MINGW" = "yes" ]; then
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_CODEC_PLUGINS"
+fi
+
# X11/Unix/Mac only configs
[ "$CFG_ICONV" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICONV"
[ "$CFG_GLIB" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLIB"
diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
index 187fc09136..ca5c879602 100644
--- a/src/corelib/codecs/qtextcodec.cpp
+++ b/src/corelib/codecs/qtextcodec.cpp
@@ -66,7 +66,7 @@
# include "qtsciicodec_p.h"
# include "qisciicodec_p.h"
#if !defined(Q_OS_SYMBIAN) && !defined(Q_OS_INTEGRITY)
-# if defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED)
+# if defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED) && !defined(QT_CODEC_PLUGINS)
// no iconv(3) support, must build all codecs into the library
# include "../../plugins/codecs/cn/qgb18030codec.h"
# include "../../plugins/codecs/jp/qeucjpcodec.h"
@@ -74,7 +74,7 @@
# include "../../plugins/codecs/jp/qsjiscodec.h"
# include "../../plugins/codecs/kr/qeuckrcodec.h"
# include "../../plugins/codecs/tw/qbig5codec.h"
-# endif // QT_NO_ICONV
+# endif // QT_NO_ICONV && !QT_BOOTSTRAPPED && !QT_CODEC_PLUGINS
# if defined(Q_WS_X11) && !defined(QT_BOOTSTRAPPED)
# include "qfontlaocodec_p.h"
# include "../../plugins/codecs/jp/qfontjpcodec.h"
@@ -766,7 +766,7 @@ static void setup()
#if !defined(Q_OS_SYMBIAN) && !defined(Q_OS_INTEGRITY)
-# if defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED)
+# if defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED) && !defined(QT_CODEC_PLUGINS)
// no asian codecs when bootstrapping, sorry
(void)new QGb18030Codec;
(void)new QGbkCodec;
@@ -778,7 +778,7 @@ static void setup()
(void)new QCP949Codec;
(void)new QBig5Codec;
(void)new QBig5hkscsCodec;
-# endif // QT_NO_ICONV && !QT_BOOTSTRAPPED
+# endif // QT_NO_ICONV && !QT_BOOTSTRAPPED && !QT_CODEC_PLUGINS
#endif //Q_OS_SYMBIAN
#endif // QT_NO_CODECS