aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2006-05-25 11:53:53 +0200
committerJelmer Vernooij <jelmer@samba.org>2006-05-25 11:53:53 +0200
commit0a69d7bf97b76852c25b7f6634204c5fb5532487 (patch)
treee3616474ffe1560687136ffb458c9d2c4ce8e295
parent1c8a7a232935d1c2b7f1916faae11d730624bdc3 (diff)
Use iconv from GLib if available
-rwxr-xr-xconfigure6
-rw-r--r--util.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/configure b/configure
index a602fe3a..63047303 100755
--- a/configure
+++ b/configure
@@ -162,24 +162,28 @@ if [ -z "$PKG_CONFIG" ]; then
PKG_CONFIG=pkg-config
fi
+GLIB=0
+
if $PKG_CONFIG --version > /dev/null 2>/dev/null && $PKG_CONFIG glib-2.0; then
cat<<EOF>>Makefile.settings
EFLAGS+=`$PKG_CONFIG --libs glib-2.0 gmodule-2.0`
CFLAGS+=`$PKG_CONFIG --cflags glib-2.0 gmodule-2.0`
EOF
echo '#define GLIB2' >> config.h
+ GLIB=2
elif type glib-config > /dev/null 2> /dev/null; then
cat<<EOF>>Makefile.settings
EFLAGS+=`glib-config --libs`
CFLAGS+=`glib-config --cflags`
EOF
echo '#define GLIB1' >> config.h
+ GLIB=1
else
echo 'Cannot find glib development libraries, aborting. (Install libglib-dev?)'
exit 1;
fi
-if [ -r /usr/include/iconv.h ]; then
+if [ GLIB = 1 -o -r /usr/include/iconv.h ]; then
:;
elif [ -r /usr/local/include/iconv.h ]; then
echo CFLAGS+=-I/usr/local/include >> Makefile.settings;
diff --git a/util.c b/util.c
index 43e1c19f..8f8ec7b3 100644
--- a/util.c
+++ b/util.c
@@ -38,7 +38,14 @@
#include <ctype.h>
#include <glib.h>
#include <time.h>
+#ifdef GLIB2
+#define iconv_t GIConv
+#define iconv_open g_iconv_open
+#define iconv_close g_iconv_close
+#define iconv g_iconv
+#else
#include <iconv.h>
+#endif
void strip_linefeed(gchar *text)
{