X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=libcitadel%2Fconfigure.in;h=a1eb3609fad99961fdae77216bf5a928b8e95845;hb=53481be28de6082a8f59dad096ff7df7601fa1a7;hp=73f2193d8bd2710911392cedbb5241bbc4071abb;hpb=1e469427836c211ae7c50cb84182338c55b2302f;p=citadel.git diff --git a/libcitadel/configure.in b/libcitadel/configure.in index 73f2193d8..a1eb3609f 100755 --- a/libcitadel/configure.in +++ b/libcitadel/configure.in @@ -5,11 +5,11 @@ dnl dnl Ensure that libcitadel is configured with autoconf 2.52 or newer AC_PREREQ(2.52) -AC_INIT(citadel, 1.00, example@example.com) +AC_INIT(libcitadel, 3.8.14, 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 @@ -22,8 +22,8 @@ dnl dnl If the API changes incompatibly set LIBAGE back to 0 dnl -LIBCURRENT=1 -LIBREVISION=0 +LIBCURRENT=3 +LIBREVISION=814 LIBAGE=0 sinclude(conftools/libtool.m4) @@ -57,13 +57,148 @@ fi dnl Checks for header files. AC_HEADER_STDC +AC_CHECK_HEADER(sys/mman.h, [CFLAGS="$CFLAGS -D HAVE_MMAP"]) +AC_ARG_WITH(with_zlib, [ --with-zlib use zlib compression if present]) +dnl Checks for the zlib compression library. +if test "x$with_zlib" != xno ; then + AC_CHECK_HEADERS(zlib.h, + [AC_CHECK_LIB(z, zlibVersion, + [ok_zlib=yes],, + )]) +fi + +if test "x$ok_zlib" = xyes ; then + LIBS="-lz $LIBS" + AC_DEFINE(HAVE_ZLIB,[],[whether we have zlib]) +fi + +AC_CHECK_HEADER(CUnit/CUnit.h, [AC_DEFINE(ENABLE_TESTS, [], [whether we should compile the test-suite])]) + +AC_CHECK_HEADER(sys/sendfile.h, [AC_DEFINE(LINUX_SENDFILE, [], [whether we have the linux sendfile api])]) +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 +#include +], +[ + 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_CHECK_HEADERS(iconv.h) + + +dnl Here is the check for a libc integrated iconv +AC_ARG_ENABLE(iconv, + [ --disable-iconv do not use iconv charset conversion], + ok_iconv=no, ok_iconv=yes) + +AC_MSG_CHECKING(Checking to see if your system supports iconv) +AC_TRY_RUN([ + #include + main() { + iconv_t ic = (iconv_t)(-1) ; + ic = iconv_open("UTF-8", "us-ascii"); + iconv_close(ic); + exit(0); + } + ], + [ + ok_iconv=yes + AC_MSG_RESULT([yes]) + ], + [ + ok_iconv=no + AC_MSG_RESULT([no]) + ] +) + +dnl Check for iconv in external libiconv +if test "$ok_iconv" = no; then + AC_MSG_CHECKING(Checking for an external libiconv) + OLD_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -liconv" + AC_TRY_RUN([ + #include + main() { + iconv_t ic = (iconv_t)(-1) ; + ic = iconv_open("UTF-8", "us-ascii"); + iconv_close(ic); + } + ], + [ + ok_iconv=yes + AC_MSG_RESULT([yes]) + ], + [ + ok_iconv=no + LDFLAGS="$OLD_LDFLAGS" + AC_MSG_RESULT([no]) + ] + ) +fi +if test "$ok_iconv" != "no"; then + AC_MSG_RESULT(libcitadel will be built with character set conversion.) + AC_DEFINE(HAVE_ICONV,[],[whether we have iconv for charset conversion]) +else + AC_MSG_RESULT(libcitadel will be built without character set conversion.) +fi + +dnl disable backtrace if we don't want it. +AC_ARG_WITH(backtrace, + [ --with-backtrace enable backtrace dumps in the syslog], + [ if test "x$withval" != "xno" ; then + CFLAGS="$CFLAGS -rdynamic " + LDFLAGS="$LDFLAGS -rdynamic " + AC_CHECK_FUNCS(backtrace) + fi + ] +) + + +AC_ARG_WITH(with_zlib, [ --with-zlib use zlib compression if present]) +dnl Checks for the zlib compression library. +if test "x$with_zlib" != xno ; then + AC_CHECK_HEADERS(zlib.h, + [AC_CHECK_LIB(z, zlibVersion, + [ok_zlib=yes],, + )]) +fi + +if test "x$ok_zlib" = xyes ; then + LIBS="-lz $LIBS" + AC_DEFINE(HAVE_ZLIB,[],[whether we have zlib]) +fi + + dnl Checks for typedefs, structures, and compiler characteristics. +AC_SUBST(LIBS) AC_C_CONST AC_TYPE_SIZE_T AC_CHECK_FUNCS(memmove bcopy) -AC_CONFIG_FILES(Makefile libcitadel.pc) +AC_CONFIG_FILES(Makefile libcitadel.pc tests/Makefile) +AC_CONFIG_HEADER(sysdep.h) AC_OUTPUT abs_srcdir="`cd $srcdir && pwd`" @@ -71,3 +206,5 @@ abs_builddir="`pwd`" if test "$abs_srcdir" != "$abs_builddir"; then make mkdir-init fi +echo 'zlib compression: ' $ok_zlib +echo 'Character set conversion support:' $ok_iconv