-
Notifications
You must be signed in to change notification settings - Fork 7
/
configure.ac
121 lines (98 loc) · 3.42 KB
/
configure.ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.59])
AC_INIT([xio], [0.9], [yp.fangdong@gmail.com])
AC_CONFIG_SRCDIR([src])
AC_CONFIG_HEADERS(config.h)
AM_INIT_AUTOMAKE([0.9 foreign subdir-objects tar-ustar dist-zip])
m4_ifdef([AM_SILENT_RULES], [
AM_SILENT_RULES([yes])
])
CFLAGS="${CFLAGS} -I/usr/local/include/ -L/usr/local/lib/ -L/usr/local/lib64 -L/usr/lib -L/usr/lib64 -L/lib -L/lib64"
# Checks for programs.
AC_PROG_LIBTOOL
AM_PROG_CC_C_O
AC_PROG_INSTALL
AC_PROG_MAKE_SET
# Checks for libraries.
# FIXME: Replace `main' with a function in `-lpthread':
AC_CHECK_LIB([pthread], [pthread_create])
# FIXME: Replace `main' with a function in `-luuid':
AC_CHECK_LIB([uuid], [uuid_copy])
# Checks for header files.
AC_CHECK_HEADERS([uuid/uuid.h])
AC_CHECK_HEADERS([fcntl.h inttypes.h malloc.h stdint.h stdlib.h string.h unistd.h])
AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h sys/socket.h sys/time.h netinet/tcp.h net/if.h])
AC_CHECK_HEADERS([sys/un.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_INLINE
#AC_TYPE_INT16_T
#AC_TYPE_INT32_T
#AC_TYPE_INT64_T
#AC_TYPE_INT8_T
AC_TYPE_PID_T
#AC_TYPE_SIZE_T
#AC_TYPE_SSIZE_T
#AC_TYPE_UINT16_T
#AC_TYPE_UINT32_T
#AC_TYPE_UINT64_T
#AC_TYPE_UINT8_T
# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_CHECK_FUNCS([getcwd gettimeofday memmove memset socket strchr strdup strndup strrchr strstr])
AC_CHECK_FUNCS([epoll_create select poll kqueue sysconf])
AC_CHECK_FUNCS([gethostbyname_r gethostbyname gethostbyaddr gethostbyaddr_r])
AC_CHECK_FUNCS([pthread_spin_lock])
# If --enable-lua is specified, building xio modules for lua.
AC_ARG_ENABLE([lua],
AS_HELP_STRING([--enable-lua], [xio extension for lua])
)
AM_CONDITIONAL([LUA], [test "$enable_lua" = "yes"])
AS_IF([test "$enable_lua" = "yes"], [
AC_CHECK_LIB([lua], [lua_pushnumber])
])
AS_IF([test $GCC = yes], [
AC_DEFINE([HAVE_GCC], [], [gcc compiler support])
])
# If --enable-debug is specified, set the HAVE_DEBUG macro.
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug], [enable debugging information [default=yes]])]
)
if test "$enable_debug" = "yes"; then
if test "$GCC" = "yes"; then
CFLAGS="${CFLAGS} -g -O0"
fi
AC_DEFINE([HAVE_DEBUG], [], [enable debug compile mode])
fi
# If --enable-poll is specified, set the HAVE_DEBUG macro.
AC_ARG_ENABLE([poll],
[AS_HELP_STRING([--enable-poll], [poll eventpoll support [default=no]])]
)
if test "$enable_poll" = "yes"; then
AC_DEFINE([USE_POLL], [], [use poll for eventpoll])
fi
# If --enable-epoll is specified, set the HAVE_DEBUG macro.
AC_ARG_ENABLE([epoll],
[AS_HELP_STRING([--enable-epoll], [epoll eventpoll support [default=no]])]
)
if test "$enable_epoll" = "yes"; then
AC_DEFINE([USE_EPOLL], [], [use epoll for eventpoll])
fi
# If --enable-epoll is specified, set the HAVE_DEBUG macro.
AC_ARG_ENABLE([select],
[AS_HELP_STRING([--enable-select], [select eventpoll support [default=no]])]
)
if test "$enable_select" = "yes"; then
AC_DEFINE([USE_SELECT], [], [use select for eventpoll])
fi
# If --enable-epoll is specified, set the HAVE_DEBUG macro.
AC_ARG_ENABLE([kqueue],
[AS_HELP_STRING([--enable-kqueue], [kqueue eventpoll support [default=no]])]
)
if test "$enable_kqueue" = "yes"; then
AC_DEFINE([USE_KQUEUE], [], [use kqueue for eventpoll])
fi
AC_CONFIG_FILES([Makefile])
AC_OUTPUT