1 # Configure a GNU-like replacement for <string.h>.
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.
8 # Written by Paul Eggert.
10 AC_DEFUN([gl_HEADER_STRING_H],
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])
17 AC_DEFUN([gl_HEADER_STRING_H_BODY],
19 AC_REQUIRE([AC_C_RESTRICT])
20 AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
21 AC_REQUIRE([gl_STRING_MODULE_INDICATOR_DEFAULTS])
22 gl_ABSOLUTE_HEADER([string.h])
23 ABSOLUTE_STRING_H=\"$gl_cv_absolute_string_h\"
24 AC_SUBST([ABSOLUTE_STRING_H])
27 AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
29 dnl Assume proper GNU behavior unless another module says otherwise.
30 HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM])
31 HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY])
32 HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR])
33 HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY])
34 HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY])
35 HAVE_STRCASECMP=1; AC_SUBST([HAVE_STRCASECMP])
36 HAVE_DECL_STRNCASECMP=1; AC_SUBST([HAVE_DECL_STRNCASECMP])
37 HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL])
38 HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP])
39 HAVE_STRNDUP=1; AC_SUBST([HAVE_STRNDUP])
40 HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP])
41 HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN])
42 HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK])
43 HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP])
44 HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR])
45 HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R])
48 AC_DEFUN([gl_STRING_MODULE_INDICATOR],
50 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
51 AC_REQUIRE([gl_STRING_MODULE_INDICATOR_DEFAULTS])
52 GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
55 AC_DEFUN([gl_STRING_MODULE_INDICATOR_DEFAULTS],
57 GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM])
58 GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY])
59 GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR])
60 GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY])
61 GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY])
62 GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL])
63 GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP])
64 GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP])
65 GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN])
66 GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK])
67 GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP])
68 GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR])
69 GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R])
70 GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN])
71 GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR])
72 GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR])
73 GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR])
74 GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP])
75 GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP])
76 GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP])
77 GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR])
78 GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN])
79 GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK])
80 GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN])
81 GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP])
82 GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R])