Use Gnulib's `stat-time' module; update Gnulib.
[bpt/guile.git] / m4 / string_h.m4
CommitLineData
24d56127
LC
1# Configure a GNU-like replacement for <string.h>.
2
61cd9dc9 3# Copyright (C) 2007-2010 Free Software Foundation, Inc.
24d56127
LC
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
a927b6c1 8# serial 17
24d56127
LC
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])
61cd9dc9
LC
24
25 dnl Check for declarations of anything we want to poison if the
26 dnl corresponding gnulib module is not in use, and which is not
27 dnl guaranteed by C89.
28 gl_WARN_ON_USE_PREPARE([[#include <string.h>
a927b6c1
LC
29 ]],
30 [memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup
31 strncat strndup strnlen strpbrk strsep strcasestr strtok_r strsignal
32 strverscmp])
24d56127
LC
33])
34
35AC_DEFUN([gl_STRING_MODULE_INDICATOR],
36[
37 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
38 AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
a927b6c1 39 gl_MODULE_INDICATOR_SET_VARIABLE([$1])
f4c79b3c 40 dnl Define it also as a C macro, for the benefit of the unit tests.
a927b6c1 41 gl_MODULE_INDICATOR_FOR_TESTS([$1])
24d56127
LC
42])
43
44AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
45[
ffca4c22 46 GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR])
24d56127
LC
47 GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM])
48 GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY])
49 GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR])
50 GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR])
51 GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY])
52 GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY])
53 GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL])
54 GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP])
a927b6c1 55 GNULIB_STRNCAT=0; AC_SUBST([GNULIB_STRNCAT])
24d56127
LC
56 GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP])
57 GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN])
58 GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK])
59 GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP])
60 GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR])
61 GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR])
62 GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R])
63 GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN])
64 GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN])
65 GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR])
66 GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR])
67 GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR])
68 GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP])
69 GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP])
70 GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP])
71 GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR])
72 GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN])
73 GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK])
74 GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN])
75 GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP])
76 GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R])
77 GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR])
78 GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL])
61cd9dc9
LC
79 GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP])
80 HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN])
24d56127 81 dnl Assume proper GNU behavior unless another module says otherwise.
a927b6c1 82 HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR])
1cd4fffc
LC
83 HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM])
84 HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY])
85 HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR])
86 HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR])
87 HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY])
88 HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY])
89 HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL])
90 HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP])
91 HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP])
92 HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN])
93 HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK])
94 HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP])
95 HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR])
96 HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R])
1cd4fffc
LC
97 HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL])
98 HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP])
99 REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR])
100 REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM])
a927b6c1 101 REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY])
1cd4fffc
LC
102 REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP])
103 REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR])
104 REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR])
105 REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR])
a927b6c1 106 REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT])
1cd4fffc 107 REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP])
a927b6c1 108 REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN])
1cd4fffc
LC
109 REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL])
110 REPLACE_STRTOK_R=0; AC_SUBST([REPLACE_STRTOK_R])
111 UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R])
24d56127 112])