Commit | Line | Data |
---|---|---|
61cd9dc9 LC |
1 | # stdlib_h.m4 serial 22 |
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 | |
36 | ]], [atoll canonicalize_file_name getloadavg getsubopt mkdtemp | |
37 | mkostemp mkostemps mkstemp mkstemps random_r initstat_r srandom_r | |
38 | setstate_r realpath rpmatch setenv strtod strtoll strtoull unsetenv]) | |
f240aacb LC |
39 | ]) |
40 | ||
41 | AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], | |
42 | [ | |
43 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | |
44 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | |
45 | GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 | |
46 | ]) | |
47 | ||
48 | AC_DEFUN([gl_STDLIB_H_DEFAULTS], | |
49 | [ | |
f240aacb | 50 | GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) |
8912421c LC |
51 | GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) |
52 | GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME]) | |
f240aacb LC |
53 | GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) |
54 | GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) | |
8912421c | 55 | GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) |
f240aacb | 56 | GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) |
8912421c | 57 | GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP]) |
f29ded4b | 58 | GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) |
f240aacb | 59 | GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) |
f29ded4b | 60 | GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) |
f240aacb LC |
61 | GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) |
62 | GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) | |
8912421c LC |
63 | GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) |
64 | GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) | |
f240aacb LC |
65 | GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) |
66 | GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) | |
67 | GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) | |
68 | GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) | |
69 | GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) | |
70 | GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) | |
71 | dnl Assume proper GNU behavior unless another module says otherwise. | |
72 | HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) | |
73 | HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX]) | |
8912421c LC |
74 | HAVE_CANONICALIZE_FILE_NAME=1; AC_SUBST([HAVE_CANONICALIZE_FILE_NAME]) |
75 | HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) | |
f240aacb LC |
76 | HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) |
77 | HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX]) | |
78 | HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) | |
8912421c | 79 | HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP]) |
f29ded4b LC |
80 | HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) |
81 | HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS]) | |
f240aacb | 82 | HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) |
8912421c LC |
83 | HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX]) |
84 | HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH]) | |
f240aacb LC |
85 | HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) |
86 | HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) | |
87 | HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) | |
88 | HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) | |
89 | HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) | |
90 | HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) | |
91 | HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) | |
92 | HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) | |
8912421c | 93 | REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) |
f240aacb LC |
94 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) |
95 | REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) | |
8912421c | 96 | REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) |
4f02b98d | 97 | REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) |
f240aacb | 98 | REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) |
4f02b98d | 99 | REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV]) |
f240aacb | 100 | ]) |