Rewrote our local implementation of a Base64 encoder/decoder as specified
[citadel.git] / libcitadel / configure.in
index 2ce60149610ad51a503efbf8c7df3778f7d2ad97..d68a287285fb8067506cd9ad8f0a05a3c15c54ba 100755 (executable)
@@ -4,26 +4,20 @@ dnl
 
 dnl Ensure that libcitadel is configured with autoconf 2.52 or newer
 AC_PREREQ(2.52)
-
-AC_INIT(libcitadel, 8.1.1, http://uncensored.citadel.org)
-
+AC_INIT([libcitadel], m4_esyscmd_s([grep LIBCITADEL_VERSION lib/libcitadel.h | sed 's/[^0-9]*//g' ]),[http://uncensored.citadel.org])
 AC_CONFIG_SRCDIR(Makefile.in)
 AC_CONFIG_AUX_DIR(conftools)
-AC_CONFIG_SRCDIR(tests/Makefile.in)
 
 dnl
-dnl Increment LIBREVISION if source code has changed at all
+dnl Set LIBREVISION to the ever-ascending libcitadel version number.
 dnl
-dnl If the API has changed, increment LIBCURRENT and set LIBREVISION to 0
+dnl If the API has changed, increment LIBCURRENT.
 dnl
-dnl If the API changes compatibly (i.e. simply adding a new function
-dnl without changing or removing earlier interfaces), then increment LIBAGE.
-dnl 
-dnl If the API changes incompatibly set LIBAGE back to 0
+dnl Set LIBAGE to 0.
 dnl
 
-LIBCURRENT=8
-LIBREVISION=11
+LIBCURRENT=4
+LIBREVISION=m4_esyscmd_s([grep LIBCITADEL_VERSION lib/libcitadel.h | sed 's/[^0-9]*//g' ])
 LIBAGE=0
 
 sinclude(conftools/libtool.m4)
@@ -78,6 +72,62 @@ AC_CHECK_HEADER(sys/sendfile.h, [AC_DEFINE(LINUX_SENDFILE, [], [whether we have
 dnl TODO: we might need to check for the actual syntax....  
 
 
+AC_MSG_CHECKING([whether your system knows about splice()]) 
+AC_TRY_COMPILE([
+#define _GNU_SOURCE
+#include <unistd.h>
+#include <fcntl.h>
+],
+[
+       ssize_t sent, pipesize;
+       int fd, SplicePipe[2];
+       pipesize = splice(fd, NULL, 
+                         SplicePipe[1], NULL, 
+                         1, 
+                         SPLICE_F_MORE | SPLICE_F_MOVE|SPLICE_F_NONBLOCK);
+],
+               [
+                 ok_splice=yes
+                 AC_DEFINE(LINUX_SPLICE, [], [whether we have the linux splice api])
+                 AC_MSG_RESULT([yes])
+               ],
+               [ 
+                 ok_splice=no
+                 AC_MSG_RESULT([no])
+               ]
+)
+
+AC_MSG_CHECKING([whether your system likes memcpy + HKEY]) 
+AC_TRY_COMPILE([
+#define _GNU_SOURCE
+#include <ctype.h>
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include <sys/select.h>
+#include <fcntl.h>
+#include <sys/types.h>
+
+#include "lib/libcitadel.h"
+],
+[
+       char foo[22];
+       memcpy(foo, HKEY("foo"));
+       
+],
+               [
+
+                 AC_MSG_RESULT([yes])
+               ],
+               [ 
+                 AC_DEFINE(UNDEF_MEMCPY, [], [whether we need to undefine memcpy])
+                 AC_MSG_RESULT([no])
+               ]
+)
+
+
 AC_CHECK_HEADERS(iconv.h)
 
 
@@ -171,7 +221,7 @@ AC_C_CONST
 AC_TYPE_SIZE_T
 AC_CHECK_FUNCS(memmove bcopy)
 
-AC_CONFIG_FILES(Makefile libcitadel.pc tests/Makefile)
+AC_CONFIG_FILES(Makefile libcitadel.pc)
 AC_CONFIG_HEADER(sysdep.h)
 AC_OUTPUT