1 dnl Prefered emacs editing mode: -*- shell-script -*-
3 dnl Process this file with autoconf to produce a configure script.
5 dnl Copyright (c) 1997, by Carlo Wood <carlo@runaway.xs4all.nl>
6 dnl Copyright (C) 2001 Kevin L. Mitchell <klmitch@mit.edu>
8 dnl This program is free software; you can redistribute it and/or modify
9 dnl it under the terms of the GNU General Public License as published by
10 dnl the Free Software Foundation; either version 1, or (at your option)
11 dnl any later version.
13 dnl This program is distributed in the hope that it will be useful,
14 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
15 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 dnl GNU General Public License for more details.
18 dnl You should have received a copy of the GNU General Public License
19 dnl along with this program; if not, write to the Free Software
20 dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 dnl Make sure we are in the correct directory (someone could have run
25 dnl 'configure' with a wrong '--srcdir').
28 dnl Set the default prefix
29 AC_PREFIX_DEFAULT([$HOME])
30 AC_MSG_CHECKING([for installation prefix])
31 AC_CACHE_VAL(unet_cv_prefix, [unet_cv_prefix=$HOME])
32 if test x"$prefix" != xNONE; then
33 unet_cv_prefix=$prefix
35 AC_MSG_RESULT([$unet_cv_prefix])
36 dnl HACK WARNING: We are referencing an autoconf internal variable. This is
37 dnl the only way to force the prefix to be retrieved from the config.cache
39 ac_default_prefix=$unet_cv_prefix
41 dnl Define the input and output configuration header file.
42 AC_CONFIG_HEADER([config.h])
44 dnl Demand at least version 2.13 of autoconf
47 dnl Find out what type of system we are
50 dnl This should be done early.
53 dnl ANSIfy the C compiler whenever possible.
55 dnl Use -O3 instead of -O2.
56 if test x"$CFLAGS" != x; then
57 CFLAGS=`echo "$CFLAGS" | sed -e 's/-O2/-O3/'`
59 dnl Remove -pipe during configure
60 if test x"$CFLAGS" != x; then
61 CFLAGS=`echo "$CFLAGS" | sed -e 's/-pipe//g'`
63 dnl Notice the -g flag and deal accordingly
64 if test x"$CFLAGS" != x; then
65 unet_old_cflags=$CFLAGS
66 CFLAGS=`echo "$CFLAGS" | sed -e 's/-g//g'`
68 if test x"$CFLAGS" != x"$unet_old_cflags"; then
69 # If -g was already there, force symbols to be enabled
70 unet_cv_enable_symbols=yes
72 dnl Notice the -pg flag and deal accordingly
73 if test x"$CFLAGS" != x; then
74 unet_old_cflags=$CFLAGS
75 CFLAGS=`echo "$CFLAGS" | sed -e 's/-pg//g'`
77 if test x"$CFLAGS" != x"$unet_old_cflags"; then
78 # If -pg was already there, force profiling to be enabled
79 unet_cv_enable_profile=yes
81 dnl Notice the -Wall flag and deal accordingly
82 if test x"$CFLAGS" != x; then
83 unet_old_cflags=$CFLAGS
84 CFLAGS=`echo "$CFLAGS" | sed -e 's/-Wall//g'`
86 if test x"$CFLAGS" != x"$unet_old_cflags"; then
87 # If -Wall was already there, force warnings to be enabled
88 unet_cv_enable_warnings=yes
90 dnl Notice the -pedantic flag and deal accordingly
91 if test x"$CFLAGS" != x; then
92 unet_old_cflags=$CFLAGS
93 CFLAGS=`echo "$CFLAGS" | sed -e 's/-pedantic//g'`
95 if test x"$CFLAGS" != x"$unet_old_cflags"; then
96 # If -pedantic was already there, force pedatic to be enabled
97 unet_cv_enable_pedantic=yes
100 dnl Checks for libraries.
102 dnl Locate the library containing crypt
103 AC_SEARCH_LIBS(crypt, descrypt crypt, ,
104 [AC_MSG_ERROR([Unable to find library containing crypt()])])
106 dnl Do all the checks necessary to figure out -lnsl / -lsocket stuff
109 dnl Checks for header files.
111 AC_CHECK_HEADERS(poll.h sys/devpoll.h sys/event.h)
113 dnl Checks for typedefs, structures, and compiler characteristics
120 unet_CHECK_TYPE_SIZES
122 dnl Checks for library functions.
123 AC_CHECK_FUNCS([kqueue setrlimit getrusage times])
125 dnl Do we have restarting syscalls ?
126 AC_SYS_RESTARTABLE_SYSCALLS
128 dnl Check for required features for admins?
129 AC_MSG_CHECKING([for donuts])
132 dnl Test for programs
137 AC_PATH_PROGS(RMPROG, rm, /bin/rm)
138 AC_PATH_PROGS(SHPROG, sh, /bin/sh)
143 dnl Add -pipe when possible
146 dnl Check OS for os_dep files.
147 AC_MSG_CHECKING(for OS-dependent information)
150 AC_MSG_RESULT([Linux ($host) found.])
151 unet_poll_syscall=yes
156 AC_MSG_RESULT([Solaris ($host) found.])
157 if test x"$ac_cv_header_poll_h" = xyes; then
158 unet_poll_syscall=yes
166 AC_MSG_RESULT([Solaris ($host) found.])
172 AC_MSG_RESULT([OpenBSD ($host) found.])
173 if test x"$ac_cv_header_poll_h" = xyes; then
174 unet_poll_syscall=yes
182 AC_MSG_RESULT([Generic BSD ($host) found.])
183 if test x"$ac_cv_header_poll_h" = xyes; then
184 unet_poll_syscall=yes
192 AC_MSG_RESULT([Darwin (Mac OS X) ($host) found.])
198 AC_MSG_RESULT([Unknown system type $host found.])
199 AC_MSG_WARN([Unknown OS type; using generic routines.])
206 dnl Check user configuration options
207 dnl Start with --enable-poll
208 AC_MSG_CHECKING([whether to enable use of poll()])
209 AC_ARG_ENABLE([poll],
210 [ --enable-poll Force poll to be used regardless of whether or not
211 it is a system call],
212 [unet_cv_enable_poll=$enable_poll],
213 [AC_CACHE_VAL(unet_cv_enable_poll,
214 [unet_cv_enable_poll=$unet_poll_syscall])])
216 # Force poll to be disabled if there is no poll.h
217 if test x"$ac_cv_header_poll_h" != xyes; then
218 unet_cv_enable_poll=no
221 AC_MSG_RESULT([$unet_cv_enable_poll])
223 if test x"$unet_cv_enable_poll" = xyes; then
224 AC_DEFINE([USE_POLL], , [Specify whether or not to use poll()])
225 ENGINE_C=engine_poll.c
227 ENGINE_C=engine_select.c
231 dnl Now look for --enable-debug
232 AC_MSG_CHECKING([whether to enable debug mode])
233 AC_ARG_ENABLE([debug],
234 [ --enable-debug Turn on debugging mode],
235 [unet_cv_enable_debug=$enable_debug],
236 [AC_CACHE_VAL(unet_cv_enable_debug,
237 [unet_cv_enable_debug=no])])
238 AC_MSG_RESULT([$unet_cv_enable_debug])
240 if test x"$unet_cv_enable_debug" = xyes; then
241 AC_DEFINE([DEBUGMODE], , [Enable debugging code])
244 dnl Now look for --enable-leak-detect
245 AC_MSG_CHECKING([whether to enable leak detection])
246 AC_ARG_WITH([leak-detect],
247 [ --with-leak-detect Turn on the leak detector(requires patched boehm)],
248 [unet_cv_with_leak_detect=$with_leak_detect],
249 [AC_CACHE_VAL(unet_cv_with_leak_detect,
250 [unet_cv_with_leak_detect=no])])
251 AC_MSG_RESULT([$unet_cv_enable_leak_detect])
253 if test x"$unet_cv_with_leak_detect" != xno; then
255 CFLAGS="-DMDEBUG $CFLAGS"
256 if test x"$unet_cv_with_leak_detect" != xyes; then
257 LIBS="-L$unet_cv_with_leak_detect $LIBS"
261 dnl And now for --disable-asserts
262 AC_MSG_CHECKING([whether to enable asserts])
263 AC_ARG_ENABLE([asserts],
264 [ --disable-asserts Disable assertion checking],
265 [unet_cv_enable_asserts=$enable_asserts],
266 [AC_CACHE_VAL(unet_cv_enable_asserts,
267 [unet_cv_enable_asserts=yes])])
268 AC_MSG_RESULT([$unet_cv_enable_asserts])
270 if test x"$unet_cv_enable_asserts" = xno; then
271 AC_DEFINE([NDEBUG], , [Disable assertions])
274 dnl Check for --enable-symbols
275 AC_MSG_CHECKING([whether to enable debugging symbols])
276 AC_ARG_ENABLE([symbols],
277 [ --disable-symbols Disable debugging symbols (remove -g from CFLAGS)],
278 [unet_cv_enable_symbols=$enable_symbols],
279 [AC_CACHE_VAL(unet_cv_enable_symbols,
280 [unet_cv_enable_symbols=yes])])
281 AC_MSG_RESULT([$unet_cv_enable_symbols])
283 if test x"$unet_cv_enable_symbols" = xyes; then
287 dnl Check for --disable-headinsand
288 AC_MSG_CHECKING([whether to enable head in sand 'features'])
289 AC_ARG_ENABLE([headinsand],
290 [ --disable-headinsand Disable head in sand (-DNO_HEAD_IN_SAND)],
291 [unet_cv_enable_headinsand=$enable_headinsand],
292 [AC_CACHE_VAL(unet_cv_enable_headinsand,
293 [unet_cv_enable_headinsand=yes])])
294 AC_MSG_RESULT([$unet_cv_enable_headinsand])
296 if test x"$unet_cv_enable_headinsand" = xno; then
297 CFLAGS="-DNO_HEAD_IN_SAND $CFLAGS"
300 dnl Now check for --enable-profile
301 AC_MSG_CHECKING([whether to enable profiling support (gprof)])
302 AC_ARG_ENABLE([profile],
303 [ --enable-profile Enable profiling support (add -pg to CFLAGS)],
304 [unet_cv_enable_profile=$enable_profile],
305 [AC_CACHE_VAL(unet_cv_enable_profile,
306 [unet_cv_enable_profile=no])])
307 AC_MSG_RESULT([$unet_cv_enable_profile])
309 if test x"$unet_cv_enable_profile" = xyes; then
313 dnl Now check for --enable-pedantic
314 AC_MSG_CHECKING([whether to enable pedantic compiler warnings])
315 AC_ARG_ENABLE([pedantic],
316 [ --enable-pedantic Enable pedantic warnings (add -pedantic to CFLAGS)],
317 [unet_cv_enable_pedantic=$enable_pedantic],
318 [AC_CACHE_VAL(unet_cv_enable_pedantic,
319 [unet_cv_enable_pedantic=no])])
320 AC_MSG_RESULT([$unet_cv_enable_pedantic])
322 if test x"$unet_cv_enable_pedantic" = xyes; then
323 CFLAGS="-pedantic $CFLAGS"
326 dnl Now check for --enable-warnings
327 AC_MSG_CHECKING([whether to enable compiler warnings])
328 AC_ARG_ENABLE([warnings],
329 [ --enable-warnings Enable warnings (add -Wall to CFLAGS)],
330 [unet_cv_enable_warnings=$enable_warnings],
331 [AC_CACHE_VAL(unet_cv_enable_warnings,
332 [unet_cv_enable_warnings=no])])
333 AC_MSG_RESULT([$unet_cv_enable_warnings])
335 if test x"$unet_cv_enable_warnings" = xyes; then
336 CFLAGS="-Wall $CFLAGS"
339 dnl --disable-inlines check...
340 AC_MSG_CHECKING([whether to enable inlining for a few critical functions])
341 AC_ARG_ENABLE([inlines],
342 [ --disable-inlines Disable inlining for a few critical functions],
343 [unet_cv_enable_inlines=$enable_inlines],
344 [AC_CACHE_VAL(unet_cv_enable_inlines,
345 [unet_cv_enable_inlines=yes])])
346 AC_MSG_RESULT([$unet_cv_enable_inlines])
348 if test x"$unet_cv_enable_inlines" = xyes; then
349 AC_DEFINE([FORCEINLINE], , [Force inlining for a few critical functions])
352 dnl --disable-devpoll check...
353 AC_MSG_CHECKING([whether to enable the /dev/poll event engine])
354 AC_ARG_ENABLE([devpoll],
355 [ --disable-devpoll Enable the /dev/poll-based engine],
356 [unet_cv_enable_devpoll=$enable_devpoll],
357 [AC_CACHE_VAL(unet_cv_enable_devpoll,
358 [unet_cv_enable_devpoll=yes])])
360 if test x"$ac_cv_header_sys_devpoll_h" = xno; then
361 unet_cv_enable_devpoll=no
364 AC_MSG_RESULT([$unet_cv_enable_devpoll])
366 if test x"$unet_cv_enable_devpoll" != xno; then
367 AC_DEFINE([USE_DEVPOLL], , [Define to enable the /dev/poll engine])
368 ENGINE_C="engine_devpoll.c $ENGINE_C"
371 dnl --disable-kqueue check...
372 AC_MSG_CHECKING([whether to enable the kqueue event engine])
373 AC_ARG_ENABLE([kqueue],
374 [ --disable-kqueue Enable the kqueue-based engine],
375 [unet_cv_enable_kqueue=$enable_kqueue],
376 [AC_CACHE_VAL(unet_cv_enable_kqueue,
377 [unet_cv_enable_kqueue=yes])])
379 if test x"$ac_cv_header_sys_event_h" = xno -o x"$ac_cv_func_kqueue" = xno; then
380 unet_cv_enable_kqueue=no
383 AC_MSG_RESULT([$unet_cv_enable_kqueue])
385 if test x"$unet_cv_enable_kqueue" != xno; then
386 AC_DEFINE([USE_KQUEUE], , [Define to enable the kqueue engine])
387 ENGINE_C="engine_kqueue.c $ENGINE_C"
390 dnl --disable-adns check...
391 AC_MSG_CHECKING([whether to enable the adns resolver engine])
392 AC_ARG_ENABLE([adns],
393 [ --disable-adns Disable adns resolver],
394 [unet_cv_enable_adns=$enable_adns],
395 [AC_CACHE_VAL(unet_cv_enable_adns,
396 [unet_cv_enable_adns=yes])])
398 AC_MSG_RESULT([$unet_cv_enable_adns])
400 if test x"$unet_cv_enable_adns" != xno; then
401 AC_DEFINE([USE_ADNS], , [Define to enable the adns resolver])
402 AC_CONFIG_SUBDIRS([adns])
404 LIBS="../adns/src/libadns.a $LIBS"
407 RES_C="res_libresolv.c"
410 dnl Look for res_mkquery. Done after AC_LIBRARY_NET in case res_mkquery
411 dnl is in one of those libraries somewhere.
412 AC_SEARCH_LIBS(res_mkquery, resolv, ,
413 [AC_MSG_ERROR([Unable to find library containing res_mkquery()])])
416 AC_SUBST(ADNS_SUBDIR)
418 dnl --with-symlink lets us set the name of the symlink; defaults to "ircd"
419 AC_MSG_CHECKING([what name to give the symlink])
420 AC_ARG_WITH([symlink],
421 [ --with-symlink=name Name to give the symlink; if name is "no," no
422 symlink will be created.],
423 [unet_cv_with_symlink=$with_symlink],
424 [AC_CACHE_VAL(unet_cv_with_symlink,
425 [unet_cv_with_symlink="ircd"])])
427 if test x"$unet_cv_with_symlink" = xyes; then
428 unet_cv_with_symlink="ircd"
431 AC_MSG_RESULT([$unet_cv_with_symlink])
433 if test x"$unet_cv_with_symlink" = xno; then
434 INSTALL_RULE=install-no-symlink
437 INSTALL_RULE=install-with-symlink
438 SYMLINK=$unet_cv_with_symlink
440 AC_SUBST(INSTALL_RULE)
443 dnl --with-mode lets us set the permissions on the binary
444 AC_MSG_CHECKING([what permissions to set on the installed binary])
446 [ --with-mode=mode Permissions (in octal) to give the binary],
447 [unet_cv_with_mode=$with_mode],
448 [AC_CACHE_VAL(unet_cv_with_mode,
449 [unet_cv_with_mode=711])])
451 if test x"$unet_cv_with_mode" = xyes -o x"$unet_cv_with_mode" = xno; then
452 unet_cv_with_mode=711
455 AC_MSG_RESULT([$unet_cv_with_mode])
457 IRCDMODE=$unet_cv_with_mode
460 dnl --with-owner lets us set the owner of the binary
462 unet_uid=`id | sed -e 's/.*uid=[0-9]*(//' -e 's/).*//' 2> /dev/null`
464 AC_MSG_CHECKING([which user should own the installed binary])
466 [ --with-owner=owner Specify owner of the installed binary],
467 [unet_cv_with_owner=$with_owner],
468 [AC_CACHE_VAL(unet_cv_with_owner,
469 [unet_cv_with_owner=$unet_uid])])
471 if test x"$unet_cv_with_owner" = xyes -o x"$unet_cv_with_owner" = xno; then
472 unet_cv_with_owner=$unet_uid
475 AC_MSG_RESULT([$unet_cv_with_owner])
477 IRCDOWN=$unet_cv_with_owner
480 dnl --with-group lets us set the group owner of the binary
482 unet_gid=`id | sed -e 's/.*gid=[0-9]*(//' -e 's/).*//' 2> /dev/null`
484 AC_MSG_CHECKING([which group should own the installed binary])
486 [ --with-group=group Specify group owner of the installed binary],
487 [unet_cv_with_group=$with_group],
488 [AC_CACHE_VAL(unet_cv_with_group,
489 [unet_cv_with_group=$unet_gid])])
491 if test x"$unet_cv_with_group" = xyes -o x"$unet_cv_with_group" = xno; then
492 unet_cv_with_group=$unet_gid
495 AC_MSG_RESULT([$unet_cv_with_group])
497 IRCDGRP=$unet_cv_with_group
500 dnl --with-domain lets us set the domain name for some statistics-gathering
502 if test -f /etc/resolv.conf; then
503 unet_domain=`awk '/^domain/ { print $2; exit }' /etc/resolv.conf`
504 if test x"$unet_domain" = x; then
505 unet_domain=`awk '/^search/ { print $2; exit }' /etc/resolv.conf`
508 AC_MSG_CHECKING([for site domain name])
509 AC_ARG_WITH([domain],
510 [ --with-domain=domain Domain name to use in local statistics gathering],
511 [unet_cv_with_domain=$with_domain],
512 [AC_CACHE_VAL(unet_cv_with_domain,
513 [unet_cv_with_domain=$unet_domain])])
515 if test x"$unet_cv_with_domain" = xyes -o x"$unet_cv_with_domain" = xno; then
516 unet_cv_with_domain=$unet_domain
518 if test x"$unet_cv_with_domain" = xno; then
519 AC_MSG_ERROR([Unable to determine server DNS domain; use --with-domain to set it])
522 AC_MSG_RESULT([$unet_cv_with_domain])
524 AC_DEFINE_UNQUOTED(DOMAINNAME, "*$unet_cv_with_domain",
525 [Domain name to be used for some statistics gathering])
527 dnl --with-chroot lets us define a directory that we are going to be using
528 dnl as the root of our filesystem
529 AC_MSG_CHECKING([if chroot operation is desired])
530 AC_ARG_WITH([chroot],
531 [ --with-chroot=dir Specify that the server will be operated under
532 a different root directory given by dir. See
533 doc/readme.chroot for more information.],
534 [unet_cv_with_chroot=$with_chroot],
535 [AC_CACHE_VAL(unet_cv_with_chroot,
536 [unet_cv_with_chroot=no])])
538 if test x"$unet_cv_with_chroot" = xyes; then
539 AC_MSG_ERROR([--with-chroot given with no directory. See doc/readme.chroot.])
542 # Ensure there are no trailing /'s to mess us up
543 unet_cv_with_chroot=`echo "$unet_cv_with_chroot" | sed 's%/*$%%'`
545 AC_MSG_RESULT([$unet_cv_with_chroot])
547 dnl Determine some default directory names
549 dnl HACK WARNING: We are referencing an autoconf internal variable. This is
550 dnl the only way to figure out what value $prefix will have when we go to do
551 dnl the install--and the only way we can stick that value in our definitions
553 # Deal with the annoying value "NONE" here
554 unet_save_prefix=$prefix
555 if test x"$prefix" = xNONE; then
556 prefix=$ac_default_prefix
561 unet_save_exec_prefix=$exec_prefix
562 if test x"$exec_prefix" = xNONE; then
565 exec_prefix=$exec_prefix
568 # Obtain the actual interesting directories
569 unet_bindir=`eval echo "$bindir"`
570 unet_libdir=`eval echo "$libdir"`
572 # Restore the original settings of $prefix and $exec_prefix
573 prefix=$unet_save_prefix
574 exec_prefix=$unet_save_exec_prefix
576 dnl Now compute the name of the binary and verify that it will work under
578 AC_MSG_CHECKING([where the binary will be for /restart])
579 if test x"$unet_cv_with_symlink" = xno; then
580 unet_spath="$unet_bindir/ircd"
582 unet_spath="$unet_bindir/$unet_cv_with_symlink"
584 AC_MSG_RESULT([$unet_spath])
586 if test x"$unet_cv_with_chroot" != xno; then
587 if echo "$unet_spath" | grep "^$unet_cv_with_chroot" > /dev/null 2>&1; then
588 unet_spath=`echo "$unet_spath" | sed "s%^$unet_cv_with_chroot%%"`
590 AC_MSG_WARN([Binary $unet_spath not relative to root directory $unet_cv_with_chroot; restarts will probably fail])
594 AC_DEFINE_UNQUOTED(SPATH, "$unet_spath", [Path to executable for restarts])
596 dnl --with-dpath sets the all-important DPATH
597 AC_MSG_CHECKING([what the data directory should be])
599 [ --with-dpath=dir Directory for all server data files],
600 [unet_cv_with_dpath=$with_dpath],
601 [AC_CACHE_VAL(unet_cv_with_dpath,
602 [unet_cv_with_dpath=$unet_libdir])])
604 if test x"$unet_cv_with_dpath" = xyes -o x"$unet_cv_with_dpath" = xno; then
605 unet_cv_with_dpath=$unet_libdir
608 # Ensure there are no trailing /'s to mess us up
609 unet_cv_with_dpath=`echo "$unet_cv_with_dpath" | sed 's%/*$%%'`
611 AC_MSG_RESULT([$unet_cv_with_dpath])
613 if test x"$unet_cv_with_chroot" != xno; then
614 if echo "$unet_cv_with_dpath" | grep "^$unet_cv_with_chroot" > /dev/null 2>&1; then
615 unet_dpath=`echo "$unet_cv_with_dpath" | sed "s%^$unet_cv_with_chroot%%"`
617 AC_MSG_ERROR([Data directory $unet_cv_with_dpath not relative to root directory $unet_cv_with_chroot])
620 unet_dpath=$unet_cv_with_dpath
623 AC_DEFINE_UNQUOTED(DPATH, "$unet_dpath", [Path to data directory])
625 DPATH=$unet_cv_with_dpath
628 dnl --with-cpath allows us to specify the configuration file
629 AC_MSG_CHECKING([where the default configuration file resides])
631 [ --with-cpath=file Set server configuration file],
632 [unet_cv_with_cpath=$with_cpath],
633 [AC_CACHE_VAL(unet_cv_with_cpath,
634 [unet_cv_with_cpath="ircd.conf"])])
636 if test x"$unet_cv_with_cpath" = xyes -o x"$unet_cv_with_cpath" = xno; then
637 unet_cv_with_cpath="ircd.conf"
640 AC_MSG_RESULT([$unet_cv_with_cpath])
642 if echo "$unet_cv_with_cpath" | grep '^/' > /dev/null 2>&1; then
643 # Absolute path; check against chroot stuff
644 if test x"$unet_cv_with_chroot" != xno; then
645 if echo "$unet_cv_with_cpath" | grep "^$unet_cv_with_chroot" > /dev/null 2>&1; then
646 unet_cpath=`echo "$unet_cv_with_cpath" | sed "s%^$unet_cv_with_chroot%%"`
648 AC_MSG_ERROR([Configuration file $unet_cv_with_cpath not relative to root directory $unet_cv_with_chroot])
651 unet_cpath=$unet_cv_with_cpath
654 unet_cpath=$unet_cv_with_cpath
657 AC_DEFINE_UNQUOTED(CPATH, "$unet_cpath", [Configuration file name])
659 dnl --with-lpath allows us to specify the default debugging log file
660 AC_MSG_CHECKING([where to put the debugging log if debugging enabled])
662 [ --with-lpath=file Set the debugging log file],
663 [unet_cv_with_lpath=$with_lpath],
664 [AC_CACHE_VAL(unet_cv_with_lpath,
665 [unet_cv_with_lpath="ircd.log"])])
667 if test x"$unet_cv_with_lpath" = xyes -o x"$unet_cv_with_lpath" = xno; then
668 unet_cv_with_lpath="ircd.log"
671 AC_MSG_RESULT([$unet_cv_with_lpath])
673 if echo "$unet_cv_with_lpath" | grep '^/' > /dev/null 2>&1; then
674 # Absolute path; check against chroot stuff
675 if test x"$unet_cv_with_chroot" != xno; then
676 if echo "$unet_cv_with_lpath" | grep "^$unet_cv_with_chroot" > /dev/null 2>&1; then
677 unet_lpath=`echo "$unet_cv_with_lpath" | sed "s%^$unet_cv_with_chroot%%"`
679 AC_MSG_WARN([Log file $unet_cv_with_lpath not relative to root directory $unet_cv_with_chroot; using default ircd.log instead])
680 unet_cv_with_lpath="ircd.log"
681 unet_lpath="ircd.log"
684 unet_lpath=$unet_cv_with_lpath
687 unet_lpath=$unet_cv_with_lpath
690 AC_DEFINE_UNQUOTED(LPATH, "$unet_lpath", [Path to debugging log file])
692 dnl --with-maxcon allows us to set the maximum connections
693 unet_maxcon=`ulimit -Hn`
694 unet_maxcon=`expr $unet_maxcon - 4`
695 AC_MSG_CHECKING([max connections])
696 AC_ARG_WITH([maxcon],
697 [ --with-maxcon=maxcon Maximum number of connections server will accept],
698 [unet_cv_with_maxcon=$with_maxcon],
699 [AC_CACHE_VAL(unet_cv_with_maxcon,
700 [unet_cv_with_maxcon=$unet_maxcon])])
702 if test x"$unet_cv_with_maxcon" = xyes -o x"$unet_cv_with_maxcon" = xno; then
703 unet_cv_with_maxcon=$unet_maxcon
706 AC_MSG_RESULT([$unet_cv_with_maxcon])
708 AC_DEFINE_UNQUOTED(MAXCONNECTIONS, $unet_cv_with_maxcon,
709 [Maximum number of network connections])
711 dnl Finally really generate all output files:
712 AC_OUTPUT(Makefile ircd/Makefile doc/Makefile, [echo timestamp > stamp-h])
714 dnl Report configuration
715 AC_OUTPUT_COMMANDS([echo "
716 ircu is now hopefully configured for your system.
718 Host system: $host_os
720 Asserts: $unet_cv_enable_asserts
721 Warnings: $unet_cv_enable_warnings
722 Debug: $unet_cv_enable_debug
723 Profile: $unet_cv_enable_profile
724 Head-in-sand: $unet_cv_enable_headinsand
725 ADNS: $unet_cv_enable_adns
726 Owner/mode: $unet_cv_with_owner.$unet_cv_with_group ($unet_cv_with_mode)
727 Chroot: $unet_cv_with_chroot
729 Domain: $unet_cv_with_domain
730 DPath: $unet_cv_with_dpath
731 CPath: $unet_cv_with_cpath
732 LPath: $unet_cv_with_lpath
733 Maximum connections: $unet_cv_with_maxcon
735 poll() engine: $unet_cv_enable_poll
736 kqueue() engine: $unet_cv_enable_kqueue
737 /dev/poll engine: $unet_cv_enable_devpoll