File: check_random.m4

package info (click to toggle)
libfilezilla 0.54.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,504 kB
  • sloc: cpp: 31,105; sh: 4,241; makefile: 375; xml: 37
file content (45 lines) | stat: -rw-r--r-- 1,032 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Checks whether getrandom or getentropy are  is available.
# Defines HAVE_GERANDOM or HAVE_GETENTROPY if it is.
#
# CHECK_RANDOM([ACTION-SUCCESS], [ACTION-FAILURE])

AC_DEFUN([CHECK_RANDOM],
[
  AC_MSG_CHECKING([for getrandom])
  AC_LINK_IFELSE([
    AC_LANG_PROGRAM([[
       #include <sys/random.h>
    ]], [[
     (void)getrandom;
     return 0;
    ]])
  ], [
    AC_MSG_RESULT([yes])
    AC_DEFINE([HAVE_GETRANDOM], [1], [getrandom can be used])
    m4_default([$1], :)
  ], [
    AC_MSG_RESULT([no])

    AC_MSG_CHECKING([for getentropy])
    AC_LINK_IFELSE([
      AC_LANG_PROGRAM([[
        #include <sys/types.h>
        #ifdef __APPLE__
          #include <Availability.h>
          #include <sys/random.h>
        #endif
        #include <unistd.h>
      ]], [[
        (void)getentropy;
        return 0;
      ]])
    ], [
      AC_MSG_RESULT([yes])
      AC_DEFINE([HAVE_GETENTROPY], [1], [getentropy can be used])
      m4_default([$1], :)
    ], [
      AC_MSG_RESULT([no])
      m4_default([$2], :)
    ])
  ])
])