New module 'mbstok_r'.
[gnulib.git] / m4 / string_h.m4
1 # Configure a GNU-like replacement for <string.h>.
2
3 # Copyright (C) 2007 Free Software Foundation, Inc.
4 # This file is free software; the Free Software Foundation
5 # gives unlimited permission to copy and/or distribute it,
6 # with or without modifications, as long as this notice is preserved.
7
8 # Written by Paul Eggert.
9
10 AC_DEFUN([gl_HEADER_STRING_H],
11 [
12   dnl Use AC_REQUIRE here, so that the default behavior below is expanded
13   dnl once only, before all statements that occur in other macros.
14   AC_REQUIRE([gl_HEADER_STRING_H_BODY])
15 ])
16
17 AC_DEFUN([gl_HEADER_STRING_H_BODY],
18 [
19   AC_REQUIRE([AC_C_RESTRICT])
20   AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
21   AC_REQUIRE([gl_STRING_MODULE_INDICATOR_DEFAULTS])
22   gl_ABSOLUTE_HEADER([string.h])
23   ABSOLUTE_STRING_H=\"$gl_cv_absolute_string_h\"
24   AC_SUBST([ABSOLUTE_STRING_H])
25 ])
26
27 AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
28 [
29   dnl Assume proper GNU behavior unless another module says otherwise.
30   HAVE_DECL_MEMMEM=1;           AC_SUBST([HAVE_DECL_MEMMEM])
31   HAVE_MEMPCPY=1;               AC_SUBST([HAVE_MEMPCPY])
32   HAVE_DECL_MEMRCHR=1;          AC_SUBST([HAVE_DECL_MEMRCHR])
33   HAVE_STPCPY=1;                AC_SUBST([HAVE_STPCPY])
34   HAVE_STPNCPY=1;               AC_SUBST([HAVE_STPNCPY])
35   HAVE_STRCASECMP=1;            AC_SUBST([HAVE_STRCASECMP])
36   HAVE_DECL_STRNCASECMP=1;      AC_SUBST([HAVE_DECL_STRNCASECMP])
37   HAVE_STRCHRNUL=1;             AC_SUBST([HAVE_STRCHRNUL])
38   HAVE_DECL_STRDUP=1;           AC_SUBST([HAVE_DECL_STRDUP])
39   HAVE_STRNDUP=1;               AC_SUBST([HAVE_STRNDUP])
40   HAVE_DECL_STRNDUP=1;          AC_SUBST([HAVE_DECL_STRNDUP])
41   HAVE_DECL_STRNLEN=1;          AC_SUBST([HAVE_DECL_STRNLEN])
42   HAVE_STRPBRK=1;               AC_SUBST([HAVE_STRPBRK])
43   HAVE_STRSEP=1;                AC_SUBST([HAVE_STRSEP])
44   HAVE_STRCASESTR=1;            AC_SUBST([HAVE_STRCASESTR])
45   HAVE_DECL_STRTOK_R=1;         AC_SUBST([HAVE_DECL_STRTOK_R])
46 ])
47
48 AC_DEFUN([gl_STRING_MODULE_INDICATOR],
49 [
50   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
51   AC_REQUIRE([gl_STRING_MODULE_INDICATOR_DEFAULTS])
52   GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
53 ])
54
55 AC_DEFUN([gl_STRING_MODULE_INDICATOR_DEFAULTS],
56 [
57   GNULIB_MEMMEM=0;      AC_SUBST([GNULIB_MEMMEM])
58   GNULIB_MEMPCPY=0;     AC_SUBST([GNULIB_MEMPCPY])
59   GNULIB_MEMRCHR=0;     AC_SUBST([GNULIB_MEMRCHR])
60   GNULIB_STPCPY=0;      AC_SUBST([GNULIB_STPCPY])
61   GNULIB_STPNCPY=0;     AC_SUBST([GNULIB_STPNCPY])
62   GNULIB_STRCHRNUL=0;   AC_SUBST([GNULIB_STRCHRNUL])
63   GNULIB_STRDUP=0;      AC_SUBST([GNULIB_STRDUP])
64   GNULIB_STRNDUP=0;     AC_SUBST([GNULIB_STRNDUP])
65   GNULIB_STRNLEN=0;     AC_SUBST([GNULIB_STRNLEN])
66   GNULIB_STRPBRK=0;     AC_SUBST([GNULIB_STRPBRK])
67   GNULIB_STRSEP=0;      AC_SUBST([GNULIB_STRSEP])
68   GNULIB_STRCASESTR=0;  AC_SUBST([GNULIB_STRCASESTR])
69   GNULIB_STRTOK_R=0;    AC_SUBST([GNULIB_STRTOK_R])
70   GNULIB_MBSCHR=0;      AC_SUBST([GNULIB_MBSCHR])
71   GNULIB_MBSRCHR=0;     AC_SUBST([GNULIB_MBSRCHR])
72   GNULIB_MBSSTR=0;      AC_SUBST([GNULIB_MBSSTR])
73   GNULIB_MBSCASECMP=0;  AC_SUBST([GNULIB_MBSCASECMP])
74   GNULIB_MBSCASESTR=0;  AC_SUBST([GNULIB_MBSCASESTR])
75   GNULIB_MBSCSPN=0;     AC_SUBST([GNULIB_MBSCSPN])
76   GNULIB_MBSPBRK=0;     AC_SUBST([GNULIB_MBSPBRK])
77   GNULIB_MBSSPN=0;      AC_SUBST([GNULIB_MBSSPN])
78   GNULIB_MBSTOK_R=0;    AC_SUBST([GNULIB_MBSTOK_R])
79 ])