diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | configure.ac | 49 |
2 files changed, 29 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog index 942c2be46..8f6dfd1fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2006-08-04 Peter Stephenson <pws@csr.com> + * 22582: configure.ac: Test for functions needed for multibyte + mode instead of basing MULTIBYTE_SUPPORT on marginally relevant + preprocessor definition. Installation docs still need changing. + * 22583: Peter A. Castro: Src/Modules/mathfunc.c: Cygwin erand48() apparently needs initialisation. diff --git a/configure.ac b/configure.ac index 3feae15ea..75f4d7687 100644 --- a/configure.ac +++ b/configure.ac @@ -1122,7 +1122,7 @@ AC_CHECK_FUNCS(strftime difftime gettimeofday \ pcre_compile pcre_study pcre_exec \ nl_langinfo \ erand48 open_memstream \ - wctomb mbrtowc wcrtomb iconv \ + wctomb iconv \ grantpt unlockpt ptsname \ htons ntohs) AC_FUNC_STRCOLL @@ -2079,33 +2079,34 @@ int ptsname();], , fi fi -dnl --------------------- -dnl multibyte ZLE support -dnl --------------------- +dnl ----------------- +dnl multibyte support +dnl ----------------- AC_ARG_ENABLE(multibyte, -AC_HELP_STRING([--enable-multibyte], [support multibyte chars in the zsh line editor]), -[zsh_cv_c_zle_unicode_support=$enableval], -[AC_CACHE_CHECK(if the system adequately supports multibyte chars, - zsh_cv_c_zle_unicode_support, - [AC_TRY_COMPILE([ -#ifdef HAVE_LOCALE_H -# include <locale.h> -#endif - ], [ -#if defined(HAVE_WCHAR_H) && defined(HAVE_WCTOMB) \ - && defined(HAVE_MBRTOWC) && defined(HAVE_WCRTOMB) \ - && defined (__STDC_ISO_10646__) - /* All is well */ -#else -# error Not supported. -#endif - ], - zsh_cv_c_zle_unicode_support=yes, - zsh_cv_c_zle_unicode_support=no)]) +AC_HELP_STRING([--enable-multibyte], [support multibyte characters]), +[zsh_cv_c_unicode_support=$enableval], +[AC_CACHE_VAL(zsh_cv_c_unicode_support, + AC_MSG_NOTICE([checking for functions supporting multibyte characters]) + [zfuncs_absent= + for zfunc in iswalnum iswcntrl iswdigit iswgraph iswlower iswprint \ +iswpunct iswspace iswupper iswxdigit mbrlen mbrtowc towupper towlower \ +wcschr wcscpy wcslen wcsncmp wcsncpy wcrtomb wcwidth wmemchr wmemcmp \ +wmemcpy wmemmove wmemset; do + AC_CHECK_FUNC($zfunc, + [:], [zfuncs_absent="$zfuncs_absent $zfunc"]) + done + if test x"$zfuncs_absent" = x; then + AC_MSG_NOTICE([all functions found, multibyte support enabled]) + zsh_cv_c_unicode_support=yes + else + AC_MSG_NOTICE([missing functions, multibyte support disabled]) + zsh_cv_c_unicode_support=no + fi + ]) ]) AH_TEMPLATE([MULTIBYTE_SUPPORT], [Define to 1 if you want support for multibyte character sets.]) -if test x$zsh_cv_c_zle_unicode_support = xyes; then +if test x$zsh_cv_c_unicode_support = xyes; then AC_DEFINE(MULTIBYTE_SUPPORT) fi |