Make strcasecmp() work right in multibyte locales.
[gnulib.git] / m4 / strcase.m4
1 # strcase.m4 serial 2
2 dnl Copyright (C) 2002, 2005 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
6
7 AC_DEFUN([gl_STRCASE],
8 [
9   gl_FUNC_STRCASECMP
10   gl_FUNC_STRNCASECMP
11 ])
12
13 AC_DEFUN([gl_FUNC_STRCASECMP],
14 [
15   dnl No known system has a strcasecmp() function that works correctly in
16   dnl multibyte locales. Therefore we use our version always.
17   AC_LIBOBJ(strcasecmp)
18   AC_DEFINE(strcasecmp, rpl_strcasecmp, [Define to rpl_strcasecmp always.])
19   gl_PREREQ_STRCASECMP
20 ])
21
22 AC_DEFUN([gl_FUNC_STRNCASECMP],
23 [
24   AC_REPLACE_FUNCS(strncasecmp)
25   if test $ac_cv_func_strncasecmp = no; then
26     gl_PREREQ_STRNCASECMP
27   fi
28 ])
29
30 # Prerequisites of lib/strcasecmp.c.
31 AC_DEFUN([gl_PREREQ_STRCASECMP], [
32   gl_FUNC_MBRTOWC
33 ])
34
35 # Prerequisites of lib/strncasecmp.c.
36 AC_DEFUN([gl_PREREQ_STRNCASECMP], [
37   :
38 ])