--- libaitio/configure.in 2010/03/09 09:26:27 1.2 +++ libaitio/configure.in 2014/02/08 22:06:16 1.52 @@ -1,11 +1,14 @@ # # $Author: misho $ -# $Id: configure.in,v 1.2 2010/03/09 09:26:27 misho Exp $ +# $Id: configure.in,v 1.52 2014/02/08 22:06:16 misho Exp $ # -AC_INIT(libaitio, 1.0, misho@openbsd-bg.org) +AC_INIT(libaitio, 6.9, 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 @@ -16,9 +19,16 @@ AC_CANONICAL_TARGET AC_CHECK_TOOL(MKDEP, mkdep, no) AC_SUBST(MKDEP) -CFLAGS="-Wall -O2 -fPIC -I/usr/local/include ${CFLAGS}" -LDFLAGS="-L/usr/local/lib ${LDFLAGS}" +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]) @@ -26,10 +36,25 @@ AC_CHECK_HEADERS([stdlib.h string.h sys/ioctl.h termio AC_C_INLINE # Checks for library functions. -AC_FUNC_MALLOC -AC_FUNC_REALLOC -AC_CHECK_FUNCS([memset regcomp strchr strerror]) +AC_FUNC_MMAP +AC_CHECK_FUNCS([bzero memset munmap]) +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 + #include + #include + ],[ + 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, @@ -37,7 +62,6 @@ AC_ARG_ENABLE(debug, [ DEBUG=$enableval case "$enableval" in yes) - AC_DEFINE(__DEBUG,, [Build libraries with debug information and additional messages]) CFLAGS="-g ${CFLAGS}" ;; *) @@ -45,6 +69,34 @@ AC_ARG_ENABLE(debug, ;; 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