--- libaitio/configure.in 2012/05/19 00:19:55 1.20.2.2 +++ libaitio/configure.in 2014/05/18 23:35:16 1.54 @@ -1,11 +1,14 @@ # # $Author: misho $ -# $Id: configure.in,v 1.20.2.2 2012/05/19 00:19:55 misho Exp $ +# $Id: configure.in,v 1.54 2014/05/18 23:35:16 misho Exp $ # -AC_INIT(libaitio, 3.1, misho@elwix.org) +AC_INIT(libaitio, 7.1, 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,12 +19,15 @@ 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]) @@ -30,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, @@ -41,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}" ;; *) @@ -53,7 +73,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) @@ -63,6 +83,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