Mail-MIMEDefang

 view release on metacpan or  search on metacpan

configure.ac  view on Meta::CPAN

    fi
    AC_MSG_RESULT($HAVE_DIGEST_MD5)

    AC_MSG_CHECKING([for Perl module Net::SMTP])
    (echo "use Net::SMTP;" ; echo "exit(0);") | $PERL > /dev/null 2>&1
    if test $? != 0 ; then
	HAVE_NET_SMTP=no
    else
	HAVE_NET_SMTP=yes
    fi
    AC_MSG_RESULT($HAVE_NET_SMTP)

    dnl Check MIME::Tools version
    dirs=`echo 'print "@INC\n";' | $PERL`
    foundit=""
    for i in $dirs ; do
	if test -r "$i/MIME/Field/ParamVal.pm" ; then
	    foundit="$i/MIME/Field/ParamVal.pm"
	    break
	fi
    done

    if test "$foundit" != "" ; then
	AC_MSG_CHECKING([MIME-Tools version])
	mtversion=`echo '$x = $MIME::Tools::VERSION; $y = int($x) * 10000; $z = ($x - int($x)) * 10000; print $y + $z;' | $PERL -I$PERLINSTALLSITELIB -MMIME::Tools 2>/dev/null`
	mt_actual_version=`echo 'print "$MIME::Tools::VERSION";' | $PERL -I$PERLINSTALLSITELIB -MMIME::Tools 2>/dev/null`
	if test "$mtversion" = "" ; then
	   mtversion="unknown"
	   mt_actual_version="unknown"
	fi
	AC_MSG_RESULT($mt_actual_version)
    else
	mtversion="unknown"
    fi
fi

dnl We need at least *one* of Sys::Syslog or Unix::Syslog
HAVE_A_SYSLOG=0
for module in 'Sys::Syslog' 'Unix::Syslog' ; do
    AC_MSG_CHECKING([for Perl module $module])
    (echo "use $module;" ; echo "exit(0);") | $PERL > /dev/null 2>&1
    if test $? = 0 ; then
	HAVE_A_SYSLOG=1
	AC_MSG_RESULT(ok)
    else
	AC_MSG_RESULT(no)
    fi
done

if test $HAVE_A_SYSLOG = 0 ; then
    if test "$ac_cv_perlmodcheck" = "yes" ; then
    	AC_MSG_WARN([*** Error: Could not find Sys::Syslog or Unix::Syslog])
	AC_MSG_WARN([*** One of those Perl modules is required.]);
	exit 1
    fi
fi

dnl Check for ExtUtils::Embed
if test "$ac_cv_embedded_perl" = "no" ; then
    echo "Check for embedded perl disabled by --disable-embedded-perl option"
    HAVE_EXTUTILS_EMBED=no
else
    AC_MSG_CHECKING([for Perl module ExtUtils::Embed])
    (echo "use ExtUtils::Embed;" ; echo "exit(0);") | $PERL > /dev/null 2>&1
    if test $? = 0 ; then
	HAVE_EXTUTILS_EMBED=yes
	AC_MSG_RESULT(ok)
    else
	HAVE_EXTUTILS_EMBED=no
	AC_MSG_RESULT(no)
    fi
fi

AC_SUBST(HAVE_SPAM_ASSASSIN)
AC_CHECK_HEADERS(getopt.h unistd.h stdint.h poll.h stdint.h)

dnl Check if stdint.h defines uint32_t
AC_MSG_CHECKING(whether stdint.h defines uint32_t)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <stdint.h>
]], [[uint32_t foo;]])],[ac_uint32_t_defined=yes],[ac_uint32_t_defined=no])
AC_MSG_RESULT($ac_uint32_t_defined)

if test "$ac_uint32_t_defined" = "yes" ; then
   AC_DEFINE(HAVE_UINT32_T,[],["whether uint32_t is defined"])
fi

dnl Check if sys/types.h defines uint32_t
AC_MSG_CHECKING(whether sys/types.h defines uint32_t)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <sys/types.h>
]], [[uint32_t foo;]])],[ac_uint32_t_defined=yes],[ac_uint32_t_defined=no])
AC_MSG_RESULT($ac_uint32_t_defined)

if test "$ac_uint32_t_defined" = "yes" ; then
   AC_DEFINE(HAVE_UINT32_T,[],["whether uint32_t is defined"])
