diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/lib/tdb/aclocal.m4 | 12 | ||||
-rw-r--r-- | source4/lib/tdb/common/tdb_private.h | 8 | ||||
-rw-r--r-- | source4/lib/tdb/config.m4 | 3 |
3 files changed, 23 insertions, 0 deletions
diff --git a/source4/lib/tdb/aclocal.m4 b/source4/lib/tdb/aclocal.m4 new file mode 100644 index 0000000000..cdc2a2fa52 --- /dev/null +++ b/source4/lib/tdb/aclocal.m4 @@ -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 +]) diff --git a/source4/lib/tdb/common/tdb_private.h b/source4/lib/tdb/common/tdb_private.h index 2b2d6de411..a451dff0af 100644 --- a/source4/lib/tdb/common/tdb_private.h +++ b/source4/lib/tdb/common/tdb_private.h @@ -45,6 +45,14 @@ #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" diff --git a/source4/lib/tdb/config.m4 b/source4/lib/tdb/config.m4 index 2ebd29993d..31c33552ea 100644 --- a/source4/lib/tdb/config.m4 +++ b/source4/lib/tdb/config.m4 @@ -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 |