dnl Process this file with autoconf to produce a configure script. AC_REVISION([$Id$])dnl AC_INIT(clamav.c) AM_INIT_AUTOMAKE(zms_clamav, 1.17) AM_CONFIG_HEADER(config.h) AM_C_PROTOTYPES AC_LANG_C AC_PROG_CC AC_PROG_MAKE_SET AC_SUBST(PROGS)dnl AC_SUBST(LIBPROGS)dnl AC_PATH_PROG(ECHO, echo, echo)dnl AC_PATH_PROG(LN, ln, ln)dnl AC_PATH_PROG(MV, mv, mv)dnl AC_PATH_PROG(RM, rm, rm)dnl AC_PATH_PROG(PERL, perl, perl)dnl AC_PATH_PROG(NROFF, nroff, nroff)dnl AC_PATH_PROG(CVS2CL, cvs2cl.pl, cvs2cl.pl)dnl AC_PATH_PROG(AR, ar, ar)dnl AC_PATH_PROG(LD, ld, ld)dnl AC_PATH_PROG(SED, sed, sed)dnl AC_PROG_INSTALL AC_PROG_LN_S AM_PROG_LIBTOOL AC_ARG_WITH(zmscanner_config, [ --with-zmscanner-config=PATH path to zmscanner-config program], [ZMSCANNER_CONFIG=$withval], [AC_PATH_PROG(ZMSCANNER_CONFIG,zmscanner-config)]) ZMSCANNER_VERSION=`$ZMSCANNER_CONFIG --version` if test $? != 0; then AC_MSG_ERROR([cannot run zmscanner-config program]) fi case "$ZMSCANNER_VERSION" in 0.*|1.0[[0-2]]) AC_MSG_ERROR([incompatible version $ZMSCANNER_VERSION of zmscanner]);; esac AC_MSG_RESULT([using ZMScanner version $ZMSCANNER_VERSION]) AC_SUBST(ZMSCANNER_VERSION) CFLAGS="`$ZMSCANNER_CONFIG --cflags` $CFLAGS" LIBS="`$ZMSCANNER_CONFIG --libs` $LIBS" zmslibdir="`$ZMSCANNER_CONFIG --libexecdir`" ZMSCANNER_COMMAND="`$ZMSCANNER_CONFIG --binpath`" ZMSCHAT_COMMAND="`$ZMSCANNER_CONFIG --chatpath`" AC_ARG_WITH(clamav_config, [ --with-clamav-config=PATH path to clamav-config program], [CLAMAV_CONFIG=$withval], [AC_PATH_PROG(CLAMAV_CONFIG,clamav-config)]) CLAMAV_VERSION=`$CLAMAV_CONFIG --version` if test $? != 0; then AC_MSG_ERROR([cannot run clamav-config program]) fi AC_MSG_RESULT([using ClamAV version $CLAMAV_VERSION]) CFLAGS="`$CLAMAV_CONFIG --cflags` $CFLAGS" LIBS="`$CLAMAV_CONFIG --libs` $LIBS" AC_ARG_WITH(filetypes, [ --with-filetypes=PATH path to ClamAV source where libclamav/filetypes.h header can be found. This is a hackish way to determine if it necessary to create a temporary file and use file-based scanner function. Only relevant with "filescan on" runtime option.]) SV_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -I$withval/libclamav" AC_CHECK_HEADERS(filetypes.h, [filetypes_hack=yes], [filetypes_hack=no;CFLAGS=$SV_CFLAGS], [#ifdef HAVE_CLAMAV_H # include #endif ]) AC_MSG_RESULT([using filetypes hack: $filetypes_hack]) AC_SUBST(LIBS) AC_SUBST(CFLAGS) AC_SUBST(zmslibdir) AC_SUBST(ZMSCANNER_COMMAND) AC_SUBST(ZMSCHAT_COMMAND) dnl Checks for header files. AC_HEADER_STDC AC_HEADER_TIME AC_CHECK_HEADERS(errno.h unistd.h stddef.h fcntl.h sys/time.h sys/stat.h) AC_CHECK_HEADERS(stdint.h sys/int_types.h inttypes.h sys/inttypes.h) AC_CHECK_HEADERS(sys/socket.h termios.h sys/mman.h sys/select.h) AC_CHECK_HEADERS(zmscanner.h) AC_CHECK_HEADERS(clamav.h) AC_CHECK_MEMBER([struct cl_limits.maxratio], [], [], [#include ]) AC_CHECK_MEMBER([struct cl_limits.maxscansize], [], [], [#include ]) AC_CHECK_MEMBER([struct cl_limits.archivememlim], [], [], [#include ]) dnl Check for types. AC_CHECK_SIZEOF(int,4) AC_CHECK_SIZEOF(long,4) AC_CHECK_SIZEOF(long long,8) dnl Checks for library functions. AC_CHECK_FUNCS(syslog gettimeofday) AC_CHECK_LIB(clamav, cl_scandesc) if test x$ac_cv_lib_clamav_cl_scandesc != xyes; then AC_MSG_ERROR([Cannot find usable libclamav]) fi AC_CHECK_FUNCS(cl_statchkdir) AC_CHECK_FUNCS(cl_scanbuff) AC_CHECK_FUNCS(cl_load) AC_CHECK_FUNCS(cl_init) if test x$ac_cv_func_cl_load != xyes; then AC_DEFINE_UNQUOTED(cl_engine,cl_node,[root node with older library]) fi AC_CONFIG_FILES([Makefile tests/Makefile tests/test.conf \ tests/startserver tests/tryscan tests/stopserver], [test -f tests/startserver && chmod +x tests/startserver test -f tests/tryscan && chmod +x tests/tryscan test -f tests/stopserver && chmod +x tests/stopserver]) AC_OUTPUT