dnl configuration script for libcitadel dnl Process this file with autoconf to produce a configure script. dnl dnl Ensure that libcitadel is configured with autoconf 2.52 or newer AC_PREREQ(2.52) AC_INIT(libcitadel, 8.11, 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 dnl If the API has changed, increment LIBCURRENT and set LIBREVISION to 0 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 LIBCURRENT=2 LIBREVISION=3 LIBAGE=1 sinclude(conftools/libtool.m4) sinclude(conftools/ac_c_bigendian_cross.m4) AC_PROG_LIBTOOL AC_SUBST(LIBCURRENT) AC_SUBST(LIBREVISION) AC_SUBST(LIBAGE) dnl Checks for programs. AC_PROG_CC AC_PROG_INSTALL if test "$GCC" = yes ; then dnl dnl Be careful about adding the -fexceptions option; some versions of dnl GCC don't support it and it causes extra warnings that are only dnl distracting; avoid. dnl OLDCFLAGS="$CFLAGS -Wall -Wmissing-prototypes -Wstrict-prototypes" CFLAGS="$OLDCFLAGS -fexceptions" AC_MSG_CHECKING(whether $CC accepts -fexceptions) AC_TRY_LINK( , , AC_MSG_RESULT(yes), AC_MSG_RESULT(no); CFLAGS="$OLDCFLAGS") CXXFLAGS=`echo "$CFLAGS" | sed 's/ -Wmissing-prototypes -Wstrict-prototypes//'` 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_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 tests/Makefile) AC_CONFIG_HEADER(sysdep.h) AC_OUTPUT abs_srcdir="`cd $srcdir && pwd`" 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