[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make check fails for gettext-0.16 under Solaris 9
From: |
Bruno Haible |
Subject: |
Re: make check fails for gettext-0.16 under Solaris 9 |
Date: |
Tue, 12 Dec 2006 15:11:00 +0100 |
User-agent: |
KMail/1.9.1 |
Ralf Menzel wrote:
> I had at look at the failure of the recode-sr-latin-2 test. Here is my
> conclusion:
>
> 1. recode-sr-latin-2 tries to find out if there is a EUC-JP locale on
> my system by calling testlocale (in gettext-tools/tests).
>
> 2. I have no EUC-JP locale installed on my system.
>
> 3. testlocale does only test locales on systems where the following
> holds:
>
> defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2)
>
> 4. As this doesn't hold here (Solaris 9) testlocale claims that my
> system does have a EUC-JP locale.
Thank you for the analysis. I'm applying this patch, to fix it.
gettext-tools/ChangeLog
2006-12-10 Bruno Haible <address@hidden>
* configure.ac: Invoke gt_LOCALE_JA.
gettext-tools/m4/ChangeLog
2006-12-10 Bruno Haible <address@hidden>
* locale-ja.m4: New file.
* Makefile.am (EXTRA_DIST): Add it.
gettext-tools/tests/ChangeLog
2006-12-10 Bruno Haible <address@hidden>
Fix a test failure on Solaris.
* Makefile.am (TESTS_ENVIRONMENT): Also set LOCALE_JA.
* recode-sr-latin-2: Use the LOCALE_JA value from the Makefile,
instead of using the 'testlocale' program.
diff -r -c3 --exclude='*.po*' --exclude='*.info*' --exclude='*_*.html'
--exclude='*.*.html' --exclude='*.[13]' --exclude='*.1.in'
--exclude=Makefile.in --exclude=aclocal.m4 --exclude=configure
--exclude=config.h.in --exclude=version.texi --exclude=stamp-vti
--exclude='po-*-gen*.[ch]' --exclude='*.o' --exclude='*.lo' --exclude='*.gmo'
--exclude=ABOUT-NLS --exclude=gnulib-lib --exclude=gnulib-m4
--exclude=Makefile.gnulib --exclude='javadoc[12]' --exclude=CVS
gettext-cvs/gettext-tools/configure.ac gettext-6/gettext-tools/configure.ac
*** gettext-cvs/gettext-tools/configure.ac Thu Oct 26 04:59:28 2006
--- gettext-6/gettext-tools/configure.ac Mon Dec 11 01:54:07 2006
***************
*** 289,298 ****
CROSS_COMPILING=$cross_compiling
AC_SUBST(CROSS_COMPILING)
! dnl Checks for optional programs for the tests/lang-* tests.
gt_PROG_ANSI_CXX
gt_LOCALE_FR
gt_LOCALE_FR_UTF8
dnl Check whether to execute tests that rely on libasprintf.
dnl This test must be consistent with gettext-runtime/configure.ac.
--- 289,299 ----
CROSS_COMPILING=$cross_compiling
AC_SUBST(CROSS_COMPILING)
! dnl Checks for optional programs for the tests/lang-*, tests/recode-* tests.
gt_PROG_ANSI_CXX
gt_LOCALE_FR
gt_LOCALE_FR_UTF8
+ gt_LOCALE_JA
dnl Check whether to execute tests that rely on libasprintf.
dnl This test must be consistent with gettext-runtime/configure.ac.
diff -r -c3 --exclude='*.po*' --exclude='*.info*' --exclude='*_*.html'
--exclude='*.*.html' --exclude='*.[13]' --exclude='*.1.in'
--exclude=Makefile.in --exclude=aclocal.m4 --exclude=configure
--exclude=config.h.in --exclude=version.texi --exclude=stamp-vti
--exclude='po-*-gen*.[ch]' --exclude='*.o' --exclude='*.lo' --exclude='*.gmo'
--exclude=ABOUT-NLS --exclude=gnulib-lib --exclude=gnulib-m4
--exclude=Makefile.gnulib --exclude='javadoc[12]' --exclude=CVS
gettext-cvs/gettext-tools/m4/Makefile.am gettext-6/gettext-tools/m4/Makefile.am
*** gettext-cvs/gettext-tools/m4/Makefile.am Sun Oct 1 21:35:42 2006
--- gettext-6/gettext-tools/m4/Makefile.am Mon Dec 11 01:53:20 2006
***************
*** 48,53 ****
--- 48,54 ----
hostname.m4 \
libgrep.m4 \
locale-fr.m4 \
+ locale-ja.m4 \
openmp.m4 \
regex.m4 \
setlocale.m4 \
Only in gettext-6/gettext-tools/m4: locale-ja.m4
diff -r -c3 --exclude='*.po*' --exclude='*.info*' --exclude='*_*.html'
--exclude='*.*.html' --exclude='*.[13]' --exclude='*.1.in'
--exclude=Makefile.in --exclude=aclocal.m4 --exclude=configure
--exclude=config.h.in --exclude=version.texi --exclude=stamp-vti
--exclude='po-*-gen*.[ch]' --exclude='*.o' --exclude='*.lo' --exclude='*.gmo'
--exclude=ABOUT-NLS --exclude=gnulib-lib --exclude=gnulib-m4
--exclude=Makefile.gnulib --exclude='javadoc[12]' --exclude=CVS
gettext-cvs/gettext-tools/tests/Makefile.am
gettext-6/gettext-tools/tests/Makefile.am
*** gettext-cvs/gettext-tools/tests/Makefile.am Wed Oct 4 03:35:20 2006
--- gettext-6/gettext-tools/tests/Makefile.am Mon Dec 11 01:54:56 2006
***************
*** 173,178 ****
--- 173,179 ----
TESTLIBASPRINTF='@TESTLIBASPRINTF@' \
LOCALE_FR='@LOCALE_FR@' \
LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
host_os='@host_os@' \
CONFIG_SHELL='$(SHELL)' \
$(SHELL)
diff -r -c3 --exclude='*.po*' --exclude='*.info*' --exclude='*_*.html'
--exclude='*.*.html' --exclude='*.[13]' --exclude='*.1.in'
--exclude=Makefile.in --exclude=aclocal.m4 --exclude=configure
--exclude=config.h.in --exclude=version.texi --exclude=stamp-vti
--exclude='po-*-gen*.[ch]' --exclude='*.o' --exclude='*.lo' --exclude='*.gmo'
--exclude=ABOUT-NLS --exclude=gnulib-lib --exclude=gnulib-m4
--exclude=Makefile.gnulib --exclude='javadoc[12]' --exclude=CVS
gettext-cvs/gettext-tools/tests/recode-sr-latin-2
gettext-6/gettext-tools/tests/recode-sr-latin-2
*** gettext-cvs/gettext-tools/tests/recode-sr-latin-2 Sun Jun 18 06:13:59 2006
--- gettext-6/gettext-tools/tests/recode-sr-latin-2 Mon Dec 11 02:03:22 2006
***************
*** 8,32 ****
trap 'rm -fr $tmpfiles' 1 2 3 15
# Test whether a specific EUC-JP locale is installed.
! case "$host_os" in
! aix*)
! LOCALE_JA_EUCJP=ja_JP ;;
! hpux* | osf* | netbsd*)
! LOCALE_JA_EUCJP=ja_JP.eucJP ;;
! irix* | freebsd* | darwin*)
! LOCALE_JA_EUCJP=ja_JP.EUC ;;
! *)
! LOCALE_JA_EUCJP=ja_JP.EUC-JP ;;
! esac
! if test $LOCALE_JA_EUCJP != none; then
! LC_ALL=$LOCALE_JA_EUCJP ./testlocale 2>/dev/null
! case $? in
! 0) ;;
! 77) LOCALE_JA_EUCJP=none;;
! *) exit 1;;
! esac
! fi
! if test $LOCALE_JA_EUCJP = none; then
if test -f /usr/bin/localedef; then
echo "Skipping test: no japanese EUC-JP locale is installed"
else
--- 8,23 ----
trap 'rm -fr $tmpfiles' 1 2 3 15
# Test whether a specific EUC-JP locale is installed.
! : ${LOCALE_JA=ja_JP}
! #if test $LOCALE_JA != none; then
! # LC_ALL=$LOCALE_JA ./testlocale 2>/dev/null
! # case $? in
! # 0) ;;
! # 77) LOCALE_JA=none;;
! # *) exit 1;;
! # esac
! #fi
! if test $LOCALE_JA = none; then
if test -f /usr/bin/localedef; then
echo "Skipping test: no japanese EUC-JP locale is installed"
else
***************
*** 37,49 ****
# Test whether locale_charset() in this locale really returns EUC-JP.
# (On some systems, config.charset supports only UTF-8 locales.)
! case "$host_os" in
! darwin[56]*) ;;
! darwin* | beos*)
! echo "Skipping test: no EUC-JP locale is supported"
! rm -fr $tmpfiles; exit 77
! ;;
! esac
tmpfiles="$tmpfiles rec-srl-2.in"
cat <<\EOF > rec-srl-2.in
--- 28,40 ----
# Test whether locale_charset() in this locale really returns EUC-JP.
# (On some systems, config.charset supports only UTF-8 locales.)
! #case "$host_os" in
! # darwin[56]*) ;;
! # darwin* | beos*)
! # echo "Skipping test: no EUC-JP locale is supported"
! # rm -fr $tmpfiles; exit 77
! # ;;
! #esac
tmpfiles="$tmpfiles rec-srl-2.in"
cat <<\EOF > rec-srl-2.in
***************
*** 53,59 ****
tmpfiles="$tmpfiles rec-srl-2.out"
: ${RECODE=recode}
! LC_ALL=$LOCALE_JA_EUCJP \
${RECODE}-sr-latin < rec-srl-2.in > rec-srl-2.out \
|| { rm -fr $tmpfiles; exit 1; }
--- 44,50 ----
tmpfiles="$tmpfiles rec-srl-2.out"
: ${RECODE=recode}
! LC_ALL=$LOCALE_JA \
${RECODE}-sr-latin < rec-srl-2.in > rec-srl-2.out \
|| { rm -fr $tmpfiles; exit 1; }
========================= gettext-tools/m4/locale-ja.m4 ======================
# locale-ja.m4 serial 1 (gettext-0.16.2)
dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl Determine the name of a japanese locale with EUC-JP encoding.
AC_DEFUN([gt_LOCALE_JA],
[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
AC_CACHE_CHECK([for a traditional japanese locale], gt_cv_locale_ja, [
macosx=
case "$host_os" in
darwin[56]*) ;;
darwin*) macosx=yes;;
esac
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>
#if HAVE_LANGINFO_CODESET
# include <langinfo.h>
#endif
struct tm t;
char buf[16];
int main ()
{
const char *p;
/* Check whether the given locale name is recognized by the system. */
if (setlocale (LC_ALL, "") == NULL) return 1;
/* Check whether nl_langinfo(CODESET) is nonempty.
On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
is empty, and the behaviour of Tcl 8.4 in this locale is not useful. */
#if HAVE_LANGINFO_CODESET
if (nl_langinfo (CODESET) [0] == '\0') return 1;
#endif
/* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
This excludes the UTF-8 encoding. */
t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
for (p = buf; *p != '\0'; p++)
if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
return 1;
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])
])
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: make check fails for gettext-0.16 under Solaris 9,
Bruno Haible <=