--- libaitio/configure.in 2012/05/14 12:52:02 1.18.2.1 +++ libaitio/configure.in 2016/08/10 13:59:44 1.55.2.3 @@ -1,26 +1,34 @@ # # $Author: misho $ -# $Id: configure.in,v 1.18.2.1 2012/05/14 12:52:02 misho Exp $ +# $Id: configure.in,v 1.55.2.3 2016/08/10 13:59:44 misho Exp $ # -AC_INIT(libaitio, 2.7, misho@elwix.org) +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, no) +AC_CHECK_TOOL(MKDEP, mkdep, ../mkdep) 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]) @@ -29,10 +37,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 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 + #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, @@ -40,7 +63,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}" ;; *) @@ -52,7 +74,7 @@ AC_MSG_RESULT($DEBUG) AIO=no AC_MSG_CHECKING(AIO Build) AC_ARG_ENABLE(aio, - [ --enable-aio Build library with AIO operations], + [ --enable-aio Build library with AIO operations ], [ AIO=$enableval case "$enableval" in yes) @@ -62,6 +84,20 @@ AC_ARG_ENABLE(aio, ;; 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