r10466: work around missing pread/pwrite declaration on openbsd
authorAndrew Tridgell <tridge@samba.org>
Sat, 24 Sep 2005 04:56:51 +0000 (04:56 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:38:49 +0000 (13:38 -0500)
(This used to be commit e615f36733966f9992670e3650fbe9b20d7d218c)

source4/lib/tdb/aclocal.m4 [new file with mode: 0644]
source4/lib/tdb/common/tdb_private.h
source4/lib/tdb/config.m4

diff --git a/source4/lib/tdb/aclocal.m4 b/source4/lib/tdb/aclocal.m4
new file mode 100644 (file)
index 0000000..cdc2a2f
--- /dev/null
@@ -0,0 +1,12 @@
+dnl see if a declaration exists for a function or variable
+dnl defines HAVE_function_DECL if it exists
+dnl AC_HAVE_DECL(var, includes)
+AC_DEFUN(AC_HAVE_DECL,
+[
+ AC_CACHE_CHECK([for $1 declaration],ac_cv_have_$1_decl,[
+    AC_TRY_COMPILE([$2],[int i = (int)$1],
+        ac_cv_have_$1_decl=yes,ac_cv_have_$1_decl=no)])
+ if test x"$ac_cv_have_$1_decl" = x"yes"; then
+    AC_DEFINE([HAVE_]translit([$1], [a-z], [A-Z])[_DECL],1,[Whether $1() is available])
+ fi
+])
index 2b2d6de4112d52a56a935afcc854e06b68cba620..a451dff0afa5028a88493a789749f02df5072b3c 100644 (file)
 #include <sys/stat.h>
 #include "config.h"
 #include "tdb.h"
+
+#ifndef HAVE_PREAD_DECL
+ssize_t pread(int fd, void *buf, size_t count, off_t offset);
+#endif
+#ifndef HAVE_PWRITE_DECL
+ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);
+#endif
+
 #else
 #include "includes.h"
 #include "lib/tdb/include/tdb.h"
index 2ebd29993d301bbf8cc84ec7fcab7f3d764e0afb..31c33552ea6ffbd10d98785ada66658877a08fb4 100644 (file)
@@ -1,6 +1,9 @@
 AC_CHECK_FUNCS(mmap pread pwrite)
 AC_CHECK_HEADERS(getopt.h)
 
+AC_HAVE_DECL(pread, [#include <unistd.h>])
+AC_HAVE_DECL(pwrite, [#include <unistd.h>])
+
 if test x"$experimental" = x"yes"; then
        SMB_LIBRARY_ENABLE(libtdb,YES)
 fi