summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre Rossi <pierre.rossi@nokia.com>2010-06-22 18:14:42 +0200
committerPierre Rossi <pierre.rossi@nokia.com>2010-06-30 22:00:29 +0200
commit5eefab7dfaf11c2c53c1fa856b6ed94b39d5a688 (patch)
tree02860e73dab95b71b73ce00b6c65a3552e03819f
parent6a218a31de60ea6f3f75fb6df014ef7323a264d6 (diff)
Use built-in iconv on Solaris if available
Task-number: QTBUG-1853 Reviewed-by: Thiago
-rw-r--r--config.tests/unix/sun-libiconv/sun-libiconv.pro2
-rwxr-xr-xconfigure3
-rw-r--r--src/corelib/codecs/codecs.pri4
3 files changed, 9 insertions, 0 deletions
diff --git a/config.tests/unix/sun-libiconv/sun-libiconv.pro b/config.tests/unix/sun-libiconv/sun-libiconv.pro
new file mode 100644
index 0000000000..00df8653c8
--- /dev/null
+++ b/config.tests/unix/sun-libiconv/sun-libiconv.pro
@@ -0,0 +1,2 @@
+SOURCES = ../gnu-libiconv/gnu-libiconv.cpp
+CONFIG -= qt dylib app_bundle
diff --git a/configure b/configure
index 7f6d43be54..4650229932 100755
--- a/configure
+++ b/configure
@@ -5154,6 +5154,8 @@ if [ "$CFG_ICONV" != "no" ]; then
CFG_ICONV=no
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
CFG_ICONV=yes
+ elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/sun-libiconv" "SUN libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+ CFG_ICONV=sun
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/gnu-libiconv" "GNU libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
CFG_ICONV=gnu
else
@@ -6675,6 +6677,7 @@ fi
[ "$CFG_NIS" = "yes" ] && QT_CONFIG="$QT_CONFIG nis"
[ "$CFG_CUPS" = "yes" ] && QT_CONFIG="$QT_CONFIG cups"
[ "$CFG_ICONV" = "yes" ] && QT_CONFIG="$QT_CONFIG iconv"
+[ "$CFG_ICONV" = "sun" ] && QT_CONFIG="$QT_CONFIG sun-libiconv"
[ "$CFG_ICONV" = "gnu" ] && QT_CONFIG="$QT_CONFIG gnu-libiconv"
[ "$CFG_GLIB" = "yes" ] && QT_CONFIG="$QT_CONFIG glib"
[ "$CFG_GSTREAMER" = "yes" ] && QT_CONFIG="$QT_CONFIG gstreamer"
diff --git a/src/corelib/codecs/codecs.pri b/src/corelib/codecs/codecs.pri
index c572e084d7..46d7dd46da 100644
--- a/src/corelib/codecs/codecs.pri
+++ b/src/corelib/codecs/codecs.pri
@@ -31,6 +31,10 @@ unix {
DEFINES += GNU_LIBICONV
!mac:LIBS_PRIVATE *= -liconv
+ } else:contains(QT_CONFIG,sun-libiconv) {
+ HEADERS += codecs/qiconvcodec_p.h
+ SOURCES += codecs/qiconvcodec.cpp
+ DEFINES += GNU_LIBICONV
} else:!symbian {
# no iconv, so we put all plugins in the library
HEADERS += \