fi

dnl sig_atomic_t
AC_MSG_CHECKING(whether sig_atomic_t is defined)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <signal.h>
]], [[sig_atomic_t foo;]])],[ac_have_sig_atomic_t=yes],[ac_have_sig_atomic_t=no])
AC_MSG_RESULT($ac_have_sig_atomic_t)
if test "$ac_have_sig_atomic_t" = "yes" ; then
   AC_DEFINE(HAVE_SIG_ATOMIC_T,[],["Whether we have the atomic_t variable type "])
fi

dnl Check if compiler allows "-pthread" option, but only if
dnl we are using GCC

if test "$FORCE_PTHREAD_FLAG" = "-pthread" ; then
   AC_MSG_RESULT(Forcing use of -pthread C compiler flag)
   PTHREAD_FLAG=-pthread
elif test "$GCC" = yes ; then
   AC_MSG_CHECKING([whether ${CC-cc} accepts -pthread])
   echo 'void f(){}' > conftest.c
   if test -z "`${CC-cc} -pthread -c conftest.c 2>&1`"; then
	   ac_cv_prog_cc_pthread=yes
	   PTHREAD_FLAG="-pthread"
   else
	PTHREAD_FLAG=""
	ac_cv_prog_cc_pthread=no
   fi
   AC_MSG_RESULT($ac_cv_prog_cc_pthread)
   rm -f conftest*
else
   PTHREAD_FLAG=""
fi

if test "$HAVE_EXTUTILS_EMBED" = "yes" ; then
   AC_MSG_CHECKING([if we can embed a Perl interpreter in C])
   OLDCFLAGS="$CFLAGS"
   OLDLDFLAGS="$LDFLAGS"
   OLDLIBS="$LIBS"
   LIBS="-lperl $LIBS"
   EMBPERLLDFLAGS="`$PERL -MExtUtils::Embed -e ldopts`"
   EMBPERLCFLAGS="`$PERL -MExtUtils::Embed -e ccopts`"
   LDFLAGS="$EMBPERLLDFLAGS $LDFLAGS"
   CFLAGS="$EMBPERLCFLAGS $CFLAGS"
   AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <EXTERN.h>
#include <perl.h>
#include <stdlib.h>
static PerlInterpreter *my_perl;
int main(int argc, char **argv, char **env) {
    my_perl = perl_alloc();
    if (!my_perl) exit(1);
    exit(0);
}
]])],[EMBED_PERL=yes],[EMBED_PERL=no],[])
   LIBS="$OLDLIBS"
   CFLAGS="$OLDCFLAGS"
   LDFLAGS="$OLDLDFLAGS"
   AC_MSG_RESULT($EMBED_PERL)
else
   EMBED_PERL=no
fi
if test "$EMBED_PERL" = "no" ; then
   EMBPERLCFLAGS=""
   EMBPERLLDFLAGS=""
   EMBPERLLIBS=""
   EMBPERLDEFS=""
   EMBPERLOBJS=""
else
   EMBPERLLIBS="-lperl"
   EMBPERLDEFS="-DEMBED_PERL"
   EMBPERLOBJS="embperl.o xs_init.o"
   # Check for buggy perl interpreter
   AC_MSG_CHECKING([if it is safe to destroy and recreate a Perl interpreter])
   LIBS="-lperl $LIBS"
   LDFLAGS="$EMBPERLLDFLAGS $LDFLAGS"
   CFLAGS="$EMBPERLCFLAGS $CFLAGS $PTHREAD_FLAG"
   AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <EXTERN.h>
#include <perl.h>

static PerlInterpreter *my_perl = NULL;
static char **argv = NULL;

int
make_embedded_interpreter(char **env)
{
    int argc;
    if (!argv) {
        argv = (char **) malloc(6 * sizeof(char *));
    }
    if (my_perl != NULL) {
	perl_destruct(my_perl);
	perl_free(my_perl);
	my_perl = NULL;
    }
    argv[0] = "";
    argv[1] = "-e";
    argv[2] = "print(\"\");";
    argv[3] = NULL;
    argc = 3;

#ifdef PERL_SYS_INIT3
    PERL_SYS_INIT3(&argc, &argv, &env);
#endif
    my_perl = perl_alloc();
    if (!my_perl) {
	return -1;
    }
    PERL_SET_CONTEXT(my_perl);
    PL_perl_destruct_level = 1;
    perl_construct(my_perl);
    PL_perl_destruct_level = 1;
    argv[0] = "";
    argv[1] = "-e";
    argv[2] = "print(\"\");";
    argv[3] = NULL;
    argc = 3;
    perl_parse(my_perl, NULL, argc, argv, NULL);
    perl_run(my_perl);
    return 0;
}

