cf41ec0fc0824fe58b7ccc21cf03233ed7837ba6
[debian/gzip] / m4 / stdlib_h.m4
1 # stdlib_h.m4 serial 21
2 dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
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     ]])
25 ])
26
27 AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
28 [
29   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
30   AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
31   GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
32 ])
33
34 AC_DEFUN([gl_STDLIB_H_DEFAULTS],
35 [
36   GNULIB_ATOLL=0;         AC_SUBST([GNULIB_ATOLL])
37   GNULIB_CALLOC_POSIX=0;  AC_SUBST([GNULIB_CALLOC_POSIX])
38   GNULIB_CANONICALIZE_FILE_NAME=0;  AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME])
39   GNULIB_GETLOADAVG=0;    AC_SUBST([GNULIB_GETLOADAVG])
40   GNULIB_GETSUBOPT=0;     AC_SUBST([GNULIB_GETSUBOPT])
41   GNULIB_MALLOC_POSIX=0;  AC_SUBST([GNULIB_MALLOC_POSIX])
42   GNULIB_MKDTEMP=0;       AC_SUBST([GNULIB_MKDTEMP])
43   GNULIB_MKOSTEMP=0;      AC_SUBST([GNULIB_MKOSTEMP])
44   GNULIB_MKOSTEMPS=0;     AC_SUBST([GNULIB_MKOSTEMPS])
45   GNULIB_MKSTEMP=0;       AC_SUBST([GNULIB_MKSTEMP])
46   GNULIB_MKSTEMPS=0;      AC_SUBST([GNULIB_MKSTEMPS])
47   GNULIB_PUTENV=0;        AC_SUBST([GNULIB_PUTENV])
48   GNULIB_RANDOM_R=0;      AC_SUBST([GNULIB_RANDOM_R])
49   GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
50   GNULIB_REALPATH=0;      AC_SUBST([GNULIB_REALPATH])
51   GNULIB_RPMATCH=0;       AC_SUBST([GNULIB_RPMATCH])
52   GNULIB_SETENV=0;        AC_SUBST([GNULIB_SETENV])
53   GNULIB_STRTOD=0;        AC_SUBST([GNULIB_STRTOD])
54   GNULIB_STRTOLL=0;       AC_SUBST([GNULIB_STRTOLL])
55   GNULIB_STRTOULL=0;      AC_SUBST([GNULIB_STRTOULL])
56   GNULIB_UNSETENV=0;      AC_SUBST([GNULIB_UNSETENV])
57   dnl Assume proper GNU behavior unless another module says otherwise.
58   HAVE_ATOLL=1;              AC_SUBST([HAVE_ATOLL])
59   HAVE_CALLOC_POSIX=1;       AC_SUBST([HAVE_CALLOC_POSIX])
60   HAVE_CANONICALIZE_FILE_NAME=1;  AC_SUBST([HAVE_CANONICALIZE_FILE_NAME])
61   HAVE_DECL_GETLOADAVG=1;    AC_SUBST([HAVE_DECL_GETLOADAVG])
62   HAVE_GETSUBOPT=1;          AC_SUBST([HAVE_GETSUBOPT])
63   HAVE_MALLOC_POSIX=1;       AC_SUBST([HAVE_MALLOC_POSIX])
64   HAVE_MKDTEMP=1;            AC_SUBST([HAVE_MKDTEMP])
65   HAVE_MKOSTEMP=1;           AC_SUBST([HAVE_MKOSTEMP])
66   HAVE_MKOSTEMPS=1;          AC_SUBST([HAVE_MKOSTEMPS])
67   HAVE_MKSTEMPS=1;           AC_SUBST([HAVE_MKSTEMPS])
68   HAVE_RANDOM_R=1;           AC_SUBST([HAVE_RANDOM_R])
69   HAVE_REALLOC_POSIX=1;      AC_SUBST([HAVE_REALLOC_POSIX])
70   HAVE_REALPATH=1;           AC_SUBST([HAVE_REALPATH])
71   HAVE_RPMATCH=1;            AC_SUBST([HAVE_RPMATCH])
72   HAVE_SETENV=1;             AC_SUBST([HAVE_SETENV])
73   HAVE_STRTOD=1;             AC_SUBST([HAVE_STRTOD])
74   HAVE_STRTOLL=1;            AC_SUBST([HAVE_STRTOLL])
75   HAVE_STRTOULL=1;           AC_SUBST([HAVE_STRTOULL])
76   HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA])
77   HAVE_SYS_LOADAVG_H=0;      AC_SUBST([HAVE_SYS_LOADAVG_H])
78   HAVE_UNSETENV=1;           AC_SUBST([HAVE_UNSETENV])
79   REPLACE_CANONICALIZE_FILE_NAME=0;  AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME])
80   REPLACE_MKSTEMP=0;         AC_SUBST([REPLACE_MKSTEMP])
81   REPLACE_PUTENV=0;          AC_SUBST([REPLACE_PUTENV])
82   REPLACE_REALPATH=0;        AC_SUBST([REPLACE_REALPATH])
83   REPLACE_SETENV=0;          AC_SUBST([REPLACE_SETENV])
84   REPLACE_STRTOD=0;          AC_SUBST([REPLACE_STRTOD])
85   REPLACE_UNSETENV=0;        AC_SUBST([REPLACE_UNSETENV])
86 ])