--- libaitrpc/configure.in 2010/06/18 01:48:02 1.1 +++ libaitrpc/configure.in 2015/07/22 20:01:46 1.36 @@ -1,11 +1,14 @@ # # $Author: misho $ -# $Id: configure.in,v 1.1 2010/06/18 01:48:02 misho Exp $ +# $Id: configure.in,v 1.36 2015/07/22 20:01:46 misho Exp $ # -AC_INIT(libaitrpc, 1.0, misho@openbsd-bg.org) +AC_INIT(libaitrpc, 9.2, 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,11 +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([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]) @@ -31,8 +36,6 @@ AC_TYPE_INT16_T AC_TYPE_INT32_T AC_TYPE_INT64_T AC_TYPE_INT8_T -AC_TYPE_OFF_T -AC_TYPE_SIZE_T AC_TYPE_UINT16_T AC_TYPE_UINT32_T AC_TYPE_UINT64_T @@ -43,7 +46,11 @@ AC_FUNC_FORK AC_FUNC_MALLOC AC_FUNC_REALLOC 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([array_Init array_Destroy]) +AC_CHECK_FUNCS([schedInit schedEnd]) DEBUG=no AC_MSG_CHECKING(Debug Build) @@ -60,6 +67,66 @@ AC_ARG_ENABLE(debug, ;; esac ],) AC_MSG_RESULT($DEBUG) + +ONLY_CLI=no +AC_MSG_CHECKING(Build only RPC client) +AC_ARG_ENABLE(server, + [ --disable-server Disable RPC server ], + [ if [[ "$enableval" = "no" ]]; then + ONLY_CLI="yes" + AC_DEFINE(ONLY_CLI, 1, [ Disable RPC server ]) + else + AC_DEFINE(ONLY_CLI, 0, [ Disable RPC server ]) + fi ], AC_DEFINE(ONLY_CLI, 0, [ Disable RPC server ])) +AC_MSG_RESULT($ONLY_CLI) +AC_SUBST(ONLY_CLI) + +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=s Build library with RPC timeout period ], + [ DEF_RPC_TIMEOUT=$withval ],) +AC_DEFINE_UNQUOTED(DEF_RPC_TIMEOUT, $DEF_RPC_TIMEOUT, [Build library with RPC timeout period]) +AC_MSG_RESULT($DEF_RPC_TIMEOUT) + +DEF_RPC_BLOB_TIMEOUT=60 +AC_MSG_CHECKING(RPC BLOB server timeout period) +AC_ARG_WITH(blob_timeout, + [ --with-blob_timeout=sec Build library with BLOB timeout period ], + [ DEF_RPC_BLOB_TIMEOUT=$withval ],) +AC_DEFINE_UNQUOTED(DEF_RPC_BLOB_TIMEOUT, $DEF_RPC_BLOB_TIMEOUT, [Build library with BLOB timeout period]) +AC_MSG_RESULT($DEF_RPC_BLOB_TIMEOUT) + AC_CONFIG_FILES([Makefile inc/Makefile