From 8f530118d75b288d8d825ff19640e376e8f98cdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20K=C3=BCmmel?= Date: Thu, 18 Oct 2012 17:20:41 +0200 Subject: 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 --- configure | 5 +++++ src/corelib/codecs/qtextcodec.cpp | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 25a27de..08d9270 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 187fc09..ca5c879 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 -- cgit v0.12