--- libaitrpc/configure.in 2011/11/03 15:32:21 1.6 +++ libaitrpc/configure.in 2015/05/18 15:09:59 1.34 @@ -1,11 +1,14 @@ # # $Author: misho $ -# $Id: configure.in,v 1.6 2011/11/03 15:32:21 misho Exp $ +# $Id: configure.in,v 1.34 2015/05/18 15:09:59 misho Exp $ # -AC_INIT(libaitrpc, 2.0, misho@elwix.org) +AC_INIT(libaitrpc, 9.0, misho@elwix.org) AC_CONFIG_SRCDIR([src/aitrpc.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,13 +19,13 @@ 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}" # Checks for libraries. -AC_CHECK_LIB([aitio], [io_arrayInit]) -AC_CHECK_LIB([aitcrc], [crcFletcher16]) AC_CHECK_LIB([pthread], [pthread_create]) +AC_CHECK_LIB([elwix], [array_Init]) +AC_CHECK_LIB([aitsched], [schedInit]) # Checks for header files. AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h stdlib.h string.h sys/param.h sys/socket.h unistd.h]) @@ -46,7 +49,8 @@ AC_CHECK_FUNCS([memset select socket strdup strerror]) AC_CHECK_FUNCS([srandomdev]) AC_CHECK_FUNCS([crcFletcher16 hash_fnv1]) AC_CHECK_FUNCS([pthread_yield]) -AC_CHECK_FUNCS([io_arrayInit io_arrayDestroy]) +AC_CHECK_FUNCS([array_Init array_Destroy]) +AC_CHECK_FUNCS([schedInit schedEnd]) DEBUG=no AC_MSG_CHECKING(Debug Build) @@ -63,6 +67,45 @@ AC_ARG_ENABLE(debug, ;; esac ],) AC_MSG_RESULT($DEBUG) + +CLI_RES_ZC=no +AC_MSG_CHECKING(Client zero-copy return variables) +AC_ARG_ENABLE(cli-res-zcpy, + [ --enable-cli-res-zcpy Build library with zero-copy return array from RPC client ], + [ CLI_RES_ZC=$enableval + case "$enableval" in + yes) + AC_DEFINE(CLI_RES_ZCOPY,, + [Build library with zero-copy return array from RPC client]) + ;; + *) + ;; + esac ],) +AC_MSG_RESULT($CLI_RES_ZC) + +TCP_SESSION_TIMEOUT=no +AC_MSG_CHECKING(RPC server can to do expiring for TCP sessions) +AC_ARG_ENABLE(tcp_sess_exp, + [ --enable-tcp_sess_exp Build library with TCP session expiration], + [ TCP_SESSION_TIMEOUT=$enableval + case "$enableval" in + yes) + AC_DEFINE(TCP_SESSION_TIMEOUT,, + [Build library with TCP session expiration]) + ;; + *) + ;; + esac ],) +AC_MSG_RESULT($TCP_SESSION_TIMEOUT) + +DEF_RPC_TIMEOUT=60 +AC_MSG_CHECKING(RPC server timeout period) +AC_ARG_WITH(timeout_period, + [ --with-timeout_period Build library with TCP timeout period], + [ DEF_RPC_TIMEOUT=$withval ],) +AC_DEFINE_UNQUOTED(DEF_RPC_TIMEOUT, $DEF_RPC_TIMEOUT, [Build library with TCP timeout period]) +AC_MSG_RESULT($DEF_RPC_TIMEOUT) + AC_CONFIG_FILES([Makefile inc/Makefile