Add `%null-pointer' to `(system foreign)'.
[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
61cd9dc9 8# serial 11
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>
29 ]], [memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup
30 strndup strnlen strpbrk strsep strcasestr strtok_r strsignal strverscmp])
24d56127
LC
31])
32
33AC_DEFUN([gl_STRING_MODULE_INDICATOR],
34[
35 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
36 AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
37 GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
38])
39
40AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
41[
ffca4c22 42 GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR])
24d56127
LC
43 GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM])
44 GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY])
45 GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR])
46 GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR])
47 GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY])
48 GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY])
49 GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL])
50 GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP])
51 GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP])
52 GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN])
53 GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK])
54 GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP])
55 GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR])
56 GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR])
57 GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R])
58 GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN])
59 GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN])
60 GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR])
61 GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR])
62 GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR])
63 GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP])
64 GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP])
65 GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP])
66 GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR])
67 GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN])
68 GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK])
69 GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN])
70 GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP])
71 GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R])
72 GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR])
73 GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL])
61cd9dc9
LC
74 GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP])
75 HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN])
24d56127 76 dnl Assume proper GNU behavior unless another module says otherwise.
1cd4fffc
LC
77 HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM])
78 HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY])
79 HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR])
80 HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR])
81 HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY])
82 HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY])
83 HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL])
84 HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP])
85 HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP])
86 HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN])
87 HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK])
88 HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP])
89 HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR])
90 HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R])
91 HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR])
92 HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL])
93 HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP])
94 REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR])
95 REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM])
96 REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP])
97 REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR])
98 REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR])
99 REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR])
100 REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP])
101 REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL])
102 REPLACE_STRTOK_R=0; AC_SUBST([REPLACE_STRTOK_R])
103 UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R])
24d56127 104])