dnl $Id: configure.in,v 1.15 2007/10/11 01:46:34 mrsam Exp $ dnl dnl Copyright 1998 - 2004 Double Precision, Inc. See COPYING for dnl distribution information. dnl $Id: configure.in,v 1.15 2007/10/11 01:46:34 mrsam Exp $ AC_PREREQ(2.59) AC_INIT(liblock, 0.60, courier-users@lists.sourceforge.net) >confdefs.h # Kill PACKAGE_ macros AC_CONFIG_SRCDIR([liblock.h]) AM_CONFIG_HEADER([config.h]) AM_INIT_AUTOMAKE([foreign no-define]) dnl Checks for programs. AC_PROG_AWK AC_PROG_CC AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_LIBTOOL dnl Checks for libraries. dnl Checks for header files. AC_CHECK_HEADERS(errno.h fcntl.h sys/fcntl.h sys/ioctl.h sys/file.h unistd.h sysexits.h) AC_HEADER_STDC AC_HEADER_SYS_WAIT dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_OFF_T AC_TYPE_PID_T AC_TYPE_SIGNAL AC_CACHE_CHECK( [for off64_t], liblock_cv_hasoff64t, liblock_cv_hasoff64t="no" AC_TRY_COMPILE([ #include ],[ off64_t n; n=0; ], liblock_cv_hasoff64t="yes") ) if test "$liblock_cv_hasoff64t" = "yes" then LL_OFFSET_TYPE=off64_t else LL_OFFSET_TYPE=off_t fi AC_DEFINE_UNQUOTED(LL_OFFSET_TYPE,$LL_OFFSET_TYPE, [ Either off64_t or off_t ]) AC_CACHE_CHECK( [for flock_t], liblock_cv_hasflock_t, liblock_cv_hasflock_t="no" AC_TRY_COMPILE([ #if HAVE_CONFIG_H #include "config.h" #endif #include #if HAVE_FCNTL_H #include #endif #if HAVE_SYS_FCNTL_H #include #endif ],[ flock_t t; ], liblock_cv_hasflock_t="yes")) if test "$liblock_cv_hasflock_t" = "yes" then AC_DEFINE_UNQUOTED(HAS_FLOCK_T,1,[ Whether flock_t is defined ]) fi dnl Checks for library functions. AC_CHECK_FUNCS(getdtablesize setpgrp sysconf) AC_CHECK_FUNC(setpgrp, [ AC_FUNC_SETPGRP ] ) AC_CACHE_CHECK( [for fcntl], liblock_cv_hasfcntl, liblock_cv_hasfcntl="no" AC_TRY_LINK([ #define LL_OFFSET_TYPE $LL_OFFSET_TYPE #include "${srcdir}/lockfcntl.c" ],[ int n; ], liblock_cv_hasfcntl="yes")) if test "$liblock_cv_hasfcntl" = "yes" then AC_DEFINE_UNQUOTED(HAS_FCNTL,1, [ Whether fcntl() available ]) fi AC_CACHE_CHECK( [for flock], liblock_cv_hasflock, liblock_cv_hasflock="no" AC_TRY_LINK([ #define LL_OFFSET_TYPE $LL_OFFSET_TYPE #include "${srcdir}/lockflock.c" ],[ int n; ], liblock_cv_hasflock="yes")) if test "$liblock_cv_hasflock" = "yes" then AC_DEFINE_UNQUOTED(HAS_FLOCK,1, [ Whether flock() is available ]) fi AC_CACHE_CHECK( [for lockf], liblock_cv_haslockf, liblock_cv_haslockf="no" AC_TRY_LINK([ #define LL_OFFSET_TYPE $LL_OFFSET_TYPE #include "${srcdir}/locklockf.c" ],[ int n; ], liblock_cv_haslockf="yes")) if test "$liblock_cv_haslockf" = "yes" then AC_DEFINE_UNQUOTED(HAS_LOCKF,1, [ Whether lockf() is available ]) fi AC_MSG_CHECKING(for locking method) AC_ARG_WITH(locking-method, [], lockmethod="$withval", lockmethod="") case x$lockmethod in xfcntl) AC_TRY_RUN([ #define USE_FCNTL 1 #define LL_OFFSET_TYPE $LL_OFFSET_TYPE #include "${srcdir}/locktest.c" ], , AC_MSG_ERROR(fcntl test failed.), : ) ;; x) AC_TRY_RUN([ #define USE_FCNTL 1 #define LL_OFFSET_TYPE $LL_OFFSET_TYPE #include "${srcdir}/locktest.c" ], lockmethod=fcntl, ,AC_MSG_ERROR(--with-locking-method option required)) ;; esac case x$lockmethod in xlockf) AC_TRY_RUN([ #define USE_LOCKF 1 #define LL_OFFSET_TYPE $LL_OFFSET_TYPE #include "${srcdir}/locktest.c" ], , AC_MSG_ERROR(lockf test failed.), : ) ;; x) AC_TRY_RUN([ #define USE_LOCKF 1 #define LL_OFFSET_TYPE $LL_OFFSET_TYPE #include "${srcdir}/locktest.c" ], lockmethod=lockf, , AC_MSG_ERROR(--with-locking-method option required)) ;; esac case x$lockmethod in xflock) AC_TRY_RUN([ #define USE_FLOCK 1 #define LL_OFFSET_TYPE $LL_OFFSET_TYPE #include "${srcdir}/locktest.c" ], , AC_MSG_ERROR(flock test failed.), : ) ;; x) AC_TRY_RUN([ #define USE_FLOCK 1 #define LL_OFFSET_TYPE $LL_OFFSET_TYPE #include "${srcdir}/locktest.c" ], lockmethod=flock, , AC_MSG_ERROR(--with-locking-method option required)) ;; esac case x$lockmethod in xlockf) ;; xflock) ;; xfcntl) ;; *) AC_MSG_ERROR(must specify --with-locking-method option) ;; esac AC_MSG_RESULT($lockmethod) AM_CONDITIONAL(USE_FCNTL, test "$lockmethod" = "fcntl") AM_CONDITIONAL(USE_FLOCK, test "$lockmethod" = "flock") AM_CONDITIONAL(USE_LOCKF, test "$lockmethod" = "lockf") AM_CONDITIONAL(HAVE_SGML, test -d ${srcdir}/../docbook) AC_DEFINE_UNQUOTED(liblock_config_h,1, [liblock/config.h has been read]) AC_OUTPUT(Makefile)