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