File:  [ELWIX - Embedded LightWeight unIX -] / libaitrpc / configure.in
Revision 1.40: download - view: text, annotated - select for diffs - revision graph
Tue Oct 29 01:33:15 2024 UTC (5 weeks, 1 day ago) by misho
Branches: MAIN
CVS tags: rpc9_7, RPC9_6, HEAD
Version 9.6

#
# $Author: misho $
# $Id: configure.in,v 1.40 2024/10/29 01:33:15 misho Exp $
#
AC_INIT(libaitrpc, 9.6, 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, ../mkdep)
AC_SUBST(MKDEP)

if test x"${prefix}" = x"NONE"; then
	prefix="/usr/local"
fi
if test x"${exec_prefix}" = x"NONE"; then
	exec_prefix=${prefix}
fi

if test "${ac_cv_env_CFLAGS_set}" != "set"; then
	CFLAGS="-Wall -O2 -I${includedir}"
else
	CFLAGS="${ac_cv_env_CFLAGS_value}"
fi
if test "${ac_cv_env_LDFLAGS_set}" = "set"; then
	LDFLAGS="${ac_cv_env_LDFLAGS_value}"
else
	LDFLAGS="-L$(eval echo ${libdir})"
fi


# Checks for libraries.
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])

# Checks for typedefs, structures, and compiler characteristics.
AC_C_INLINE
AC_TYPE_INT16_T
AC_TYPE_INT32_T
AC_TYPE_INT64_T
AC_TYPE_INT8_T
AC_TYPE_UINT16_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T

# Checks for library functions.
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)
AC_ARG_ENABLE(debug,
	[  --enable-debug          Build library with debug information and additional messages],
	[ DEBUG=$enableval
		case "$enableval" in
			yes)
				AC_DEFINE(__DEBUG,, [Build libraries with debug information and additional messages])
				CFLAGS="-g ${CFLAGS}"
				;;
			*)
				AC_DEFINE(NDEBUG,, [Turn off debug asserts])
				;;
		esac ], AC_DEFINE(NDEBUG,, [Turn off debug asserts]))
AC_MSG_RESULT($DEBUG)

DEBIAN_ARCH=$target_cpu
AS_IF([ test "x$target_cpu" = "xarm6l" -o "x$target_cpu" = "xarm7l" ], DEBIAN_ARCH="armhf") 
AS_IF([ test "x$target_cpu" = "xaarch64" ], DEBIAN_ARCH="arm64") 
AS_IF([ test "x$target_cpu" = "xi686" ], DEBIAN_ARCH="i386") 
AS_IF([ test "x$target_cpu" = "xx86_64" ], DEBIAN_ARCH="amd64") 
AC_SUBST(DEBIAN_ARCH)

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
		debian/control
		src/Makefile])
AC_OUTPUT

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