+# We need openat() with O_NOFOLLOW from POSIX-2008. Without them, we
+# can't operate securely; I would rather refuse to be built.
+AC_CHECK_FUNC(openat,
+ [],
+ AC_MSG_ERROR(missing required openat function))
+AC_CHECK_DECLS([O_DIRECTORY],
+ [],
+ [AC_MSG_ERROR(missing required O_DIRECTORY flag in fcntl.h)],
+ [[#include <fcntl.h>]])
+AC_CHECK_DECLS([O_NOFOLLOW],
+ [],
+ [AC_MSG_ERROR(missing required O_NOFOLLOW flag in fcntl.h)],
+ [[#include <fcntl.h>]])
+AC_CHECK_DECLS([O_PATH],
+ [],
+ [AC_MSG_ERROR(missing required O_PATH flag in fcntl.h)],
+ [[#define _GNU_SOURCE
+ #include <fcntl.h>]])