[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
use non-UTF-8 locales on MacOS X
From: |
Bruno Haible |
Subject: |
use non-UTF-8 locales on MacOS X |
Date: |
Mon, 26 Jan 2009 03:09:59 +0100 |
User-agent: |
KMail/1.9.9 |
Now that the 'localcharset' module supports non-UTF-8 locales on MacOS X,
some special code in m4/locale-*.m4 can be removed: The locales
fr_FR.ISO8859-1, ja_JP.eucJP, zh_CN.GB18030 can be used; they don't cause
test suite failures in gnulib.
2009-01-25 Bruno Haible <address@hidden>
* m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
fr_FR.ISO8859-1 locale on MacOS X.
* m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
ja_JP.eucJP locale on MacOS X.
* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
zh_CN.GB18030 locale on MacOS X.
*** m4/locale-fr.m4.orig 2009-01-26 03:06:01.000000000 +0100
--- m4/locale-fr.m4 2009-01-26 02:06:22.000000000 +0100
***************
*** 1,4 ****
! # locale-fr.m4 serial 10
dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
--- 1,4 ----
! # locale-fr.m4 serial 11
dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
***************
*** 12,36 ****
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
AC_CACHE_CHECK([for a traditional french locale], [gt_cv_locale_fr], [
! macosx=
! changequote(,)dnl
! case "$host_os" in
! darwin[56]*) ;;
! darwin*) macosx=yes;;
! esac
! changequote([,])dnl
! if test -n "$macosx"; then
! # On Darwin 7 (MacOS X), the libc supports some locales in non-UTF-8
! # encodings, but the kernel does not support them. The documentation
! # says:
! # "... all code that calls BSD system routines should ensure
! # that the const *char parameters of these routines are in UTF-8
! # encoding. All BSD system functions expect their string
! # parameters to be in UTF-8 encoding and nothing else."
! # See the comments in config.charset. Therefore we bypass the test.
! gt_cv_locale_fr=none
! else
! AC_LANG_CONFTEST([AC_LANG_SOURCE([
changequote(,)dnl
#include <locale.h>
#include <time.h>
--- 12,18 ----
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
AC_CACHE_CHECK([for a traditional french locale], [gt_cv_locale_fr], [
! AC_LANG_CONFTEST([AC_LANG_SOURCE([
changequote(,)dnl
#include <locale.h>
#include <time.h>
***************
*** 75,116 ****
return 0;
}
changequote([,])dnl
! ])])
! if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
! # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
! # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
! # configure script would override the LC_ALL setting. Likewise for
! # LC_CTYPE, which is also set at the beginning of the configure
script.
! # Test for the usual locale name.
! if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null;
then
! gt_cv_locale_fr=fr_FR
else
! # Test for the locale name with explicit encoding suffix.
! if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_fr=fr_FR.ISO-8859-1
else
! # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
! if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_fr=fr_FR.ISO8859-1
else
! # Test for the HP-UX locale name.
! if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_fr=fr_FR.iso88591
else
! # Test for the Solaris 7 locale name.
! if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_fr=fr
! else
! # None found.
! gt_cv_locale_fr=none
! fi
fi
fi
fi
fi
fi
- rm -fr conftest*
fi
])
LOCALE_FR=$gt_cv_locale_fr
AC_SUBST([LOCALE_FR])
--- 57,97 ----
return 0;
}
changequote([,])dnl
! ])])
! if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
! # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
! # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
! # configure script would override the LC_ALL setting. Likewise for
! # LC_CTYPE, which is also set at the beginning of the configure script.
! # Test for the usual locale name.
! if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
! gt_cv_locale_fr=fr_FR
! else
! # Test for the locale name with explicit encoding suffix.
! if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_fr=fr_FR.ISO-8859-1
else
! # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
! if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_fr=fr_FR.ISO8859-1
else
! # Test for the HP-UX locale name.
! if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_fr=fr_FR.iso88591
else
! # Test for the Solaris 7 locale name.
! if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null;
then
! gt_cv_locale_fr=fr
else
! # None found.
! gt_cv_locale_fr=none
fi
fi
fi
fi
fi
fi
+ rm -fr conftest*
])
LOCALE_FR=$gt_cv_locale_fr
AC_SUBST([LOCALE_FR])
*** m4/locale-ja.m4.orig 2009-01-26 03:06:01.000000000 +0100
--- m4/locale-ja.m4 2009-01-26 02:05:39.000000000 +0100
***************
*** 1,4 ****
! # locale-ja.m4 serial 6
dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
--- 1,4 ----
! # locale-ja.m4 serial 7
dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
***************
*** 12,36 ****
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
AC_CACHE_CHECK([for a traditional japanese locale], [gt_cv_locale_ja], [
! macosx=
! changequote(,)dnl
! case "$host_os" in
! darwin[56]*) ;;
! darwin*) macosx=yes;;
! esac
! changequote([,])dnl
! if test -n "$macosx"; then
! # On Darwin 7 (MacOS X), the libc supports some locales in non-UTF-8
! # encodings, but the kernel does not support them. The documentation
! # says:
! # "... all code that calls BSD system routines should ensure
! # that the const *char parameters of these routines are in UTF-8
! # encoding. All BSD system functions expect their string
! # parameters to be in UTF-8 encoding and nothing else."
! # See the comments in config.charset. Therefore we bypass the test.
! gt_cv_locale_ja=none
! else
! AC_LANG_CONFTEST([AC_LANG_SOURCE([
changequote(,)dnl
#include <locale.h>
#include <time.h>
--- 12,18 ----
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
AC_CACHE_CHECK([for a traditional japanese locale], [gt_cv_locale_ja], [
! AC_LANG_CONFTEST([AC_LANG_SOURCE([
changequote(,)dnl
#include <locale.h>
#include <time.h>
***************
*** 79,125 ****
return 0;
}
changequote([,])dnl
! ])])
! if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
! # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
! # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
! # configure script would override the LC_ALL setting. Likewise for
! # LC_CTYPE, which is also set at the beginning of the configure
script.
! # Test for the AIX locale name.
! if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null;
then
! gt_cv_locale_ja=ja_JP
else
! # Test for the locale name with explicit encoding suffix.
! if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_ja=ja_JP.EUC-JP
else
! # Test for the HP-UX, OSF/1, NetBSD locale name.
! if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_ja=ja_JP.eucJP
else
! # Test for the IRIX, FreeBSD locale name.
! if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_ja=ja_JP.EUC
else
! # Test for the Solaris 7 locale name.
! if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_ja=ja
else
! # Special test for NetBSD 1.6.
! if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
! gt_cv_locale_ja=ja_JP.eucJP
! else
! # None found.
! gt_cv_locale_ja=none
! fi
fi
fi
fi
fi
fi
fi
- rm -fr conftest*
fi
])
LOCALE_JA=$gt_cv_locale_ja
AC_SUBST([LOCALE_JA])
--- 61,106 ----
return 0;
}
changequote([,])dnl
! ])])
! if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
! # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
! # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
! # configure script would override the LC_ALL setting. Likewise for
! # LC_CTYPE, which is also set at the beginning of the configure script.
! # Test for the AIX locale name.
! if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
! gt_cv_locale_ja=ja_JP
! else
! # Test for the locale name with explicit encoding suffix.
! if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_ja=ja_JP.EUC-JP
else
! # Test for the HP-UX, OSF/1, NetBSD locale name.
! if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_ja=ja_JP.eucJP
else
! # Test for the IRIX, FreeBSD locale name.
! if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_ja=ja_JP.EUC
else
! # Test for the Solaris 7 locale name.
! if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null;
then
! gt_cv_locale_ja=ja
else
! # Special test for NetBSD 1.6.
! if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
! gt_cv_locale_ja=ja_JP.eucJP
else
! # None found.
! gt_cv_locale_ja=none
fi
fi
fi
fi
fi
fi
fi
+ rm -fr conftest*
])
LOCALE_JA=$gt_cv_locale_ja
AC_SUBST([LOCALE_JA])
*** m4/locale-zh.m4.orig 2009-01-26 03:06:01.000000000 +0100
--- m4/locale-zh.m4 2009-01-26 02:07:09.000000000 +0100
***************
*** 1,4 ****
! # locale-zh.m4 serial 5
dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
--- 1,4 ----
! # locale-zh.m4 serial 6
dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
***************
*** 12,36 ****
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
AC_CACHE_CHECK([for a transitional chinese locale], [gt_cv_locale_zh_CN], [
! macosx=
! changequote(,)dnl
! case "$host_os" in
! darwin[56]*) ;;
! darwin*) macosx=yes;;
! esac
! changequote([,])dnl
! if test -n "$macosx"; then
! # On Darwin 7 (MacOS X), the libc supports some locales in non-UTF-8
! # encodings, but the kernel does not support them. The documentation
! # says:
! # "... all code that calls BSD system routines should ensure
! # that the const *char parameters of these routines are in UTF-8
! # encoding. All BSD system functions expect their string
! # parameters to be in UTF-8 encoding and nothing else."
! # See the comments in config.charset. Therefore we bypass the test.
! gt_cv_locale_zh_CN=none
! else
! AC_LANG_CONFTEST([AC_LANG_SOURCE([
changequote(,)dnl
#include <locale.h>
#include <stdlib.h>
--- 12,18 ----
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
AC_CACHE_CHECK([for a transitional chinese locale], [gt_cv_locale_zh_CN], [
! AC_LANG_CONFTEST([AC_LANG_SOURCE([
changequote(,)dnl
#include <locale.h>
#include <stdlib.h>
***************
*** 80,110 ****
return 0;
}
changequote([,])dnl
! ])])
! if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
! # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
! # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
! # configure script would override the LC_ALL setting. Likewise for
! # LC_CTYPE, which is also set at the beginning of the configure
script.
! # Test for the locale name without encoding suffix.
! if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null;
then
! gt_cv_locale_zh_CN=zh_CN
else
! # Test for the locale name with explicit encoding suffix.
! if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_zh_CN=zh_CN.GB18030
! else
! # None found.
! gt_cv_locale_zh_CN=none
! fi
fi
- else
- # If there was a link error, due to mblen(), the system is so old that
- # it certainly doesn't have a chinese locale.
- gt_cv_locale_zh_CN=none
fi
! rm -fr conftest*
fi
])
LOCALE_ZH_CN=$gt_cv_locale_zh_CN
AC_SUBST([LOCALE_ZH_CN])
--- 62,91 ----
return 0;
}
changequote([,])dnl
! ])])
! if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
! # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
! # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
! # configure script would override the LC_ALL setting. Likewise for
! # LC_CTYPE, which is also set at the beginning of the configure script.
! # Test for the locale name without encoding suffix.
! if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
! gt_cv_locale_zh_CN=zh_CN
! else
! # Test for the locale name with explicit encoding suffix.
! if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit)
2>/dev/null; then
! gt_cv_locale_zh_CN=zh_CN.GB18030
else
! # None found.
! gt_cv_locale_zh_CN=none
fi
fi
! else
! # If there was a link error, due to mblen(), the system is so old that
! # it certainly doesn't have a chinese locale.
! gt_cv_locale_zh_CN=none
fi
+ rm -fr conftest*
])
LOCALE_ZH_CN=$gt_cv_locale_zh_CN
AC_SUBST([LOCALE_ZH_CN])
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- use non-UTF-8 locales on MacOS X,
Bruno Haible <=