summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/aclocal.m419
-rw-r--r--source3/configure.in14
2 files changed, 30 insertions, 3 deletions
diff --git a/source3/aclocal.m4 b/source3/aclocal.m4
index acf36c6cbb..b069c516ed 100644
--- a/source3/aclocal.m4
+++ b/source3/aclocal.m4
@@ -609,6 +609,25 @@ AC_DEFUN(jm_ICONV,
fi
])
+AC_DEFUN(rjs_CHARSET
+[
+ dnl Find out if we can convert from $1 to UCS2-LE
+ AC_MSG_CHECKING(we can convert from $1 to UCS2-LE)
+ AC_TRY_RUN([
+#include <$jm_cv_include>
+main(){
+ iconv_t cd = iconv_open("$1", "UCS-2LE");
+ if (cd == 0 || cd == (iconv_t)-1) {
+ return -1;
+ }
+ return 0;
+}
+ ],ICONV_CHARSET=$1,ICONV_CHARSET="",])
+ if test x"$ICONV_CHARSET" != x; then
+ AC_MSG_RESULT($ICONV_CHARSET)
+ fi
+])
+
dnl CFLAGS_ADD_DIR(CFLAGS, $INCDIR)
dnl This function doesn't add -I/usr/include into CFLAGS
AC_DEFUN(CFLAGS_ADD_DIR,[
diff --git a/source3/configure.in b/source3/configure.in
index 9dcc53364b..16efcdec17 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -1550,9 +1550,7 @@ for i in $LOOK_DIRS ; do
dnl Try to find iconv(3)
jm_ICONV($i)
- CPPFLAGS=$save_CPPFLAGS
if test "$ICONV_FOUND" = yes; then
- LDFLAGS=$save_LDFLAGS
LIB_ADD_DIR(LDFLAGS, "$i/lib")
CFLAGS_ADD_DIR(CPPFLAGS, "$i/include")
LIBS="$save_LIBS $LIBS"
@@ -1570,7 +1568,15 @@ dnl there might be a working iconv further down the list of LOOK_DIRS
#include <$jm_cv_include>
main(){
iconv_t cd = iconv_open("ASCII", "UCS-2LE");
- if (cd == 0 || cd == (iconv_t)-1) return -1;
+ if (cd == 0 || cd == (iconv_t)-1) {
+ cd = iconv_open("ISO-8859-1", "UCS-2LE");
+ if (cd == 0 || cd == (iconv_t)-1) {
+ cd = iconv_open("IBM850", "UCS-2LE"); /* Solaris has this */
+ if (cd == 0 || cd == (iconv_t)-1) {
+ return -1;
+ }
+ }
+ }
return 0;
}
],
@@ -1582,6 +1588,8 @@ main(){
fi
dnl We didn't find a working iconv, so keep going
fi
+dnl We only need to clean these up here for the next pass through the loop
+ CPPFLAGS=$save_CPPFLAGS
LDFLAGS=$save_LDFLAGS
LIBS=$save_LIBS
export LDFLAGS LIBS CPPFLAGS