summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazuhiro NISHIYAMA <zn@mbf.nifty.com>2021-01-18 12:41:58 +0900
committerKazuhiro NISHIYAMA <zn@mbf.nifty.com>2021-01-18 12:43:05 +0900
commit6abf393e8f372464322dc0a8c2bda80f8b389acd (patch)
treecf986bf08be5ee2470356970f76e5477c2e460a1
parentbf640bbf8cef7f4575e782e35c4588cb138890b6 (diff)
OpenBSD has getentropy, but no sys/random.h
https://man.openbsd.org/getentropy Try to fix https://rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20210118T023008Z.fail.html.gz ``` compiling random.c random.c:53:11: fatal error: 'sys/random.h' file not found # include <sys/random.h> ^~~~~~~~~~~~~~ 1 error generated. ```
-rw-r--r--configure.ac1
-rw-r--r--random.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index f672f6d7f7..e4bdf9fb71 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1195,6 +1195,7 @@ AC_CHECK_HEADERS(sys/ioctl.h)
AC_CHECK_HEADERS(sys/mkdev.h)
AC_CHECK_HEADERS(sys/param.h)
AC_CHECK_HEADERS(sys/prctl.h)
+AC_CHECK_HEADERS(sys/random.h)
AC_CHECK_HEADERS(sys/resource.h)
AC_CHECK_HEADERS(sys/select.h)
AC_CHECK_HEADERS(sys/sendfile.h)
diff --git a/random.c b/random.c
index 7b78efe7ca..c11cd803f2 100644
--- a/random.c
+++ b/random.c
@@ -50,7 +50,9 @@
#endif
#if defined HAVE_GETRANDOM || defined HAVE_GETENTROPY
-# include <sys/random.h>
+# if defined(HAVE_SYS_RANDOM_H)
+# include <sys/random.h>
+# endif
#elif defined __linux__ && defined __NR_getrandom
# include <linux/random.h>
#endif