configure.in 2.48 KB
dnl Process this file with autoconf to procude a configure script. -*-m4-*-
AC_INIT(mailbox/mailbox.c)
AM_INIT_AUTOMAKE(mailutils, 0.9.9)
AM_CONFIG_HEADER(config.h)

dnl Check for programs
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AM_PROG_LIBTOOL

dnl Check for arguments
AC_ARG_ENABLE(pam,
 [  --disable-pam		disable pam],
 [case "${enableval}" in
  yes) testpam=yes ;;
  no)  testpam=no ;;
  *)   AC_MSG_ERROR(bad value ${enableval} for --disable-pam) ;;
 esac],[testpam=yes])

AC_ARG_ENABLE(pthread,
 [  --disable-pthread		disable pthread],
 [case "${enableval}" in
  yes) usepthread=yes ;;
  no)  usepthread=no ;;
  *)   AC_MSG_ERROR(bad value ${enableval} for --disable-pthread) ;;
  esac],[usepthread=yes])

dnl Check for headers
AC_HEADER_STDC
AC_HEADER_DIRENT
AM_C_PROTOTYPES
AC_CHECK_HEADERS(errno.h fcntl.h inttypes.h limits.h malloc.h \
 paths.h shadow.h stdio.h stdlib.h  string.h strings.h sys/file.h syslog.h \
 unistd.h)

dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_UID_T
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T

dnl Check for working functions

AC_REQUIRE([jm_FUNC_MALLOC])
AC_REQUIRE([jm_FUNC_REALLOC])
AC_FUNC_ALLOCA
AC_FUNC_MEMCMP
AC_CHECK_FUNC(snprintf, AC_DEFINE(HAVE_SNPRINTF),
  LIBOBJS="$LIBOBJS snprintf.o")

dnl Check for libraries

dnl Use either PAM or CRYPT, not both.
if test x"$testpam" = x"yes"; then
	AC_CHECK_HEADERS(security/pam_appl.h)
	if test x"$ac_cv_header_security_pam_appl_h" = x"yes"; then
		AC_CHECK_LIB(pam, pam_start, AUTHLIBS="-lpam -ldl" ac_cv_have_libpam="yes",, -ldl)
		AC_DEFINE(USE_LIBPAM)
		AM_CONDITIONAL(USE_LIBPAM, test x"$ac_cv_have_libpam" != xno)
	fi
fi

if test x"$ac_cv_have_libpam" != x"yes"; then
	AC_CHECK_FUNCS(crypt)
	if test x"$ac_cv_func_crypt" = x"no"; then
		AC_CHECK_LIB(crypt, crypt, AUTHLIBS="-lcrypt",, -lcrypt)
	fi
fi
AC_SUBST(AUTHLIBS)

dnl Check threading support
if test x"$usepthread" = x"yes"; then
  AC_CHECK_HEADERS(pthread.h)
  AC_SEARCH_LIBS(pthread_cancel, pthread, AC_DEFINE(WITH_PTHREAD))
  AC_CHECK_FUNCS(pthread_rwlock_init)
fi

dnl Do we need extra libs for networking?
AC_CHECK_FUNC(gethostbyname, [true],
    AC_CHECK_LIB(nsl, gethostbyaddr, LIBS="-lnsl $LIBS"))

AC_CHECK_FUNC(socket, [true],
    AC_CHECK_LIB(socket, socket, LIBS="-lsocket $LIBS"))

dnl Output Makefiles
AC_OUTPUT(Makefile mailutils.spec include/Makefile include/mailutils/Makefile
 m4/Makefile doc/Makefile lib/Makefile mailbox/Makefile imap4d/Makefile
 mailbox/include/Makefile from/Makefile mail/Makefile pop3d/Makefile)