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
10AC_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
17AC_DEFUN([gl_HEADER_STRING_H_BODY],
18[
19  AC_REQUIRE([AC_C_RESTRICT])
20  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
21  gl_ABSOLUTE_HEADER([string.h])
22  ABSOLUTE_STRING_H=\"$gl_cv_absolute_string_h\"
23  AC_SUBST([ABSOLUTE_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_MEMMEM=0;      AC_SUBST([GNULIB_MEMMEM])
36  GNULIB_MEMPCPY=0;     AC_SUBST([GNULIB_MEMPCPY])
37  GNULIB_MEMRCHR=0;     AC_SUBST([GNULIB_MEMRCHR])
38  GNULIB_STPCPY=0;      AC_SUBST([GNULIB_STPCPY])
39  GNULIB_STPNCPY=0;     AC_SUBST([GNULIB_STPNCPY])
40  GNULIB_STRCHRNUL=0;   AC_SUBST([GNULIB_STRCHRNUL])
41  GNULIB_STRDUP=0;      AC_SUBST([GNULIB_STRDUP])
42  GNULIB_STRNDUP=0;     AC_SUBST([GNULIB_STRNDUP])
43  GNULIB_STRNLEN=0;     AC_SUBST([GNULIB_STRNLEN])
44  GNULIB_STRPBRK=0;     AC_SUBST([GNULIB_STRPBRK])
45  GNULIB_STRSEP=0;      AC_SUBST([GNULIB_STRSEP])
46  GNULIB_STRCASESTR=0;  AC_SUBST([GNULIB_STRCASESTR])
47  GNULIB_STRTOK_R=0;    AC_SUBST([GNULIB_STRTOK_R])
48  GNULIB_MBSLEN=0;      AC_SUBST([GNULIB_MBSLEN])
49  GNULIB_MBSCHR=0;      AC_SUBST([GNULIB_MBSCHR])
50  GNULIB_MBSRCHR=0;     AC_SUBST([GNULIB_MBSRCHR])
51  GNULIB_MBSSTR=0;      AC_SUBST([GNULIB_MBSSTR])
52  GNULIB_MBSCASECMP=0;  AC_SUBST([GNULIB_MBSCASECMP])
53  GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP])
54  GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP])
55  GNULIB_MBSCASESTR=0;  AC_SUBST([GNULIB_MBSCASESTR])
56  GNULIB_MBSCSPN=0;     AC_SUBST([GNULIB_MBSCSPN])
57  GNULIB_MBSPBRK=0;     AC_SUBST([GNULIB_MBSPBRK])
58  GNULIB_MBSSPN=0;      AC_SUBST([GNULIB_MBSSPN])
59  GNULIB_MBSSEP=0;      AC_SUBST([GNULIB_MBSSEP])
60  GNULIB_MBSTOK_R=0;    AC_SUBST([GNULIB_MBSTOK_R])
61  dnl Assume proper GNU behavior unless another module says otherwise.
62  HAVE_DECL_MEMMEM=1;		AC_SUBST([HAVE_DECL_MEMMEM])
63  HAVE_MEMPCPY=1;		AC_SUBST([HAVE_MEMPCPY])
64  HAVE_DECL_MEMRCHR=1;		AC_SUBST([HAVE_DECL_MEMRCHR])
65  HAVE_STPCPY=1;		AC_SUBST([HAVE_STPCPY])
66  HAVE_STPNCPY=1;		AC_SUBST([HAVE_STPNCPY])
67  HAVE_STRCASECMP=1;		AC_SUBST([HAVE_STRCASECMP])
68  HAVE_DECL_STRNCASECMP=1;	AC_SUBST([HAVE_DECL_STRNCASECMP])
69  HAVE_STRCHRNUL=1;		AC_SUBST([HAVE_STRCHRNUL])
70  HAVE_DECL_STRDUP=1;		AC_SUBST([HAVE_DECL_STRDUP])
71  HAVE_STRNDUP=1;		AC_SUBST([HAVE_STRNDUP])
72  HAVE_DECL_STRNDUP=1;		AC_SUBST([HAVE_DECL_STRNDUP])
73  HAVE_DECL_STRNLEN=1;		AC_SUBST([HAVE_DECL_STRNLEN])
74  HAVE_STRPBRK=1;		AC_SUBST([HAVE_STRPBRK])
75  HAVE_STRSEP=1;		AC_SUBST([HAVE_STRSEP])
76  HAVE_STRCASESTR=1;		AC_SUBST([HAVE_STRCASESTR])
77  HAVE_DECL_STRTOK_R=1;		AC_SUBST([HAVE_DECL_STRTOK_R])
78])
79