Thank Ralf
[bpt/guile.git] / m4 / stdlib_h.m4
CommitLineData
ab4d62ad 1# stdlib_h.m4 serial 33
61cd9dc9 2dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
f240aacb
LC
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_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
42AC_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
51AC_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])