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