]>
Commit | Line | Data |
---|---|---|
d76ed9a9 AS |
1 | dnl Process this file with autoconf to create a configure script. |
2 | ||
3 | dnl General initialization. | |
4 | AC_REVISION([$Id$]) | |
d82cf2f0 | 5 | AC_PREREQ(2.60) |
63c95a47 | 6 | AC_INIT([X3],[1.5],[evilnet-devel@lists.sourceforge.net]) |
ceafd592 | 7 | CODENAME=X3 |
d76ed9a9 AS |
8 | AC_CONFIG_HEADERS(src/config.h) |
9 | AC_CONFIG_SRCDIR(src/opserv.c) | |
10 | dnl AM_CANONICAL_TARGET must be before AM_INIT_AUTOMAKE() or autoconf whines | |
11 | AC_CANONICAL_TARGET | |
12 | AM_INIT_AUTOMAKE([gnu 1.6]) | |
13 | AM_MAINTAINER_MODE | |
14 | ||
15 | dnl Compiler/runtime feature checks. | |
16 | AC_TYPE_SIGNAL | |
17 | AC_C_CONST | |
18 | AC_C_INLINE | |
19 | ||
20 | dnl Checks for programs. | |
21 | AC_PROG_AWK | |
22 | AC_PROG_CC | |
d76ed9a9 | 23 | AC_PROG_INSTALL |
35305a49 | 24 | |
35305a49 AS |
25 | AC_PROG_RANLIB |
26 | dnl AC_PROG_LIBTOOL | |
27 | ||
d76ed9a9 AS |
28 | AC_PROG_LN_S |
29 | AC_PROG_MAKE_SET | |
30 | AC_PROG_GCC_TRADITIONAL | |
5b1166fd | 31 | AC_CHECK_PROG(MAKER, gmake, gmake, make) |
d76ed9a9 AS |
32 | |
33 | dnl nice that unixes can all follow a standard. | |
34 | case $target in | |
35 | *-freebsd2* | *-freebsdelf2* | *-freebsd*out3*) | |
36 | ANSI_SRC="" | |
37 | ;; | |
38 | *-freebsd3* | *-freebsdelf3* | *-freebsd*out3*) | |
39 | ANSI_SRC="" | |
d76ed9a9 AS |
40 | ;; |
41 | *-solaris*) | |
42 | EXTRA_DEFINE="-D__SOLARIS__" | |
43 | ANSI_SRC="-fno-builtin" | |
44 | ;; | |
45 | *-cygwin) | |
46 | ANSI_SRC="-fno-builtin" | |
47 | ;; | |
48 | *-linux*) | |
49 | dnl -D_GNU_SOURCE needed for strsignal() | |
50 | EXTRA_DEFINE="-D_GNU_SOURCE" | |
51 | ANSI_SRC="" | |
52 | ;; | |
53 | *) | |
54 | ANSI_SRC="" | |
55 | ;; | |
56 | esac | |
57 | CFLAGS="$CFLAGS $EXTRA_DEFINE" | |
58 | ||
59 | dnl Checks for libraries. | |
60 | AC_CHECK_LIB(socket, socket) | |
61 | AC_CHECK_LIB(nsl, gethostbyname) | |
d8cf9c21 | 62 | AC_CHECK_LIB(m, main) |
21f6caee | 63 | AC_CHECK_LIB(GeoIP, GeoIP_open) |
d76ed9a9 AS |
64 | |
65 | dnl Checks for header files. | |
66 | AC_HEADER_STDC | |
67 | ||
68 | dnl will be used for portability stuff | |
69 | AC_HEADER_TIME | |
70 | AC_STRUCT_TM | |
71 | ||
72 | dnl Would rather not bail on headers, BSD has alot of the functions elsewhere. -Jedi | |
21f6caee | 73 | AC_CHECK_HEADERS(GeoIP.h GeoIPCity.h fcntl.h tgmath.h malloc.h netdb.h netinet/in.h sys/resource.h sys/timeb.h sys/times.h sys/param.h sys/socket.h sys/time.h sys/types.h sys/wait.h unistd.h getopt.h memory.h arpa/inet.h sys/mman.h sys/stat.h dirent.h,,) |
d76ed9a9 | 74 | |
d76ed9a9 | 75 | dnl portability stuff, hurray! -Jedi |
2f61d1d7 | 76 | AC_CHECK_MEMBER([struct sockaddr.sa_len], |
77 | [AC_DEFINE([HAVE_SOCKADDR_SA_LEN],,[Define if struct sockaddr has sa_len field])], | |
78 | [],[#include <sys/types.h> | |
79 | #include <sys/socket.h>]) | |
80 | AC_CHECK_MEMBER([struct addrinfo.ai_flags], | |
81 | [AC_DEFINE([HAVE_STRUCT_ADDRINFO],,[Define if struct addrinfo declared])], | |
82 | [],[#include <sys/types.h> | |
83 | #include <sys/socket.h> | |
84 | #include <netdb.h>]) | |
21f6caee | 85 | |
d76ed9a9 AS |
86 | AC_CHECK_FUNCS(gettimeofday) |
87 | if test $ac_cv_func_gettimeofday = no; then | |
2f61d1d7 | 88 | AC_CHECK_FUNCS(ftime,,AC_MSG_ERROR([ftime or gettimeofday required. X3 build will fail.])) |
d76ed9a9 AS |
89 | fi |
90 | ||
91 | dnl We have fallbacks in case these are missing, so just check for them. | |
5b1166fd | 92 | AC_CHECK_FUNCS(freeaddrinfo getaddrinfo getnameinfo getpagesize memcpy memset strdup strerror strsignal localtime_r setrlimit getopt getopt_long sysconf,,) |
2f61d1d7 | 93 | |
d76ed9a9 | 94 | dnl Check for absolutely required library functions. |
2f61d1d7 | 95 | AC_CHECK_FUNCS(select socket strcspn strspn strtod strtoul,,AC_MSG_ERROR([a required function was not found. X3 build will fail.])) |
d76ed9a9 AS |
96 | |
97 | dnl Check for functions (and how to get them). | |
98 | AC_FUNC_ALLOCA | |
99 | AC_FUNC_MMAP | |
100 | ||
101 | AC_CACHE_CHECK([for sin_len], ac_cv_sin_len, | |
102 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h> | |
103 | #include <netinet/in.h>],[struct sockaddr_in *sin; sin->sin_len = 0;])], | |
104 | ac_cv_sin_len="yes", ac_cv_sin_len="no")]) | |
105 | if test $ac_cv_sin_len = yes ; then | |
106 | AC_DEFINE(HAVE_SIN_LEN, 1, [Define if struct sockaddr_in contains a sin_len field]) | |
107 | fi | |
108 | ||
697f4c9a | 109 | dnl Check for socklen_t. In traditional BSD this is an int, but some |
110 | dnl OSes use a different type. Test until we find something that will | |
111 | dnl work properly. Test borrowed from a patch submitted for Python. | |
112 | AC_CHECK_TYPE([socklen_t], ,[ | |
113 | AC_MSG_CHECKING([for socklen_t equivalent]) | |
114 | AC_CACHE_VAL([curl_cv_socklen_t_equiv], | |
115 | [ | |
116 | dnl Systems have either "struct sockaddr*" or "void*" as second | |
117 | dnl arg to getpeername. | |
118 | curl_cv_socklen_t_equiv= | |
119 | for arg2 in "struct sockaddr" void ; do | |
120 | for t in int size_t unsigned long "unsigned long" ; do | |
121 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> | |
122 | #include <sys/socket.h> | |
123 | int getpeername (int $arg2 *, $t *);]], [[$t len; | |
124 | getpeername(0, 0, &len);]])],[curl_cv_socklen_t_equiv="$t" | |
125 | break],[]) | |
126 | done | |
127 | done | |
128 | ]) | |
129 | AC_MSG_RESULT($curl_cv_socklen_t_equiv) | |
130 | AC_DEFINE_UNQUOTED(socklen_t, $curl_cv_socklen_t_equiv, | |
131 | [type to use in place of socklen_t if not defined])], | |
132 | [#include <sys/types.h> | |
133 | #include<sys/socket.h>]) | |
134 | ||
d76ed9a9 AS |
135 | dnl Can only check with -Werror, but the rest of configure doesn't like -Werror |
136 | OLD_CFLAGS=$CFLAGS | |
137 | CFLAGS="$CFLAGS -W -Wall -Werror" | |
138 | ||
139 | dnl Now figure out how to printf() a time_t | |
140 | AC_MSG_CHECKING(for time_t format) | |
141 | AC_CACHE_VAL(ac_cv_fmt_time_t, [ | |
142 | ac_cv_fmt_time_t=no | |
143 | AC_COMPILE_IFELSE([#include <sys/types.h> | |
144 | #include <stdio.h> | |
145 | void myfunc(void) { | |
146 | time_t test=0; | |
147 | printf("%li", test); | |
148 | }], ac_cv_fmt_time_t="\"%li\"") | |
149 | if test $ac_cv_fmt_time_t = no; then | |
150 | AC_COMPILE_IFELSE([#include <sys/types.h> | |
151 | #include <stdio.h> | |
152 | void myfunc(void) { | |
153 | time_t test=0; | |
154 | printf("%i", test); | |
155 | }], ac_cv_fmt_time_t="\"%i\"") | |
156 | fi | |
157 | if test $ac_cv_fmt_time_t = no; then | |
158 | AC_MSG_ERROR([Cannot detect format string for time_t | |
159 | Please check sys/types.h for the typedef of time_t and submit to a developer]) | |
160 | fi | |
161 | ]) | |
162 | AC_DEFINE_UNQUOTED(FMT_TIME_T, $ac_cv_fmt_time_t, [Define to printf format for a time_t variable]) | |
163 | AC_MSG_RESULT($ac_cv_fmt_time_t) | |
164 | ||
165 | dnl How to copy one va_list to another? | |
166 | AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy, [AC_LINK_IFELSE( | |
167 | [AC_LANG_PROGRAM([#include <stdarg.h>], [va_list ap1, ap2; va_copy(ap1, ap2);])], | |
168 | [ac_cv_c_va_copy="yes"], | |
169 | [ac_cv_c_va_copy="no"] | |
170 | )]) | |
171 | if test "$ac_cv_c_va_copy" = "yes" ; then | |
172 | AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy]) | |
173 | fi | |
174 | ||
175 | AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy, [AC_LINK_IFELSE( | |
176 | [AC_LANG_PROGRAM([#include <stdarg.h>], [va_list ap1, ap2; __va_copy(ap1, ap2);])], | |
177 | [ac_cv_c___va_copy="yes"], | |
178 | [ac_cv_c___va_copy="no"] | |
179 | )]) | |
180 | if test "$ac_cv_c___va_copy" = "yes" ; then | |
181 | AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy]) | |
182 | fi | |
183 | ||
184 | dnl Now fix things back up | |
185 | CFLAGS=$OLD_CFLAGS | |
186 | ||
187 | dnl Optional features. | |
188 | AC_MSG_CHECKING(which malloc to use) | |
189 | AC_ARG_WITH(malloc, | |
190 | [ --with-malloc=type Enables use of a special malloc library; one of: | |
b8cb2a14 | 191 | system (the default), boehm-gc, dmalloc, mpatrol, x3, slab], |
d76ed9a9 AS |
192 | [], |
193 | [withval="system"]) | |
194 | if test "x$withval" = "xsystem" ; then | |
195 | AC_MSG_RESULT(system) | |
196 | AC_DEFINE(WITH_MALLOC_SYSTEM, 1, [Define if using the system's malloc]) | |
5b1166fd | 197 | x3_malloc="System" |
d76ed9a9 AS |
198 | elif test "x$withval" = "xdmalloc" ; then |
199 | AC_MSG_RESULT(dmalloc) | |
200 | AC_CHECK_HEADERS(dmalloc.h,,AC_MSG_ERROR([dmalloc header file missing. dmalloc build will fail.])) | |
201 | AC_CHECK_LIB(dmalloc,malloc,,AC_MSG_ERROR([dmalloc library is missing. dmalloc build will fail.])) | |
202 | AC_DEFINE(WITH_MALLOC_DMALLOC, 1, [Define if using the dmalloc debugging malloc package]) | |
5b1166fd | 203 | x3_malloc="DMalloc" |
d76ed9a9 AS |
204 | elif test "x$withval" = "xmpatrol" ; then |
205 | AC_MSG_RESULT(mpatrol) | |
206 | AC_CHECK_HEADERS(mpatrol.h,,AC_MSG_ERROR([mpatrol header file missing. mpatrol build will fail.])) | |
207 | dnl Using mpatrol requires linking against libelf, at least on Linux. | |
208 | AC_CHECK_LIB(elf, elf_begin) | |
209 | AC_CHECK_LIB(mpatrol,__mp_atexit,,AC_MSG_ERROR([mpatrol library is missing completely. mpatrol build will fail.])) | |
210 | AC_DEFINE(WITH_MALLOC_MPATROL, 1, [Define if using the mpatrol malloc debugging package]) | |
5b1166fd | 211 | x3_malloc="MPatrol" |
d76ed9a9 AS |
212 | elif test "x$withval" = "xboehm-gc" ; then |
213 | AC_MSG_RESULT(boehm-gc) | |
214 | AC_CHECK_HEADERS(gc/gc.h,,AC_MSG_ERROR([Boehm GC header file missing. boehm-gc build will fail.])) | |
215 | AC_CHECK_LIB(dl, dlopen, , AC_MSG_ERROR([libdl library is missing. boehm-gc build will fail.])) | |
216 | AC_CHECK_LIB(gc, GC_gcollect, , AC_MSG_ERROR([Boehm GC library is missing. boehm-gc build will fail.])) | |
217 | AC_DEFINE(WITH_MALLOC_BOEHM_GC, 1, [Define if using the Boehm GC to garbage collect and check memory leaks]) | |
5b1166fd | 218 | x3_malloc="Boehm" |
b8cb2a14 AS |
219 | elif test "x$withval" = "xx3" ; then |
220 | AC_MSG_RESULT(x3) | |
2f61d1d7 | 221 | AC_DEFINE(WITH_MALLOC_X3, 1, [Define if using the X3 internal debug allocator]) |
b8cb2a14 | 222 | MODULE_OBJS="$MODULE_OBJS alloc-x3.\$(OBJEXT)" |
5b1166fd | 223 | x3_malloc="X3" |
0d16e639 | 224 | elif test "x$withval" = "xslab" ; then |
225 | AC_MSG_RESULT(slab) | |
226 | AC_DEFINE(WITH_MALLOC_SLAB, 1, [Define if using the slab internal debug allocator]) | |
227 | MODULE_OBJS="$MODULE_OBJS alloc-slab.\$(OBJEXT)" | |
5b1166fd | 228 | x3_malloc="Slab" |
d76ed9a9 AS |
229 | else |
230 | AC_MSG_ERROR([Unknown malloc type $withval]) | |
231 | fi | |
232 | ||
233 | AC_MSG_CHECKING(which protocol to use) | |
234 | AC_ARG_WITH(protocol, | |
235 | [ --with-protocol=name Choose IRC dialect to support; one of: | |
7827220c | 236 | p10 (the default)], |
d76ed9a9 AS |
237 | [], |
238 | [withval="p10"]) | |
239 | if test "x$withval" = "xp10" ; then | |
240 | AC_MSG_RESULT(P10) | |
241 | AC_DEFINE(WITH_PROTOCOL_P10, 1, [Define if using the P10 dialect of IRC]) | |
2f61d1d7 | 242 | MODULE_OBJS="$MODULE_OBJS proto-p10.\$(OBJEXT)" |
d76ed9a9 | 243 | PROTO_FILES=proto-p10.c |
5b1166fd | 244 | x3_ircd="P10" |
d76ed9a9 AS |
245 | else |
246 | AC_MSG_ERROR([Unknown IRC dialect $withval]) | |
247 | fi | |
248 | ||
249 | AC_ARG_WITH(getopt, | |
250 | [ --without-getopt Disables building of the GNU getopt library], | |
251 | [if test "$withval" = no; then | |
252 | AC_DEFINE(IGNORE_GETOPT, 1, [Define to disable built-in getopt library]) | |
253 | fi]) | |
254 | ||
255 | AC_MSG_CHECKING(whether to enable tokenization) | |
256 | AC_ARG_ENABLE(tokens, | |
257 | [ --disable-tokens Disables tokenization of P10 protocol output | |
258 | (tokens required if linking to ircu 2.10.11)], | |
259 | [],[enableval=yes]) | |
260 | if test "z$enableval" = zno ; then | |
261 | AC_MSG_RESULT(no) | |
262 | else | |
263 | AC_DEFINE(ENABLE_TOKENS, 1, [Define if tokenized P10 desired]) | |
264 | AC_MSG_RESULT(yes) | |
265 | fi | |
266 | ||
267 | AC_MSG_CHECKING(whether to enable debug behaviors) | |
268 | AC_ARG_ENABLE(debug, | |
269 | [ --enable-debug Enables debugging behaviors], | |
270 | [ | |
271 | CPPFLAGS="$CPPFLAGS" | |
272 | AC_MSG_RESULT(yes) | |
5b1166fd | 273 | x3_debug="Enabled" |
d76ed9a9 AS |
274 | ], |
275 | [ | |
276 | CPPFLAGS="$CPPFLAGS -DNDEBUG" | |
277 | AC_MSG_RESULT(no) | |
5b1166fd | 278 | x3_debug="Disabled" |
d76ed9a9 AS |
279 | ]) |
280 | ||
281 | if test -e src ; then | |
282 | if test ! -d src ; then | |
283 | AC_MSG_ERROR([src exists but is not a directory; please move it out of the way.]) | |
284 | fi | |
285 | else | |
286 | mkdir src | |
287 | fi | |
288 | AC_MSG_CHECKING(for extra module files) | |
289 | MODULE_DEFINES="src/modules-list.h" | |
290 | echo > $MODULE_DEFINES | |
291 | touch $MODULE_DEFINES | |
292 | AC_ARG_ENABLE(modules, | |
293 | [ --enable-modules=list,of,modules Enable extra modules], | |
294 | [ | |
295 | OIFS="$IFS" | |
296 | IFS=',' | |
297 | EXTRA_MODULE_OBJS="" | |
298 | module_list="" | |
299 | dnl Must use a separate file because autoconf can't stand newlines in an AC_SUBSTed variable. | |
300 | for module in $enableval ; do | |
301 | module=`echo $module | sed -e s/^mod-// -e s/\.c\$//` | |
2f61d1d7 | 302 | EXTRA_MODULE_OBJS="$EXTRA_MODULE_OBJS mod-$module.\$(OBJEXT)" |
d76ed9a9 AS |
303 | module_list="$module_list $module" |
304 | echo "WITH_MODULE($module)" >> $MODULE_DEFINES | |
ec311f39 | 305 | if test "x$module" = "xtrack" ; then |
306 | TRACK="-D HAVE_TRACK" | |
307 | fi | |
d76ed9a9 AS |
308 | done |
309 | IFS="$OIFS" | |
310 | MODULE_OBJS="$MODULE_OBJS $EXTRA_MODULE_OBJS" | |
311 | AC_MSG_RESULT($module_list) | |
312 | ], | |
313 | [ | |
314 | AC_MSG_RESULT(none) | |
315 | ]) | |
316 | ||
317 | MY_SUBDIRS="" | |
318 | RX_INCLUDES="" | |
319 | RX_LIBS="" | |
320 | if test "${BROKEN_REGEX}" = yes -o "${ac_cv_func_regcomp}" = no; then | |
321 | MY_SUBDIRS="rx $MY_SUBDIRS" | |
322 | RX_INCLUDES="-I../rx" | |
323 | RX_LIBS="../rx/librx.a" | |
324 | fi | |
325 | MY_SUBDIRS="$MY_SUBDIRS src" | |
326 | CFLAGS="$CFLAGS $ANSI_SRC -W -Wall" | |
327 | if test "z$USE_MAINTAINER_MODE" = zyes ; then | |
328 | CFLAGS="$CFLAGS -Werror" | |
329 | fi | |
330 | ||
35305a49 | 331 | dnl I am not comfortable running make install from ./configure. This has to be done correctly or not at all. -Rubin |
5b1166fd | 332 | dnl REMEMBER TO CHANGE WITH A NEW TRE RELEASE! |
35305a49 AS |
333 | dnl AC_MSG_RESULT(extracting TRE regex library) |
334 | dnl cur_dir=`pwd` | |
335 | dnl cd tools | |
5b1166fd | 336 | dnl remove old tre directory to force a recompile... |
35305a49 AS |
337 | dnl rm -rf tre-$tre_version |
338 | dnl if test "x$ac_cv_path_GUNZIP" = "x" ; then | |
339 | dnl tar xfz tre.tar.gz | |
340 | dnl else | |
341 | dnl cp tre.tar.gz tre.tar.gz.bak | |
342 | dnl gunzip -f tre.tar.gz | |
343 | dnl cp tre.tar.gz.bak tre.tar.gz | |
344 | dnl tar xf tre.tar | |
345 | dnl fi | |
346 | dnl AC_MSG_RESULT(configuring TRE regex library) | |
347 | dnl cd tre-$tre_version | |
348 | dnl tre_prefix=$prefix | |
349 | dnl if test $tre_prefix = "NONE"; then | |
350 | dnl tre_prefix="$HOME" | |
351 | dnl fi | |
352 | dnl ./configure --disable-agrep --disable-shared --disable-system-abi --disable-wchar --disable-multibyte --prefix=$tre_prefix || exit 1 | |
353 | dnl | |
354 | dnl AC_MSG_RESULT(compiling TRE regex library) | |
355 | dnl $ac_cv_prog_MAKER || exit 1 | |
356 | dnl AC_MSG_RESULT(installing TRE regex library) | |
357 | dnl $ac_cv_prog_MAKER install || exit 1 | |
358 | dnl TREINCDIR="$tre_prefix/include" | |
359 | dnl AC_SUBST(TREINCDIR) | |
360 | dnl if test "x$ac_cv_path_PKGCONFIG" = "x" ; then | |
361 | dnl TRELIBS="-L$tre_prefix/lib -ltre" | |
362 | dnl else | |
363 | dnl TRELIBS=`$ac_cv_path_PKGCONFIG --libs tre.pc` | |
364 | dnl fi | |
365 | dnl AC_SUBST(TRELIBS) | |
366 | dnl | |
367 | dnl cd $cur_dir | |
368 | ||
369 | dnl libTRE (regex library) checking | |
a8b2ad8d | 370 | tre_version="0.7.5" |
35305a49 | 371 | withval='' |
a8b2ad8d | 372 | AC_ARG_WITH(tre, |
373 | [ --with-tre=PATH Base path to where libtre is installed, such that | |
374 | PATH/lib/libtre.so and PATH/include/tre/regex.h exist.], ) | |
35305a49 AS |
375 | if test "x$withval" != "x"; then |
376 | AC_MSG_RESULT(Using include dir $withval to find libtre) | |
377 | CPPFLAGS="-I$withval/include -L$withval/lib" | |
0754f993 | 378 | LIBS="$LIBS -L$withval/lib" |
5b1166fd | 379 | else |
35305a49 AS |
380 | AC_MSG_RESULT([Looking for tre in system and home dirs (${HOME})...]) |
381 | CPPFLAGS="-I${HOME}/include -L${HOME}/lib" | |
0754f993 | 382 | LIBS="$LIBS -L${HOME}/lib" |
5b1166fd | 383 | fi |
35305a49 AS |
384 | AC_CHECK_HEADER(tre/regex.h, , [AC_MSG_ERROR([tre/regex.h, the TRE regex headers, were not found. Install tre or use --with-tre=PATH to tell me how to find it, where PATH/include/tre/regex.h exists. For conveniance, just type 'tools/tre_install.sh' now, to install tre in your home directory.])],) |
385 | AC_CHECK_LIB(tre, regexec, , [AC_MSG_ERROR([TRE regex library not found. Install tre, or use --with-tre=PATH to tell me how to find it, where PATH/lib/libtre.so exists. For conveniance, just type 'tools/tre_install.sh' now, to install tre in your home directory.])]) | |
5b1166fd | 386 | |
a8b2ad8d | 387 | dnl core dumper checking |
388 | core_version="0.2" | |
389 | withval='' | |
390 | AC_ARG_WITH(coredumper, | |
391 | [ --with-coredumper=PATH Base path to where core dumper is installed, such | |
392 | that PATH/lib/libcoredumper.so and | |
393 | PATH/include/google/coredumper.h exist.], ) | |
394 | if test "x$withval" != "x"; then | |
395 | AC_MSG_RESULT(Using include dir $withval to find coredumper) | |
396 | CPPFLAGS="-I$withval/include -L$withval/lib" | |
397 | LIBS="$LIBS -L$withval/lib" | |
398 | else | |
399 | AC_MSG_RESULT([Looking for coredumper in system and home dirs (${HOME})...]) | |
400 | CPPFLAGS="-I${HOME}/include -L${HOME}/lib" | |
401 | LIBS="$LIBS -L${HOME}/lib" | |
402 | fi | |
d82cf2f0 AS |
403 | AC_CHECK_HEADER(google/coredumper.h, , [AC_MSG_RESULT([google/coredumper.h, the coredumper headers, were not found. Install coredumper or use --with-coredumper=PATH to tell me how to find it, where PATH/include/google/coredumper.h exists. For conveniance, just type 'tools/core_install.sh' now, to install coredumper in your home directory.])],) |
404 | AC_CHECK_LIB(coredumper, WriteCoreDump, , [AC_MSG_RESULT([Coredumper library not found. Install coredumper, or use --with-coredumper=PATH to tell me how to find it, where PATH/lib/libcoredumper.so exists. For conveniance, just type 'tools/core_install.sh' now, to install coredumper in your home directory.])]) | |
a8b2ad8d | 405 | |
d76ed9a9 AS |
406 | AC_DEFINE_UNQUOTED(CODENAME, "${CODENAME}", [Code name for this release]) |
407 | AC_SUBST(MODULE_OBJS) | |
408 | AC_SUBST(MY_SUBDIRS) | |
409 | AC_SUBST(RX_INCLUDES) | |
410 | AC_SUBST(RX_LIBS) | |
ec311f39 | 411 | AC_SUBST(TRACK) |
d76ed9a9 AS |
412 | AC_CONFIG_FILES(Makefile rx/Makefile src/Makefile) |
413 | AC_OUTPUT | |
5b1166fd | 414 | |
415 | ||
416 | dnl Print configuration summary | |
417 | ||
418 | cat <<EOF | |
419 | ||
420 | Configuration summary | |
421 | ===================== | |
422 | ||
423 | X3 is now configured as follows: | |
424 | ||
425 | * Compilation environment | |
426 | ||
427 | CC = $CC | |
428 | CFLAGS = $CFLAGS | |
429 | CPP = $CPP | |
430 | CPPFLAGS = $CPPFLAGS | |
431 | LD = $LD | |
432 | LDFLAGS = $LDFLAGS | |
433 | LIBS = $LIBS | |
434 | ||
435 | * X3 options | |
436 | ||
a8b2ad8d | 437 | Debug: $x3_debug |
438 | Extra Modules: $module_list | |
439 | Malloc: $x3_malloc | |
440 | Protocol: $x3_ircd | |
441 | Regexp Library TRE $tre_version | |
442 | Coredumper Library Coredumper $core_version | |
5b1166fd | 443 | |
a8b2ad8d | 444 | Install to: $prefix |
35305a49 | 445 | |
5b1166fd | 446 | Now you can proceed with compiling X3 |
447 | ||
448 | EOF | |
449 |