#
# $Author: misho $
# $Id: configure.in,v 1.56 2016/08/18 09:06:31 misho Exp $
#
AC_INIT(libaitio, 7.3, misho@elwix.org)
AC_CONFIG_SRCDIR([src/aitio.c])
AC_CONFIG_HEADERS([inc/config.h])
ac_cv_func_malloc_0_nonnull="yes"
ac_cv_func_realloc_0_nonnull="yes"
# Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_RANLIB
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
AC_CHECK_TOOL(MKDEP, mkdep, ../mkdep)
AC_SUBST(MKDEP)
CFLAGS="-Wall -O2 -fPIC ${CFLAGS}"
LDFLAGS="${LDFLAGS}"
AC_CHECK_LIB([crypto], [EVP_CipherInit_ex])
AC_CHECK_LIB([pthread], [pthread_mutex_init])
AC_CHECK_LIB([util], [forkpty])
AC_CHECK_LIB([rt], [aio_read])
AC_CHECK_LIB([elwix], [crcFletcher16])
AC_CHECK_LIB([aitsched], [schedRead])
# Checks for header files.
AC_CHECK_HEADERS([stdlib.h string.h sys/ioctl.h termios.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_INLINE
# Checks for library functions.
AC_FUNC_MMAP
AC_CHECK_FUNCS([bzero memset munmap fpurge])
AC_CHECK_FUNCS([pthread_create pthread_exit])
AC_CHECK_FUNCS([shm_open shm_unlink])
# It's stupid, but not all platforms have union semun, even those that need it.
AC_MSG_CHECKING(looking for union semun in sys/sem.h)
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
],[
union semun arg;
semctl(0, 0, 0, arg);
], [
AC_DEFINE(HAVE_UNION_SEMUN,, [union semun])
] msg=yes, msg=no )
AC_MSG_RESULT([$msg])
DEBUG=no
AC_MSG_CHECKING(Debug Build)
AC_ARG_ENABLE(debug,
[ --enable-debug Build library with debug information and additional messages],
[ DEBUG=$enableval
case "$enableval" in
yes)
CFLAGS="-g ${CFLAGS}"
;;
*)
AC_DEFINE(NDEBUG,, [Build w/o assert() support])
;;
esac ],)
AC_MSG_RESULT($DEBUG)
AIO=no
AC_MSG_CHECKING(AIO Build)
AC_ARG_ENABLE(aio,
[ --enable-aio Build library with AIO operations ],
[ AIO=$enableval
case "$enableval" in
yes)
AC_DEFINE(AIO_OPS,, [Build library with AIO operations])
;;
*)
;;
esac ],)
AC_MSG_RESULT($AIO)
ZCBUF=no
AC_MSG_CHECKING(Zero-copy buffer Build)
AC_ARG_ENABLE(zcpy-buffer,
[ --enable-zcpy-buffer Build library with zero-copy buffer ],
[ ZCBUF=$enableval
case "$enableval" in
yes)
AC_DEFINE(ZCBUF_ENABLE,, [Build library with zero-copy buffer])
;;
*)
;;
esac ],)
AC_MSG_RESULT($ZCBUF)
AC_CONFIG_FILES([Makefile
inc/Makefile
lib/Makefile
src/Makefile])
AC_OUTPUT
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>