File:  [ELWIX - Embedded LightWeight unIX -] / libaitrpc / configure.in
Revision 1.39: download - view: text, annotated - select for diffs - revision graph
Wed Mar 20 17:32:29 2024 UTC (8 weeks, 3 days ago) by misho
Branches: MAIN
CVS tags: rpc9_6, RPC9_5, HEAD
Version 9.5

    1: #
    2: # $Author: misho $
    3: # $Id: configure.in,v 1.39 2024/03/20 17:32:29 misho Exp $
    4: #
    5: AC_INIT(libaitrpc, 9.5, misho@elwix.org)
    6: AC_CONFIG_SRCDIR([src/aitrpc.c])
    7: AC_CONFIG_HEADERS([inc/config.h])
    8: 
    9: ac_cv_func_malloc_0_nonnull="yes"
   10: ac_cv_func_realloc_0_nonnull="yes"
   11: 
   12: # Checks for programs.
   13: AC_PROG_CC
   14: AC_PROG_INSTALL
   15: AC_PROG_RANLIB
   16: 
   17: AC_CANONICAL_HOST
   18: AC_CANONICAL_TARGET
   19: 
   20: AC_CHECK_TOOL(MKDEP, mkdep, ../mkdep)
   21: AC_SUBST(MKDEP)
   22: 
   23: CFLAGS="-Wall -O2 -fPIC ${CFLAGS}"
   24: LDFLAGS="${LDFLAGS}"
   25: 
   26: # Checks for libraries.
   27: AC_CHECK_LIB([pthread], [pthread_create])
   28: AC_CHECK_LIB([elwix], [array_Init])
   29: AC_CHECK_LIB([aitsched], [schedInit])
   30: 
   31: # Checks for header files.
   32: AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h stdlib.h string.h sys/param.h sys/socket.h unistd.h])
   33: 
   34: # Checks for typedefs, structures, and compiler characteristics.
   35: AC_C_INLINE
   36: AC_TYPE_INT16_T
   37: AC_TYPE_INT32_T
   38: AC_TYPE_INT64_T
   39: AC_TYPE_INT8_T
   40: AC_TYPE_UINT16_T
   41: AC_TYPE_UINT32_T
   42: AC_TYPE_UINT64_T
   43: AC_TYPE_UINT8_T
   44: 
   45: # Checks for library functions.
   46: AC_FUNC_FORK
   47: AC_FUNC_MALLOC
   48: AC_FUNC_REALLOC
   49: AC_CHECK_FUNCS([memset select socket strdup strerror])
   50: AC_CHECK_FUNCS([srandomdev])
   51: AC_CHECK_FUNCS([crcFletcher16 hash_fnv1])
   52: AC_CHECK_FUNCS([pthread_yield])
   53: AC_CHECK_FUNCS([array_Init array_Destroy])
   54: AC_CHECK_FUNCS([schedInit schedEnd])
   55: 
   56: DEBUG=no
   57: AC_MSG_CHECKING(Debug Build)
   58: AC_ARG_ENABLE(debug,
   59: 	[  --enable-debug          Build library with debug information and additional messages],
   60: 	[ DEBUG=$enableval
   61: 		case "$enableval" in
   62: 			yes)
   63: 				AC_DEFINE(__DEBUG,, [Build libraries with debug information and additional messages])
   64: 				CFLAGS="-g ${CFLAGS}"
   65: 				;;
   66: 			*)
   67: 				AC_DEFINE(NDEBUG,, [Build w/o assert() support])
   68: 				;;
   69: 		esac ],)
   70: AC_MSG_RESULT($DEBUG)
   71: 
   72: ONLY_CLI=no
   73: AC_MSG_CHECKING(Build only RPC client)
   74: AC_ARG_ENABLE(server, 
   75: 	[  --disable-server        Disable RPC server ], 
   76: 	[ if [[ "$enableval" = "no" ]]; then 
   77: 		ONLY_CLI="yes"
   78: 		AC_DEFINE(ONLY_CLI, 1, [ Disable RPC server ])
   79: 	  else
   80: 		AC_DEFINE(ONLY_CLI, 0, [ Disable RPC server ])
   81: 	  fi ], AC_DEFINE(ONLY_CLI, 0, [ Disable RPC server ]))
   82: AC_MSG_RESULT($ONLY_CLI)
   83: AC_SUBST(ONLY_CLI)
   84: 
   85: CLI_RES_ZC=no
   86: AC_MSG_CHECKING(Client zero-copy return variables)
   87: AC_ARG_ENABLE(cli-res-zcpy, 
   88: 	[  --enable-cli-res-zcpy   Build library with zero-copy return array from RPC client ], 
   89: 	[ CLI_RES_ZC=$enableval
   90: 	 	case "$enableval" in
   91: 			yes)
   92: 				AC_DEFINE(CLI_RES_ZCOPY,, 
   93: 					  [Build library with zero-copy return array from RPC client])
   94: 				;;
   95: 			*)
   96: 				;;
   97: 		esac ],)
   98: AC_MSG_RESULT($CLI_RES_ZC)
   99: 
  100: TCP_SESSION_TIMEOUT=no
  101: AC_MSG_CHECKING(RPC server can to do expiring for TCP sessions)
  102: AC_ARG_ENABLE(tcp_sess_exp, 
  103: 	[  --enable-tcp_sess_exp   Build library with TCP session expiration], 
  104: 	[ TCP_SESSION_TIMEOUT=$enableval
  105: 	 	case "$enableval" in
  106: 			yes)
  107: 				AC_DEFINE(TCP_SESSION_TIMEOUT,, 
  108: 					  [Build library with TCP session expiration])
  109: 				;;
  110: 			*)
  111: 				;;
  112: 		esac ],)
  113: AC_MSG_RESULT($TCP_SESSION_TIMEOUT)
  114: 
  115: DEF_RPC_TIMEOUT=60
  116: AC_MSG_CHECKING(RPC server timeout period)
  117: AC_ARG_WITH(timeout_period, 
  118: 	[  --with-timeout_period=s Build library with RPC timeout period ], 
  119: 	[ DEF_RPC_TIMEOUT=$withval ],)
  120: AC_DEFINE_UNQUOTED(DEF_RPC_TIMEOUT, $DEF_RPC_TIMEOUT, [Build library with RPC timeout period])
  121: AC_MSG_RESULT($DEF_RPC_TIMEOUT)
  122: 
  123: DEF_RPC_BLOB_TIMEOUT=60
  124: AC_MSG_CHECKING(RPC BLOB server timeout period)
  125: AC_ARG_WITH(blob_timeout, 
  126: 	[  --with-blob_timeout=sec Build library with BLOB timeout period ], 
  127: 	[ DEF_RPC_BLOB_TIMEOUT=$withval ],)
  128: AC_DEFINE_UNQUOTED(DEF_RPC_BLOB_TIMEOUT, $DEF_RPC_BLOB_TIMEOUT, [Build library with BLOB timeout period])
  129: AC_MSG_RESULT($DEF_RPC_BLOB_TIMEOUT)
  130: 
  131: 
  132: AC_CONFIG_FILES([Makefile
  133:                  inc/Makefile
  134:                  lib/Makefile
  135: 		 debian/Makefile
  136:                  src/Makefile])
  137: AC_OUTPUT

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>