immutable: Add tests.
[gnulib.git] / m4 / sys_random_h.m4
blob45e0469ba058476df533d4e00949d1bb77630323
1 # sys_random_h.m4 serial 5
2 dnl Copyright (C) 2020-2021 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.
7 AC_DEFUN([gl_HEADER_SYS_RANDOM],
9   AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS])
10   dnl <sys/random.h> is always overridden, because of GNULIB_POSIXCHECK.
11   gl_CHECK_NEXT_HEADERS([sys/random.h])
12   if test $ac_cv_header_sys_random_h = yes; then
13     HAVE_SYS_RANDOM_H=1
14   else
15     HAVE_SYS_RANDOM_H=0
16   fi
17   AC_SUBST([HAVE_SYS_RANDOM_H])
19   m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])])
20   if test $ac_cv_header_sys_random_h = yes; then
21     UNISTD_H_HAVE_SYS_RANDOM_H=1
22   fi
24   dnl Check for declarations of anything we want to poison if the
25   dnl corresponding gnulib module is not in use.
26   gl_WARN_ON_USE_PREPARE([[
27 #if HAVE_SYS_RANDOM_H
28 /* Additional includes are needed before <sys/random.h> on uClibc
29    and Mac OS X.  */
30 # include <sys/types.h>
31 # include <stdlib.h>
32 # include <sys/random.h>
33 #endif
34     ]],
35     [getrandom])
38 AC_DEFUN([gl_SYS_RANDOM_MODULE_INDICATOR],
40   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
41   AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS])
42   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
43   dnl Define it also as a C macro, for the benefit of the unit tests.
44   gl_MODULE_INDICATOR_FOR_TESTS([$1])
47 AC_DEFUN([gl_SYS_RANDOM_H_DEFAULTS],
49   GNULIB_GETRANDOM=0;     AC_SUBST([GNULIB_GETRANDOM])
50   dnl Assume proper GNU behavior unless another module says otherwise.
51   HAVE_GETRANDOM=1;       AC_SUBST([HAVE_GETRANDOM])
52   REPLACE_GETRANDOM=0;    AC_SUBST([REPLACE_GETRANDOM])