]>
Commit | Line | Data |
---|---|---|
e67a04a3 | 1 | # Inspired by work Copyright (C) 2006 Luca Filipozzi |
2 | # vim: set fdm=marker ts=2 sw=2 et: | |
3 | ||
4 | AC_REVISION([$Id$]) | |
5 | ||
6 | AC_PREREQ(2.69) | |
a7653a41 | 7 | AC_INIT([plexus], [20170604_0-605], [https://gitlab.com/rizon/plexus4/]) |
85db72b5 | 8 | AM_INIT_AUTOMAKE(1.11.1 subdir-objects) |
adb21d03 | 9 | AC_CONFIG_MACRO_DIR([m4]) |
e67a04a3 | 10 | AC_CONFIG_HEADER(config.h) |
11 | AC_CONFIG_SRCDIR(src/ircd.c) | |
12 | ||
13 | # Checks for programs. | |
14 | AC_PROG_CC_C99 | |
0a502155 | 15 | AM_PROG_CC_C_O |
e67a04a3 | 16 | AS_IF([test "$ac_cv_prog_cc_c99" = "no"], |
17 | [AC_MSG_ERROR([no suitable C99 compiler found. Aborting.])]) | |
18 | AC_PROG_YACC | |
19 | AM_PROG_LEX | |
20 | AC_PROG_INSTALL | |
21 | ||
22 | # Initializing libtool. | |
23 | LT_CONFIG_LTDL_DIR([libltdl]) | |
24 | LT_INIT([dlopen disable-static]) | |
25 | LTDL_INIT([recursive convenience]) | |
26 | LIBTOOL="$LIBTOOL --silent" | |
27 | ||
28 | # Checks for libraries. | |
adb21d03 | 29 | GCC_STACK_PROTECT_CC |
30 | ||
a9188935 | 31 | AX_APPEND_COMPILE_FLAGS([-fno-strict-aliasing]) |
32 | ||
e67a04a3 | 33 | AX_CHECK_LIB_IPV4 |
34 | AX_CHECK_LIB_IPV6 | |
35 | ||
36 | # Checks for typedefs, structures, and compiler characteristics. | |
37 | AC_C_BIGENDIAN | |
38 | ||
39 | # Checks for library functions. | |
1881d892 | 40 | AC_CHECK_FUNCS_ONCE(strtok_r \ |
e67a04a3 | 41 | usleep \ |
42 | strlcat \ | |
43 | strlcpy) | |
44 | ||
45 | # Checks for header files. | |
46 | AC_CHECK_HEADERS_ONCE(crypt.h \ | |
47 | sys/resource.h \ | |
48 | sys/param.h \ | |
49 | types.h \ | |
50 | socket.h \ | |
51 | sys/wait.h \ | |
52 | wait.h) | |
53 | ||
54 | AC_SEARCH_LIBS(crypt, crypt) | |
55 | ||
df784bf6 | 56 | AC_ARG_ENABLE(libgeoip, |
15751612 | 57 | [AS_HELP_STRING([--enable-libgeoip],[Enable GeoIP support])], |
21d6ab12 | 58 | [AC_CHECK_HEADER(GeoIP.h, |
59 | [AC_SEARCH_LIBS(GeoIP_id_by_ipnum_v6_gl, GeoIP, | |
15751612 | 60 | [AC_DEFINE(HAVE_LIBGEOIP, 1, [Define to 1 if libGeoIP (-lGeoIP) is available.])])])], [], []) |
21d6ab12 | 61 | |
e6ff5061 | 62 | AC_DEFUN([_LUA_CHECK], [ |
47ec08ed | 63 | AX_PROG_LUA([5.1],[], |
e6ff5061 | 64 | [ |
cd49faed A |
65 | AX_LUA_HEADERS([],[AC_MSG_ERROR([No lua headers found. Try --disable-lua])]) |
66 | AX_LUA_LIBS([],[AC_MSG_ERROR([No lua libs found. Try --disable-lua])]) | |
e6ff5061 C |
67 | [EXTRA_LIBS="${EXTRA_LIBS} ${LUA_LIB}" ; ] |
68 | [CPPFLAGS="${CPPFLAGS} ${LUA_INCLUDE}" ; ] | |
69 | AC_DEFINE(USE_LUA,1,[use lua]) | |
70 | lua=true | |
71 | ], | |
72 | [ | |
cd49faed | 73 | AC_MSG_ERROR([No lua found. Try --disable-lua]) |
e6ff5061 C |
74 | ]) |
75 | ]) | |
614f5fee A |
76 | AC_ARG_ENABLE(lua, |
77 | [AS_HELP_STRING([--enable-lua],[Enable Lua])], | |
e6ff5061 C |
78 | [ |
79 | if test "x$enableval" = "xno"; then | |
80 | AC_MSG_RESULT([disabled]) | |
81 | else | |
82 | _LUA_CHECK() | |
83 | fi | |
84 | ], | |
85 | [ | |
e6ff5061 | 86 | ]) |
614f5fee | 87 | |
846a8989 | 88 | AC_ARG_ENABLE(libjansson, |
6ce27a83 A |
89 | [AS_HELP_STRING([--enable-libjansson],[Enable libjansson])], |
90 | [AC_CHECK_HEADER(jansson.h, | |
91 | [AC_SEARCH_LIBS(json_object, jansson, | |
92 | [AC_DEFINE(HAVE_LIBJANSSON, 1, [Define to 1 if libjansson (-ljansson) is available.])], | |
93 | [AC_MSG_ERROR([No libjansson found])] | |
94 | )], | |
95 | [AC_MSG_ERROR([No jansson.h found])] | |
96 | )] | |
97 | ) | |
846a8989 | 98 | |
6c0c70df | 99 | AX_PKG_SWIG(2.0.7, [swig=true], []) |
614f5fee | 100 | |
cd6f2b05 A |
101 | AC_ARG_ENABLE(libmicrohttpd, |
102 | [AS_HELP_STRING([--enable-libmicrohttpd],[Enable libmicrohttpd])], | |
6ce27a83 A |
103 | [AC_CHECK_HEADER(microhttpd.h, |
104 | [AC_SEARCH_LIBS(MHD_start_daemon, microhttpd, | |
105 | [AC_DEFINE(HAVE_LIBMICROHTTPD, 1, [Define to 1 if libmicrohttpd (-lmicrohttpd) is available.])], | |
106 | [AC_MSG_ERROR([No libmicrohttpd found])] | |
107 | )], | |
108 | [AC_MSG_ERROR([No microhttpd.h found])] | |
109 | )] | |
110 | ) | |
cd6f2b05 | 111 | |
614f5fee A |
112 | AS_IF([test x$swig$lua = xtruetrue], [ |
113 | AC_DEFINE(HAVE_SWIG_LUA, 1, [Define to 1 if Lua (-llua) is available and SWIG is available.]) | |
114 | ]) | |
115 | AM_CONDITIONAL([HAVE_SWIG_LUA], [test x$swig$lua = xtruetrue]) | |
116 | ||
929c1799 | 117 | AX_CHECK_OPENSSL |
e67a04a3 | 118 | |
45e9dd99 | 119 | # Check for pkg-config |
52b729fb | 120 | USE_CHECK=0 |
0a326995 | 121 | if test m4_ifdef([PKG_CHECK_MODULES], [yes], [no]) == yes; then |
52b729fb A |
122 | AC_CHECK_HEADER(check.h, |
123 | [PKG_CHECK_MODULES([CHECK], [check], [ | |
124 | USE_CHECK=1 | |
125 | AC_REQUIRE_AUX_FILE([tap-driver.sh]) | |
126 | AC_PROG_AWK | |
127 | ])]) | |
45e9dd99 | 128 | fi |
52b729fb | 129 | AM_CONDITIONAL([HAVE_CHECK], [test "$USE_CHECK" -eq 1]) |
45e9dd99 | 130 | |
1a6d683e A |
131 | AC_CHECK_LIB(dl, dlopen, AC_SUBST(LDL, "-ldl")) |
132 | ||
45e9dd99 | 133 | AC_ARG_ENABLE(assert, AS_HELP_STRING([--enable-assert], |
e67a04a3 | 134 | [Enable assert() statements]), |
135 | [assert=$enableval], [assert=no]) | |
136 | ||
137 | AS_IF([test "$assert" = "no"], | |
138 | [AC_DEFINE(NDEBUG, 1, [Define to disable assert() statements.])]) | |
139 | ||
064c336b | 140 | AC_DEFINE([NICKNAMEHISTORYLENGTH], 32768, [Size of the WHOWAS array.]) |
7ea4ec0c | 141 | AC_DEFINE([MP_CHUNK_SIZE_CHANNEL], 1024*1024, [Size of the channel mempool chunk.]) |
142 | AC_DEFINE([MP_CHUNK_SIZE_MEMBER], 2048*1024, [Size of the channel-member mempool chunk.]) | |
143 | AC_DEFINE([MP_CHUNK_SIZE_BAN], 1024*1024, [Size of the ban mempool chunk.]) | |
144 | AC_DEFINE([MP_CHUNK_SIZE_CLIENT], 1024*1024, [Size of the client mempool chunk.]) | |
145 | AC_DEFINE([MP_CHUNK_SIZE_LCLIENT], 512*1024, [Size of the local client mempool chunk.]) | |
146 | AC_DEFINE([MP_CHUNK_SIZE_DNODE], 32*1024, [Size of the dlink_node mempool chunk.]) | |
d2f49544 | 147 | AC_DEFINE([MP_CHUNK_SIZE_DBUF], 512*1024, [Size of the dbuf mempool chunk.]) |
7ea4ec0c | 148 | AC_DEFINE([MP_CHUNK_SIZE_AUTH], 128*1024, [Size of the auth mempool chunk.]) |
149 | AC_DEFINE([MP_CHUNK_SIZE_DNS], 64*1024, [Size of the dns mempool chunk.]) | |
150 | AC_DEFINE([MP_CHUNK_SIZE_WATCH], 8*1024, [Size of the watch mempool chunk.]) | |
7ea4ec0c | 151 | AC_DEFINE([MP_CHUNK_SIZE_USERHOST], 128*1024, [Size of the userhost mempool chunk.]) |
152 | AC_DEFINE([MP_CHUNK_SIZE_IP_ENTRY], 128*1024, [Size of the ip_entry mempool chunk.]) | |
24695eab | 153 | AC_DEFINE([MP_CHUNK_SIZE_INVITE], 8*1024, [Size of the invite mempool chunk.]) |
e67a04a3 | 154 | |
155 | # Argument processing. | |
156 | AX_ARG_ENABLE_IOLOOP_MECHANISM | |
e67a04a3 | 157 | AX_ARG_ENABLE_HALFOPS |
8f8e1152 | 158 | AX_ARG_ENABLE_CHANAQ |
e67a04a3 | 159 | AX_ARG_ENABLE_DEBUGGING |
160 | AX_ARG_ENABLE_WARNINGS | |
161 | ||
162 | AC_DEFINE_DIR([PREFIX],[prefix],[Set to prefix.]) | |
163 | AC_DEFINE_DIR([SYSCONFDIR],[sysconfdir],[Set to sysconfdir.]) | |
164 | AC_DEFINE_DIR([LIBDIR],[libdir],[Set to libdir.]) | |
a971ad0a | 165 | AC_DEFINE_DIR([LIBEXECDIR],[libexecdir],[Set to libexecdir.]) |
e67a04a3 | 166 | AC_DEFINE_DIR([DATADIR],[datadir],[Set to datadir.]) |
167 | AC_DEFINE_DIR([LOCALSTATEDIR],[localstatedir],[Set to localstatedir.]) | |
168 | ||
169 | AC_CONFIG_FILES( \ | |
170 | Makefile \ | |
e67a04a3 | 171 | src/Makefile \ |
846a8989 | 172 | ircd/Makefile \ |
e67a04a3 | 173 | libltdl/Makefile \ |
e67a04a3 | 174 | modules/Makefile \ |
599830b8 | 175 | extra/Makefile \ |
e67a04a3 | 176 | modules/core/Makefile \ |
177 | doc/Makefile \ | |
178 | help/Makefile \ | |
614f5fee | 179 | tools/Makefile \ |
3e402c28 A |
180 | scripts/Makefile \ |
181 | test/Makefile) | |
e67a04a3 | 182 | |
183 | AC_OUTPUT |