--- libaitrpc/configure.in 2012/05/14 08:39:05 1.9 +++ libaitrpc/configure.in 2024/03/20 17:32:29 1.39 @@ -1,29 +1,32 @@ # # $Author: misho $ -# $Id: configure.in,v 1.9 2012/05/14 08:39:05 misho Exp $ +# $Id: configure.in,v 1.39 2024/03/20 17:32:29 misho Exp $ # -AC_INIT(libaitrpc, 3.2, misho@elwix.org) +AC_INIT(libaitrpc, 9.5, 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 +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}" # Checks for libraries. -AC_CHECK_LIB([aitio], [io_arrayInit]) -AC_CHECK_LIB([aitsched], [schedInit]) -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]) @@ -47,7 +50,7 @@ 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 @@ -66,8 +69,69 @@ 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 lib/Makefile + debian/Makefile src/Makefile]) AC_OUTPUT