summaryrefslogtreecommitdiff
path: root/source3/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'source3/configure.in')
-rw-r--r--source3/configure.in69
1 files changed, 52 insertions, 17 deletions
diff --git a/source3/configure.in b/source3/configure.in
index 6f38adfd92..0fa6d8f748 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -1570,29 +1570,64 @@ dnl there might be a working iconv further down the list of LOOK_DIRS
LIBS="$LIBS -L$ICONV_LOCATION/lib"
fi
AC_CACHE_CHECK([for working iconv],samba_cv_HAVE_NATIVE_ICONV,[
- AC_TRY_RUN([
-#include <$jm_cv_include>
-main(){
- iconv_t cd = iconv_open("ASCII", "UCS-2LE");
- if (cd == 0 || cd == (iconv_t)-1) {
- cd = iconv_open("CP850", "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;
-}
- ],
- samba_cv_HAVE_NATIVE_ICONV=yes,samba_cv_HAVE_NATIVE_ICONV=no,samba_cv_HAVE_NATIVE_ICONV=cross)])
+ default_dos_charset=no
+ default_display_charset=no
+ default_unix_charset=no
+ echo
+
+ # check for default dos charset name
+ for j in CP850 IBM850 ; do
+ rjs_CHARSET($j)
+ if test x"$ICONV_CHARSET" = x"$j"; then
+ default_dos_charset="\"$j\""
+ break
+ fi
+ done
+ # check for default display charset name
+ for j in ASCII 646 ; do
+ rjs_CHARSET($j)
+ if test x"$ICONV_CHARSET" = x"$j"; then
+ default_display_charset="\"$j\""
+ break
+ fi
+ done
+ # check for default unix charset name
+ for j in UTF-8 UTF8 ; do
+ rjs_CHARSET($j)
+ if test x"$ICONV_CHARSET" = x"$j"; then
+ default_unix_charset="\"$j\""
+ break
+ fi
+ done
+
+ if test "$default_dos_charset" != "no" -a \
+ "$default_dos_charset" != "cross" -a \
+ "$default_display_charset" != "no" -a \
+ "$default_display_charset" != "cross" -a \
+ "$default_unix_charset" != "no" -a \
+ "$default_unix_charset" != "cross"
+ then
+ samba_cv_HAVE_NATIVE_ICONV=yes
+ else if test "$default_dos_charset" = "cross" -o \
+ "$default_display_charset" = "cross" -o \
+ "$default_unix_charset" = "cross"
+ then
+ samba_cv_HAVE_NATIVE_ICONV=cross
+ else
+ samba_cv_HAVE_NATIVE_ICONV=no
+ fi
+ fi
+])
+
LIBS="$ic_save_LIBS"
if test x"$samba_cv_HAVE_NATIVE_ICONV" = x"yes"; then
CPPFLAGS=$save_CPPFLAGS
CFLAGS_ADD_DIR(CPPFLAGS, "$i/include")
export CPPFLAGS
AC_DEFINE(HAVE_NATIVE_ICONV,1,[Whether to use native iconv])
+ AC_DEFINE_UNQUOTED(DEFAULT_DOS_CHARSET,$default_dos_charset,[Default dos charset name])
+ AC_DEFINE_UNQUOTED(DEFAULT_DISPLAY_CHARSET,$default_display_charset,[Default display charset name])
+ AC_DEFINE_UNQUOTED(DEFAULT_UNIX_CHARSET,$default_unix_charset,[Default unix charset name])
break
fi
dnl We didn't find a working iconv, so keep going