Add `%null-pointer' to `(system foreign)'.
[bpt/guile.git] / m4 / stdlib_h.m4
CommitLineData
61cd9dc9
LC
1# stdlib_h.m4 serial 22
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
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
41AC_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
48AC_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])