VirtualBox

source: kBuild/vendor/sed/current/m4/string_h.m4@ 3611

Last change on this file since 3611 was 3611, checked in by bird, 7 months ago

vendor/sed/current: GNU sed 4.9 (sed-4.9.tar.xz sha256:6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181)

File size: 7.0 KB
Line 
1# Configure a GNU-like replacement for <string.h>.
2
3# Copyright (C) 2007-2022 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 34
9
10# Written by Paul Eggert.
11
12AC_DEFUN_ONCE([gl_STRING_H],
13[
14 dnl Ensure to expand the default settings once only, before all statements
15 dnl that occur in other macros.
16 AC_REQUIRE([gl_STRING_H_DEFAULTS])
17 gl_NEXT_HEADERS([string.h])
18
19 dnl Check for declarations of anything we want to poison if the
20 dnl corresponding gnulib module is not in use, and which is not
21 dnl guaranteed by C89.
22 gl_WARN_ON_USE_PREPARE([[#include <string.h>
23 ]],
24 [ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul
25 strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r
26 strerror_r strerrorname_np sigabbrev_np sigdescr_np strsignal strverscmp])
27
28 AC_REQUIRE([AC_C_RESTRICT])
29])
30
31# gl_STRING_MODULE_INDICATOR([modulename])
32# sets the shell variable that indicates the presence of the given module
33# to a C preprocessor expression that will evaluate to 1.
34# This macro invocation must not occur in macros that are AC_REQUIREd.
35AC_DEFUN([gl_STRING_MODULE_INDICATOR],
36[
37 dnl Ensure to expand the default settings once only.
38 gl_STRING_H_REQUIRE_DEFAULTS
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])
42])
43
44# Initializes the default values for AC_SUBSTed shell variables.
45# This macro must not be AC_REQUIREd. It must only be invoked, and only
46# outside of macros or in macros that are not AC_REQUIREd.
47AC_DEFUN([gl_STRING_H_REQUIRE_DEFAULTS],
48[
49 m4_defun(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULTS], [
50 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPLICIT_BZERO])
51 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSL])
52 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSLL])
53 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMCHR])
54 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMMEM])
55 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMPCPY])
56 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMRCHR])
57 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAWMEMCHR])
58 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPCPY])
59 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPNCPY])
60 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCHRNUL])
61 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRDUP])
62 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNCAT])
63 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNDUP])
64 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNLEN])
65 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPBRK])
66 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSEP])
67 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSTR])
68 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCASESTR])
69 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOK_R])
70 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSLEN])
71 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNLEN])
72 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCHR])
73 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRCHR])
74 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSTR])
75 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASECMP])
76 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNCASECMP])
77 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPCASECMP])
78 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASESTR])
79 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCSPN])
80 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPBRK])
81 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSPN])
82 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSEP])
83 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOK_R])
84 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR])
85 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR_R])
86 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERRORNAME_NP])
87 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGABBREV_NP])
88 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGDESCR_NP])
89 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSIGNAL])
90 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRVERSCMP])
91 dnl Support Microsoft deprecated alias function names by default.
92 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MEMCCPY], [1])
93 gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_STRDUP], [1])
94 ])
95 m4_require(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULTS])
96 dnl Make sure the shell variable for GNULIB_FREE_POSIX is initialized.
97 gl_STDLIB_H_REQUIRE_DEFAULTS
98 AC_REQUIRE([gl_STRING_H_DEFAULTS])
99])
100
101AC_DEFUN([gl_STRING_H_DEFAULTS],
102[
103 HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN])
104 dnl Assume proper GNU behavior unless another module says otherwise.
105 HAVE_EXPLICIT_BZERO=1; AC_SUBST([HAVE_EXPLICIT_BZERO])
106 HAVE_FFSL=1; AC_SUBST([HAVE_FFSL])
107 HAVE_FFSLL=1; AC_SUBST([HAVE_FFSLL])
108 HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM])
109 HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY])
110 HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR])
111 HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR])
112 HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY])
113 HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY])
114 HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL])
115 HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP])
116 HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP])
117 HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN])
118 HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK])
119 HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP])
120 HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR])
121 HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R])
122 HAVE_DECL_STRERROR_R=1; AC_SUBST([HAVE_DECL_STRERROR_R])
123 HAVE_STRERRORNAME_NP=1; AC_SUBST([HAVE_STRERRORNAME_NP])
124 HAVE_SIGABBREV_NP=1; AC_SUBST([HAVE_SIGABBREV_NP])
125 HAVE_SIGDESCR_NP=1; AC_SUBST([HAVE_SIGDESCR_NP])
126 HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL])
127 HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP])
128 REPLACE_FFSLL=0; AC_SUBST([REPLACE_FFSLL])
129 REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR])
130 REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM])
131 REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY])
132 REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL])
133 REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP])
134 REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT])
135 REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP])
136 REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN])
137 REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR])
138 REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR])
139 REPLACE_STRTOK_R=0; AC_SUBST([REPLACE_STRTOK_R])
140 REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR])
141 REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R])
142 REPLACE_STRERRORNAME_NP=0; AC_SUBST([REPLACE_STRERRORNAME_NP])
143 REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL])
144 UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R])
145])
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette