summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/configure.in18
-rwxr-xr-xsource3/wscript5
2 files changed, 23 insertions, 0 deletions
diff --git a/source3/configure.in b/source3/configure.in
index abb4de6673..150f1896da 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -5792,6 +5792,24 @@ if test x"$samba_cv_HAVE_POSIX_FADVISE" = x"yes"; then
fi
############################################
+# See if we have the openat syscall.
+
+AC_CACHE_CHECK([for openat],
+ samba_cv_HAVE_OPENAT,[
+ AC_TRY_LINK([
+#if defined(HAVE_UNISTD_H)
+#include <unistd.h>
+#endif
+#include <fcntl.h>],
+ [int fd = openat(AT_FDCWD, ".", O_RDONLY);],
+ samba_cv_HAVE_OPENAT=yes,
+ samba_cv_HAVE_OPENAT=no)])
+
+if test x"$samba_cv_HAVE_OPENAT" = x"yes"; then
+ AC_DEFINE(HAVE_OPENAT,1, [Whether openat is available])
+fi
+
+############################################
# See if we have the Linux splice syscall.
case "$host_os" in
diff --git a/source3/wscript b/source3/wscript
index 5fcf86ea18..12529e5e69 100755
--- a/source3/wscript
+++ b/source3/wscript
@@ -353,6 +353,11 @@ return acl_get_perm_np(permset_d, perm);
headers='unistd.h fcntl.h')
conf.CHECK_DECLS('readahead', headers='fcntl.h', always=True)
+ conf.CHECK_CODE('int fd = openat(AT_FDCWD, ".", O_RDONLY);',
+ 'HAVE_OPENAT',
+ msg='Checking for openat',
+ headers='fcntl.h')
+
if Options.options.with_aio_support:
conf.CHECK_FUNCS_IN('aio_read', 'aio')
conf.CHECK_FUNCS_IN('aio_read', 'rt')