]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gnulib/import/m4/string_h.m4
Move gnulib to top level
[thirdparty/binutils-gdb.git] / gnulib / import / m4 / string_h.m4
CommitLineData
f6ea5628
DJ
1# Configure a GNU-like replacement for <string.h>.
2
5e8754f9 3# Copyright (C) 2007-2016 Free Software Foundation, Inc.
f6ea5628
DJ
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
5e8754f9 8# serial 21
f6ea5628
DJ
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])
770d76d7 23 gl_NEXT_HEADERS([string.h])
f434ba03
PA
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 ]],
770d76d7
PA
30 [ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul
31 strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r
32 strerror_r strsignal strverscmp])
f6ea5628
DJ
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])
f434ba03
PA
39 gl_MODULE_INDICATOR_SET_VARIABLE([$1])
40 dnl Define it also as a C macro, for the benefit of the unit tests.
41 gl_MODULE_INDICATOR_FOR_TESTS([$1])
f6ea5628
DJ
42])
43
44AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
45[
770d76d7
PA
46 GNULIB_FFSL=0; AC_SUBST([GNULIB_FFSL])
47 GNULIB_FFSLL=0; AC_SUBST([GNULIB_FFSLL])
f434ba03 48 GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR])
f6ea5628
DJ
49 GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM])
50 GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY])
51 GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR])
f434ba03 52 GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR])
f6ea5628
DJ
53 GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY])
54 GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY])
55 GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL])
56 GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP])
f434ba03 57 GNULIB_STRNCAT=0; AC_SUBST([GNULIB_STRNCAT])
f6ea5628
DJ
58 GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP])
59 GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN])
60 GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK])
61 GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP])
62 GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR])
63 GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR])
64 GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R])
65 GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN])
66 GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN])
67 GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR])
68 GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR])
69 GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR])
70 GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP])
71 GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP])
72 GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP])
73 GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR])
74 GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN])
75 GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK])
76 GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN])
77 GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP])
78 GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R])
79 GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR])
770d76d7 80 GNULIB_STRERROR_R=0; AC_SUBST([GNULIB_STRERROR_R])
f6ea5628 81 GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL])
f434ba03
PA
82 GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP])
83 HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN])
f6ea5628 84 dnl Assume proper GNU behavior unless another module says otherwise.
770d76d7
PA
85 HAVE_FFSL=1; AC_SUBST([HAVE_FFSL])
86 HAVE_FFSLL=1; AC_SUBST([HAVE_FFSLL])
f434ba03
PA
87 HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR])
88 HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM])
89 HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY])
90 HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR])
91 HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR])
92 HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY])
93 HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY])
94 HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL])
95 HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP])
96 HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP])
97 HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN])
98 HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK])
99 HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP])
100 HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR])
101 HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R])
770d76d7 102 HAVE_DECL_STRERROR_R=1; AC_SUBST([HAVE_DECL_STRERROR_R])
f434ba03
PA
103 HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL])
104 HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP])
105 REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR])
106 REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM])
107 REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY])
108 REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP])
109 REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR])
110 REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR])
5e8754f9 111 REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL])
f434ba03 112 REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR])
770d76d7 113 REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R])
5e8754f9
SDJ
114 REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT])
115 REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP])
116 REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN])
f434ba03 117 REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL])
5e8754f9 118 REPLACE_STRTOK_R=0; AC_SUBST([REPLACE_STRTOK_R])
f434ba03 119 UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R])
f6ea5628 120])