1# sys_random_h.m4 serial 5 2dnl Copyright (C) 2020-2021 Free Software Foundation, Inc. 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_HEADER_SYS_RANDOM], 8[ 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]) 18 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 23 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]) 36]) 37 38AC_DEFUN([gl_SYS_RANDOM_MODULE_INDICATOR], 39[ 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]) 45]) 46 47AC_DEFUN([gl_SYS_RANDOM_H_DEFAULTS], 48[ 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]) 53]) 54