--- libaitio/configure.in 2012/12/19 11:03:04 1.31 +++ libaitio/configure.in 2016/08/18 09:06:31 1.56 @@ -1,29 +1,34 @@ # # $Author: misho $ -# $Id: configure.in,v 1.31 2012/12/19 11:03:04 misho Exp $ +# $Id: configure.in,v 1.56 2016/08/18 09:06:31 misho Exp $ # -AC_INIT(libaitio, 4.0, 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([aitcrc], [crcFletcher16]) +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]) @@ -32,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, @@ -65,19 +85,19 @@ AC_ARG_ENABLE(aio, esac ],) AC_MSG_RESULT($AIO) -#MPOOL=no -#AC_MSG_CHECKING(Use ELWIX MPOOL) -#AC_ARG_ENABLE(mpool, -# [ --enable-mpool Build library with MPOOL operations ], -# [ MPOOL=$enableval -# case "$enableval" in -# yes) -# AC_DEFINE(USE_MPOOL,, [Build library with MPOOL operations]) -# ;; -# *) -# ;; -# esac ],) -#AC_MSG_RESULT($MPOOL) +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