int
main(int argc, char **argv, char **env)
{
    make_embedded_interpreter(env);
    make_embedded_interpreter(env);
    return 0;
}
]])],[SAFE_EMBED_PERL=yes],[SAFE_EMBED_PERL=no],[])
   LIBS="$OLDLIBS"
   CFLAGS="$OLDCFLAGS"
   LDFLAGS="$OLDLDFLAGS"
   AC_MSG_RESULT($SAFE_EMBED_PERL)
   if test "$SAFE_EMBED_PERL" = "yes" ; then
      EMBPERLDEFS="$EMBPERLDEFS -DSAFE_EMBED_PERL"
   fi
fi

if test "$ac_cv_use_poll" = "no" ; then
    USEPOLL=""
else
    if test "$ac_cv_header_poll_h" = "no" ; then
	USEPOLL=""
	AC_MSG_WARN([*** You used --enable-poll, but I cannot find the])
	AC_MSG_WARN([*** poll.h header.  Turning OFF --enable-poll])
    else
	USEPOLL="-DEVENT_USE_POLL=1"
    fi
fi

AC_SUBST(EMBPERLCFLAGS)
AC_SUBST(EMBPERLLDFLAGS)
AC_SUBST(EMBPERLLIBS)
AC_SUBST(EMBPERLOBJS)
AC_SUBST(EMBPERLDEFS)
AC_SUBST(USEPOLL)

AC_CHECK_LIB(resolv, res_init)
AC_CHECK_LIB(socket, htons)
AC_CHECK_LIB(nsl, gethostbyname)
LIBS_WITHOUT_PTHREAD="$LIBS"
AC_CHECK_LIB(pthread, pthread_once)

dnl Do we have initgroups?
AC_CHECK_FUNCS(initgroups)
dnl How about getpwnam_r?
AC_CHECK_FUNCS(getpwnam_r)
AC_CHECK_FUNCS(setrlimit)
AC_CHECK_FUNCS(snprintf)
AC_CHECK_FUNCS(vsnprintf)
AC_CHECK_FUNCS(readdir_r)
AC_CHECK_FUNCS(pathconf)
AC_CHECK_FUNCS(inet_ntop)

if test "$SPOOLDIR" = "no" -o "$SPOOLDIR" = "" ; then
	SPOOLDIR=/var/spool/MIMEDefang
fi

if test "$QDIR" = "no" -o "$QDIR" = "" ; then
	QDIR=/var/spool/MIMEDefang
fi

AC_SUBST(SPOOLDIR)
AC_SUBST(QDIR)

dnl debugging
AC_ARG_ENABLE(debugging, [  --enable-debugging      Add debugging messages to syslog], ac_cv_debugging=$enableval, ac_cv_debugging=no)

dnl Check for virus scanners
AC_ARG_ENABLE(anti-virus,
			[  --disable-anti-virus    Do not look for anti-virus scanners], ac_cv_antivirus=$enableval, ac_cv_antivirus=yes)
AC_ARG_ENABLE(antivir,  [  --disable-antivir       Do not include support for H+BEDV antivir], ac_cv_antivir=$enableval, ac_cv_antivir=yes)
AC_ARG_ENABLE(vexira,   [  --disable-vexira        Do not include support for Central Command Vexira], ac_cv_vexira=$enableval, ac_cv_vexira=yes)
AC_ARG_ENABLE(uvscan,   [  --disable-uvscan        Do not include support for NAI uvscan], ac_cv_uvscan=$enableval, ac_cv_uvscan=yes)
AC_ARG_ENABLE(bdc,      [  --disable-bdc           Do not include support for Bitdefender bdc], ac_cv_bdc=$enableval, ac_cv_bdc=yes)



( run in 1.917 second using v1.01-cache-2.11-cpan-3fabe0161c3 )