Omit redundant extern decls.
[bpt/emacs.git] / m4 / stdlib_h.m4
CommitLineData
8376d87e 1# stdlib_h.m4 serial 42
ba318903 2dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
1f5d53eb
PE
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_DEFUN([gl_STDLIB_H],
8[
9 AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
10 gl_NEXT_HEADERS([stdlib.h])
11
12 dnl Check for declarations of anything we want to poison if the
13 dnl corresponding gnulib module is not in use, and which is not
14 dnl guaranteed by C89.
15 gl_WARN_ON_USE_PREPARE([[#include <stdlib.h>
16#if HAVE_SYS_LOADAVG_H
17# include <sys/loadavg.h>
18#endif
19#if HAVE_RANDOM_H
20# include <random.h>
21#endif
caf8a9b2
PE
22 ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt
23 initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps
24 posix_openpt ptsname ptsname_r random random_r realpath rpmatch
8376d87e 25 secure_getenv setenv setstate setstate_r srandom srandom_r
caf8a9b2 26 strtod strtoll strtoull unlockpt unsetenv])
1f5d53eb
PE
27])
28
29AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
30[
31 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
32 AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
33 gl_MODULE_INDICATOR_SET_VARIABLE([$1])
34 dnl Define it also as a C macro, for the benefit of the unit tests.
35 gl_MODULE_INDICATOR_FOR_TESTS([$1])
36])
37
38AC_DEFUN([gl_STDLIB_H_DEFAULTS],
39[
40 GNULIB__EXIT=0; AC_SUBST([GNULIB__EXIT])
41 GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL])
42 GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX])
43 GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME])
44 GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG])
45 GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT])
46 GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT])
47 GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX])
9411886d 48 GNULIB_MBTOWC=0; AC_SUBST([GNULIB_MBTOWC])
1f5d53eb
PE
49 GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP])
50 GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP])
51 GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS])
52 GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP])
53 GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS])
caf8a9b2 54 GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT])
1f5d53eb 55 GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME])
caf8a9b2 56 GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R])
1f5d53eb 57 GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV])
caf8a9b2 58 GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM])
1f5d53eb
PE
59 GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R])
60 GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
61 GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH])
62 GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH])
8376d87e 63 GNULIB_SECURE_GETENV=0; AC_SUBST([GNULIB_SECURE_GETENV])
1f5d53eb
PE
64 GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV])
65 GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD])
66 GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL])
67 GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL])
68 GNULIB_SYSTEM_POSIX=0; AC_SUBST([GNULIB_SYSTEM_POSIX])
69 GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT])
70 GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV])
9411886d 71 GNULIB_WCTOMB=0; AC_SUBST([GNULIB_WCTOMB])
1f5d53eb
PE
72 dnl Assume proper GNU behavior unless another module says otherwise.
73 HAVE__EXIT=1; AC_SUBST([HAVE__EXIT])
74 HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL])
75 HAVE_CANONICALIZE_FILE_NAME=1; AC_SUBST([HAVE_CANONICALIZE_FILE_NAME])
76 HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG])
77 HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT])
78 HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT])
79 HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP])
80 HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP])
81 HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS])
82 HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP])
83 HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS])
caf8a9b2 84 HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT])
1f5d53eb 85 HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME])
caf8a9b2
PE
86 HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R])
87 HAVE_RANDOM=1; AC_SUBST([HAVE_RANDOM])
1f5d53eb
PE
88 HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H])
89 HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R])
90 HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH])
91 HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH])
8376d87e 92 HAVE_SECURE_GETENV=1; AC_SUBST([HAVE_SECURE_GETENV])
1f5d53eb
PE
93 HAVE_SETENV=1; AC_SUBST([HAVE_SETENV])
94 HAVE_DECL_SETENV=1; AC_SUBST([HAVE_DECL_SETENV])
95 HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD])
96 HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL])
97 HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL])
98 HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA])
99 HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H])
100 HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT])
101 HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV])
102 REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC])
103 REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME])
104 REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC])
9411886d 105 REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC])
1f5d53eb 106 REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
bb1dfdad 107 REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME])
caf8a9b2 108 REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R])
1f5d53eb 109 REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
caf8a9b2 110 REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R])
1f5d53eb
PE
111 REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC])
112 REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH])
113 REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV])
114 REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD])
115 REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV])
9411886d 116 REPLACE_WCTOMB=0; AC_SUBST([REPLACE_WCTOMB])
1f5d53eb 117])