1# Configure a GNU-like replacement for <string.h>.
2
3# Copyright (C) 2007, 2008, 2009 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# serial 7
9
10# Written by Paul Eggert.
11
12AC_DEFUN([gl_HEADER_STRING_H],
13[
14  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
15  dnl once only, before all statements that occur in other macros.
16  AC_REQUIRE([gl_HEADER_STRING_H_BODY])
17])
18
19AC_DEFUN([gl_HEADER_STRING_H_BODY],
20[
21  AC_REQUIRE([AC_C_RESTRICT])
22  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
23  gl_CHECK_NEXT_HEADERS([string.h])
24])
25
26AC_DEFUN([gl_STRING_MODULE_INDICATOR],
27[
28  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
29  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
30  GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
31])
32
33AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
34[
35  GNULIB_MEMCHR=0;      AC_SUBST([GNULIB_MEMCHR])
36  GNULIB_MEMMEM=0;      AC_SUBST([GNULIB_MEMMEM])
37  GNULIB_MEMPCPY=0;     AC_SUBST([GNULIB_MEMPCPY])
38  GNULIB_MEMRCHR=0;     AC_SUBST([GNULIB_MEMRCHR])
39  GNULIB_RAWMEMCHR=0;   AC_SUBST([GNULIB_RAWMEMCHR])
40  GNULIB_STPCPY=0;      AC_SUBST([GNULIB_STPCPY])
41  GNULIB_STPNCPY=0;     AC_SUBST([GNULIB_STPNCPY])
42  GNULIB_STRCHRNUL=0;   AC_SUBST([GNULIB_STRCHRNUL])
43  GNULIB_STRDUP=0;      AC_SUBST([GNULIB_STRDUP])
44  GNULIB_STRNDUP=0;     AC_SUBST([GNULIB_STRNDUP])
45  GNULIB_STRNLEN=0;     AC_SUBST([GNULIB_STRNLEN])
46  GNULIB_STRPBRK=0;     AC_SUBST([GNULIB_STRPBRK])
47  GNULIB_STRSEP=0;      AC_SUBST([GNULIB_STRSEP])
48  GNULIB_STRSTR=0;      AC_SUBST([GNULIB_STRSTR])
49  GNULIB_STRCASESTR=0;  AC_SUBST([GNULIB_STRCASESTR])
50  GNULIB_STRTOK_R=0;    AC_SUBST([GNULIB_STRTOK_R])
51  GNULIB_MBSLEN=0;      AC_SUBST([GNULIB_MBSLEN])
52  GNULIB_MBSNLEN=0;     AC_SUBST([GNULIB_MBSNLEN])
53  GNULIB_MBSCHR=0;      AC_SUBST([GNULIB_MBSCHR])
54  GNULIB_MBSRCHR=0;     AC_SUBST([GNULIB_MBSRCHR])
55  GNULIB_MBSSTR=0;      AC_SUBST([GNULIB_MBSSTR])
56  GNULIB_MBSCASECMP=0;  AC_SUBST([GNULIB_MBSCASECMP])
57  GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP])
58  GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP])
59  GNULIB_MBSCASESTR=0;  AC_SUBST([GNULIB_MBSCASESTR])
60  GNULIB_MBSCSPN=0;     AC_SUBST([GNULIB_MBSCSPN])
61  GNULIB_MBSPBRK=0;     AC_SUBST([GNULIB_MBSPBRK])
62  GNULIB_MBSSPN=0;      AC_SUBST([GNULIB_MBSSPN])
63  GNULIB_MBSSEP=0;      AC_SUBST([GNULIB_MBSSEP])
64  GNULIB_MBSTOK_R=0;    AC_SUBST([GNULIB_MBSTOK_R])
65  GNULIB_STRERROR=0;    AC_SUBST([GNULIB_STRERROR])
66  GNULIB_STRSIGNAL=0;   AC_SUBST([GNULIB_STRSIGNAL])
67  GNULIB_STRVERSCMP=0;   AC_SUBST([GNULIB_STRVERSCMP])
68  dnl Assume proper GNU behavior unless another module says otherwise.
69  HAVE_DECL_MEMMEM=1;		AC_SUBST([HAVE_DECL_MEMMEM])
70  HAVE_MEMPCPY=1;		AC_SUBST([HAVE_MEMPCPY])
71  HAVE_DECL_MEMRCHR=1;		AC_SUBST([HAVE_DECL_MEMRCHR])
72  HAVE_RAWMEMCHR=1;		AC_SUBST([HAVE_RAWMEMCHR])
73  HAVE_STPCPY=1;		AC_SUBST([HAVE_STPCPY])
74  HAVE_STPNCPY=1;		AC_SUBST([HAVE_STPNCPY])
75  HAVE_STRCHRNUL=1;		AC_SUBST([HAVE_STRCHRNUL])
76  HAVE_DECL_STRDUP=1;		AC_SUBST([HAVE_DECL_STRDUP])
77  HAVE_STRNDUP=1;		AC_SUBST([HAVE_STRNDUP])
78  HAVE_DECL_STRNDUP=1;		AC_SUBST([HAVE_DECL_STRNDUP])
79  HAVE_DECL_STRNLEN=1;		AC_SUBST([HAVE_DECL_STRNLEN])
80  HAVE_STRPBRK=1;		AC_SUBST([HAVE_STRPBRK])
81  HAVE_STRSEP=1;		AC_SUBST([HAVE_STRSEP])
82  HAVE_STRCASESTR=1;		AC_SUBST([HAVE_STRCASESTR])
83  HAVE_DECL_STRTOK_R=1;		AC_SUBST([HAVE_DECL_STRTOK_R])
84  HAVE_DECL_STRERROR=1;		AC_SUBST([HAVE_DECL_STRERROR])
85  HAVE_DECL_STRSIGNAL=1;	AC_SUBST([HAVE_DECL_STRSIGNAL])
86  HAVE_STRVERSCMP=1;		AC_SUBST([HAVE_STRVERSCMP])
87  REPLACE_MEMCHR=0;		AC_SUBST([REPLACE_MEMCHR])
88  REPLACE_MEMMEM=0;		AC_SUBST([REPLACE_MEMMEM])
89  REPLACE_STRDUP=0;		AC_SUBST([REPLACE_STRDUP])
90  REPLACE_STRSTR=0;		AC_SUBST([REPLACE_STRSTR])
91  REPLACE_STRCASESTR=0;		AC_SUBST([REPLACE_STRCASESTR])
92  REPLACE_STRERROR=0;		AC_SUBST([REPLACE_STRERROR])
93  REPLACE_STRSIGNAL=0;		AC_SUBST([REPLACE_STRSIGNAL])
94])
95