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 Look for res_mkquery. Done after AC_LIBRARY_NET in case res_mkquery
110 dnl is in one of those libraries somewhere.
111 AC_SEARCH_LIBS(res_mkquery, resolv, ,
112 [AC_MSG_ERROR([Unable to find library containing res_mkquery()])])
114 dnl Checks for header files.
116 AC_CHECK_HEADERS(poll.h sys/devpoll.h sys/epoll.h sys/event.h)
118 dnl Checks for typedefs, structures, and compiler characteristics
125 unet_CHECK_TYPE_SIZES
127 dnl Checks for library functions.
128 AC_CHECK_FUNCS([kqueue setrlimit getrusage times])
130 dnl Do we have restarting syscalls ?
131 AC_SYS_RESTARTABLE_SYSCALLS
133 dnl Check for required features for admins?
134 AC_MSG_CHECKING([for donuts])
137 dnl Test for programs
142 AC_PATH_PROGS(RMPROG, rm, /bin/rm)
143 AC_PATH_PROGS(SHPROG, sh, /bin/sh)
148 dnl Add -pipe when possible
151 dnl Check OS for os_dep files.
152 AC_MSG_CHECKING(for OS-dependent information)
155 AC_MSG_RESULT([Linux ($host) found.])
156 unet_poll_syscall=yes
161 AC_MSG_RESULT([Solaris ($host) found.])
162 if test x"$ac_cv_header_poll_h" = xyes; then
163 unet_poll_syscall=yes
171 AC_MSG_RESULT([Solaris ($host) found.])
177 AC_MSG_RESULT([OpenBSD ($host) found.])
178 if test x"$ac_cv_header_poll_h" = xyes; then
179 unet_poll_syscall=yes
187 AC_MSG_RESULT([Generic BSD ($host) found.])
188 if test x"$ac_cv_header_poll_h" = xyes; then
189 unet_poll_syscall=yes
197 AC_MSG_RESULT([Darwin (Mac OS X) ($host) found.])
203 AC_MSG_RESULT([Unknown system type $host found.])
204 AC_MSG_WARN([Unknown OS type; using generic routines.])
211 dnl Check user configuration options
212 dnl Start with --enable-poll
213 AC_MSG_CHECKING([whether to enable use of poll()])
214 AC_ARG_ENABLE([poll],
215 [ --enable-poll Force poll to be used regardless of whether or not
216 it is a system call],
217 [unet_cv_enable_poll=$enable_poll],
218 [AC_CACHE_VAL(unet_cv_enable_poll,
219 [unet_cv_enable_poll=$unet_poll_syscall])])
221 # Force poll to be disabled if there is no poll.h
222 if test x"$ac_cv_header_poll_h" != xyes; then
223 unet_cv_enable_poll=no
226 AC_MSG_RESULT([$unet_cv_enable_poll])
228 if test x"$unet_cv_enable_poll" = xyes; then
229 AC_DEFINE([USE_POLL], , [Specify whether or not to use poll()])
230 ENGINE_C=engine_poll.c
232 ENGINE_C=engine_select.c
236 dnl Now look for --enable-debug
237 AC_MSG_CHECKING([whether to enable debug mode])
238 AC_ARG_ENABLE([debug],
239 [ --enable-debug Turn on debugging mode],
240 [unet_cv_enable_debug=$enable_debug],
241 [AC_CACHE_VAL(unet_cv_enable_debug,
242 [unet_cv_enable_debug=no])])
243 AC_MSG_RESULT([$unet_cv_enable_debug])
245 if test x"$unet_cv_enable_debug" = xyes; then
246 AC_DEFINE([DEBUGMODE], , [Enable debugging code])
249 dnl Now look for --enable-leak-detect
250 AC_MSG_CHECKING([whether to enable leak detection])
251 AC_ARG_WITH([leak-detect],
252 [ --with-leak-detect Turn on the leak detector(requires patched boehm)],
253 [unet_cv_with_leak_detect=$with_leak_detect],
254 [AC_CACHE_VAL(unet_cv_with_leak_detect,
255 [unet_cv_with_leak_detect=no])])
256 AC_MSG_RESULT([$unet_cv_enable_leak_detect])
258 if test x"$unet_cv_with_leak_detect" != xno; then
260 CFLAGS="-DMDEBUG $CFLAGS"
261 if test x"$unet_cv_with_leak_detect" != xyes; then
262 LIBS="-L$unet_cv_with_leak_detect $LIBS"
266 dnl And now for --disable-asserts
267 AC_MSG_CHECKING([whether to enable asserts])
268 AC_ARG_ENABLE([asserts],
269 [ --disable-asserts Disable assertion checking],
270 [unet_cv_enable_asserts=$enable_asserts],
271 [AC_CACHE_VAL(unet_cv_enable_asserts,
272 [unet_cv_enable_asserts=yes])])
273 AC_MSG_RESULT([$unet_cv_enable_asserts])
275 if test x"$unet_cv_enable_asserts" = xno; then
276 AC_DEFINE([NDEBUG], , [Disable assertions])
279 dnl Check for --enable-symbols
280 AC_MSG_CHECKING([whether to enable debugging symbols])
281 AC_ARG_ENABLE([symbols],
282 [ --disable-symbols Disable debugging symbols (remove -g from CFLAGS)],
283 [unet_cv_enable_symbols=$enable_symbols],
284 [AC_CACHE_VAL(unet_cv_enable_symbols,
285 [unet_cv_enable_symbols=yes])])
286 AC_MSG_RESULT([$unet_cv_enable_symbols])
288 if test x"$unet_cv_enable_symbols" = xyes; then
292 dnl Now check for --enable-profile
293 AC_MSG_CHECKING([whether to enable profiling support (gprof)])
294 AC_ARG_ENABLE([profile],
295 [ --enable-profile Enable profiling support (add -pg to CFLAGS)],
296 [unet_cv_enable_profile=$enable_profile],
297 [AC_CACHE_VAL(unet_cv_enable_profile,
298 [unet_cv_enable_profile=no])])
299 AC_MSG_RESULT([$unet_cv_enable_profile])
301 if test x"$unet_cv_enable_profile" = xyes; then
305 dnl Now check for --enable-pedantic
306 AC_MSG_CHECKING([whether to enable pedantic compiler warnings])
307 AC_ARG_ENABLE([pedantic],
308 [ --enable-pedantic Enable pedantic warnings (add -pedantic to CFLAGS)],
309 [unet_cv_enable_pedantic=$enable_pedantic],
310 [AC_CACHE_VAL(unet_cv_enable_pedantic,
311 [unet_cv_enable_pedantic=no])])
312 AC_MSG_RESULT([$unet_cv_enable_pedantic])
314 if test x"$unet_cv_enable_pedantic" = xyes; then
315 CFLAGS="-pedantic $CFLAGS"
318 dnl Now check for --enable-warnings
319 AC_MSG_CHECKING([whether to enable compiler warnings])
320 AC_ARG_ENABLE([warnings],
321 [ --enable-warnings Enable warnings (add -Wall to CFLAGS)],
322 [unet_cv_enable_warnings=$enable_warnings],
323 [AC_CACHE_VAL(unet_cv_enable_warnings,
324 [unet_cv_enable_warnings=no])])
325 AC_MSG_RESULT([$unet_cv_enable_warnings])
327 if test x"$unet_cv_enable_warnings" = xyes; then
328 CFLAGS="-Wall $CFLAGS"
331 dnl --disable-inlines check...
332 AC_MSG_CHECKING([whether to enable inlining for a few critical functions])
333 AC_ARG_ENABLE([inlines],
334 [ --disable-inlines Disable inlining for a few critical functions],
335 [unet_cv_enable_inlines=$enable_inlines],
336 [AC_CACHE_VAL(unet_cv_enable_inlines,
337 [unet_cv_enable_inlines=yes])])
338 AC_MSG_RESULT([$unet_cv_enable_inlines])
340 if test x"$unet_cv_enable_inlines" = xyes; then
341 AC_DEFINE([FORCEINLINE], , [Force inlining for a few critical functions])
344 dnl --disable-devpoll check...
345 AC_MSG_CHECKING([whether to enable the /dev/poll event engine])
346 AC_ARG_ENABLE([devpoll],
347 [ --disable-devpoll Disable the /dev/poll-based engine],
348 [unet_cv_enable_devpoll=$enable_devpoll],
349 [AC_CACHE_VAL(unet_cv_enable_devpoll,
350 [unet_cv_enable_devpoll=yes])])
352 if test x"$ac_cv_header_sys_devpoll_h" = xno; then
353 unet_cv_enable_devpoll=no
356 AC_MSG_RESULT([$unet_cv_enable_devpoll])
358 if test x"$unet_cv_enable_devpoll" != xno; then
359 AC_DEFINE([USE_DEVPOLL], , [Define to enable the /dev/poll engine])
360 ENGINE_C="engine_devpoll.c $ENGINE_C"
363 dnl --disable-kqueue check...
364 AC_MSG_CHECKING([whether to enable the kqueue event engine])
365 AC_ARG_ENABLE([kqueue],
366 [ --disable-kqueue Disable the kqueue-based engine],
367 [unet_cv_enable_kqueue=$enable_kqueue],
368 [AC_CACHE_VAL(unet_cv_enable_kqueue,
369 [unet_cv_enable_kqueue=yes])])
371 if test x"$ac_cv_header_sys_event_h" = xno -o x"$ac_cv_func_kqueue" = xno; then
372 unet_cv_enable_kqueue=no
375 AC_MSG_RESULT([$unet_cv_enable_kqueue])
377 if test x"$unet_cv_enable_kqueue" != xno; then
378 AC_DEFINE([USE_KQUEUE], , [Define to enable the kqueue engine])
379 ENGINE_C="engine_kqueue.c $ENGINE_C"
382 dnl --disable-epoll check
383 AC_MSG_CHECKING([whether to enable the epoll event engine])
384 AC_ARG_ENABLE([epoll],
385 [ --disable-epoll Disable the epoll-based engine],
386 [unet_cv_enable_epoll=$enable_epoll],
387 [AC_CACHE_VAL(unet_cv_enable_epoll,
388 [unet_cv_enable_epoll=yes])])
390 if test x"$ac_cv_header_sys_epoll_h" = xno -o x"$ac_cv_func_epoll" = xno; then
391 unet_cv_enable_epoll=no
394 AC_MSG_RESULT([$unet_cv_enable_epoll])
396 dnl If we have the header and user has not refused epoll, we still need
397 dnl to check whether the functions are properly defined.
398 if test x"$unet_cv_enable_epoll" != xno; then
399 AC_MSG_CHECKING([whether epoll functions are properly defined])
400 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <sys/epoll.h>], [epoll_create(10);])],
401 [AC_MSG_RESULT([yes])],
403 AC_DEFINE([EPOLL_NEED_BODY],,[Define to implement epoll system calls])])
404 AC_DEFINE([USE_EPOLL], , [Define to enable the epoll engine])
405 ENGINE_C="engine_epoll.c $ENGINE_C"
408 dnl --disable-adns check...
409 AC_MSG_CHECKING([whether to enable the adns resolver engine])
410 AC_ARG_ENABLE([adns],
411 [ --disable-adns Disable adns resolver],
412 [unet_cv_enable_adns=$enable_adns],
413 [AC_CACHE_VAL(unet_cv_enable_adns,
414 [unet_cv_enable_adns=yes])])
416 AC_MSG_RESULT([$unet_cv_enable_adns])
418 if test x"$unet_cv_enable_adns" != xno; then
419 AC_DEFINE([USE_ADNS], , [Define to enable the adns resolver])
420 AC_CONFIG_SUBDIRS([adns])
422 LIBS="../adns/src/libadns.a $LIBS"
425 RES_C="res_libresolv.c"
428 dnl Look for res_mkquery. Done after AC_LIBRARY_NET in case res_mkquery
429 dnl is in one of those libraries somewhere.
430 AC_SEARCH_LIBS(res_mkquery, resolv, ,
431 [AC_MSG_ERROR([Unable to find library containing res_mkquery()])])
434 AC_SUBST(ADNS_SUBDIR)
436 dnl --with-symlink lets us set the name of the symlink; defaults to "ircd"
437 AC_MSG_CHECKING([what name to give the symlink])
438 AC_ARG_WITH([symlink],
439 [ --with-symlink=name Name to give the symlink; if name is "no," no
440 symlink will be created.],
441 [unet_cv_with_symlink=$with_symlink],
442 [AC_CACHE_VAL(unet_cv_with_symlink,
443 [unet_cv_with_symlink="ircd"])])
445 if test x"$unet_cv_with_symlink" = xyes; then
446 unet_cv_with_symlink="ircd"
449 AC_MSG_RESULT([$unet_cv_with_symlink])
451 if test x"$unet_cv_with_symlink" = xno; then
452 INSTALL_RULE=install-no-symlink
455 INSTALL_RULE=install-with-symlink
456 SYMLINK=$unet_cv_with_symlink
458 AC_SUBST(INSTALL_RULE)
461 dnl --with-mode lets us set the permissions on the binary
462 AC_MSG_CHECKING([what permissions to set on the installed binary])
464 [ --with-mode=mode Permissions (in octal) to give the binary],
465 [unet_cv_with_mode=$with_mode],
466 [AC_CACHE_VAL(unet_cv_with_mode,
467 [unet_cv_with_mode=711])])
469 if test x"$unet_cv_with_mode" = xyes -o x"$unet_cv_with_mode" = xno; then
470 unet_cv_with_mode=711
473 AC_MSG_RESULT([$unet_cv_with_mode])
475 IRCDMODE=$unet_cv_with_mode
478 dnl --with-owner lets us set the owner of the binary
480 unet_uid=`id | sed -e 's/.*uid=[0-9]*(//' -e 's/).*//' 2> /dev/null`
482 AC_MSG_CHECKING([which user should own the installed binary])
484 [ --with-owner=owner Specify owner of the installed binary],
485 [unet_cv_with_owner=$with_owner],
486 [AC_CACHE_VAL(unet_cv_with_owner,
487 [unet_cv_with_owner=$unet_uid])])
489 if test x"$unet_cv_with_owner" = xyes -o x"$unet_cv_with_owner" = xno; then
490 unet_cv_with_owner=$unet_uid
493 AC_MSG_RESULT([$unet_cv_with_owner])
495 IRCDOWN=$unet_cv_with_owner
498 dnl --with-group lets us set the group owner of the binary
500 unet_gid=`id | sed -e 's/.*gid=[0-9]*(//' -e 's/).*//' 2> /dev/null`
502 AC_MSG_CHECKING([which group should own the installed binary])
504 [ --with-group=group Specify group owner of the installed binary],
505 [unet_cv_with_group=$with_group],
506 [AC_CACHE_VAL(unet_cv_with_group,
507 [unet_cv_with_group=$unet_gid])])
509 if test x"$unet_cv_with_group" = xyes -o x"$unet_cv_with_group" = xno; then
510 unet_cv_with_group=$unet_gid
513 AC_MSG_RESULT([$unet_cv_with_group])
515 IRCDGRP=$unet_cv_with_group
518 dnl --with-domain lets us set the domain name for some statistics-gathering
520 if test -f /etc/resolv.conf; then
521 unet_domain=`awk '/^domain/ { print $2; exit }' /etc/resolv.conf`
522 if test x"$unet_domain" = x; then
523 unet_domain=`awk '/^search/ { print $2; exit }' /etc/resolv.conf`
526 AC_MSG_CHECKING([for site domain name])
527 AC_ARG_WITH([domain],
528 [ --with-domain=domain Domain name to use in local statistics gathering],
529 [unet_cv_with_domain=$with_domain],
530 [AC_CACHE_VAL(unet_cv_with_domain,
531 [unet_cv_with_domain=$unet_domain])])
533 if test x"$unet_cv_with_domain" = xyes -o x"$unet_cv_with_domain" = xno; then
534 unet_cv_with_domain=$unet_domain
536 if test x"$unet_cv_with_domain" = xno; then
537 AC_MSG_ERROR([Unable to determine server DNS domain; use --with-domain to set it])
540 AC_MSG_RESULT([$unet_cv_with_domain])
542 AC_DEFINE_UNQUOTED(DOMAINNAME, "*$unet_cv_with_domain",
543 [Domain name to be used for some statistics gathering])
545 dnl --with-chroot lets us define a directory that we are going to be using
546 dnl as the root of our filesystem
547 AC_MSG_CHECKING([if chroot operation is desired])
548 AC_ARG_WITH([chroot],
549 [ --with-chroot=dir Specify that the server will be operated under
550 a different root directory given by dir. See
551 doc/readme.chroot for more information.],
552 [unet_cv_with_chroot=$with_chroot],
553 [AC_CACHE_VAL(unet_cv_with_chroot,
554 [unet_cv_with_chroot=no])])
556 if test x"$unet_cv_with_chroot" = xyes; then
557 AC_MSG_ERROR([--with-chroot given with no directory. See doc/readme.chroot.])
560 # Ensure there are no trailing /'s to mess us up
561 unet_cv_with_chroot=`echo "$unet_cv_with_chroot" | sed 's%/*$%%'`
563 AC_MSG_RESULT([$unet_cv_with_chroot])
565 dnl Determine some default directory names
567 dnl HACK WARNING: We are referencing an autoconf internal variable. This is
568 dnl the only way to figure out what value $prefix will have when we go to do
569 dnl the install--and the only way we can stick that value in our definitions
571 # Deal with the annoying value "NONE" here
572 unet_save_prefix=$prefix
573 if test x"$prefix" = xNONE; then
574 prefix=$ac_default_prefix
579 unet_save_exec_prefix=$exec_prefix
580 if test x"$exec_prefix" = xNONE; then
583 exec_prefix=$exec_prefix
586 # Obtain the actual interesting directories
587 unet_bindir=`eval echo "$bindir"`
588 unet_libdir=`eval echo "$libdir"`
590 # Restore the original settings of $prefix and $exec_prefix
591 prefix=$unet_save_prefix
592 exec_prefix=$unet_save_exec_prefix
594 dnl Now compute the name of the binary and verify that it will work under
596 AC_MSG_CHECKING([where the binary will be for /restart])
597 if test x"$unet_cv_with_symlink" = xno; then
598 unet_spath="$unet_bindir/ircd"
600 unet_spath="$unet_bindir/$unet_cv_with_symlink"
602 AC_MSG_RESULT([$unet_spath])
604 if test x"$unet_cv_with_chroot" != xno; then
605 if echo "$unet_spath" | grep "^$unet_cv_with_chroot" > /dev/null 2>&1; then
606 unet_spath=`echo "$unet_spath" | sed "s%^$unet_cv_with_chroot%%"`
608 AC_MSG_WARN([Binary $unet_spath not relative to root directory $unet_cv_with_chroot; restarts will probably fail])
612 AC_DEFINE_UNQUOTED(SPATH, "$unet_spath", [Path to executable for restarts])
614 dnl --with-dpath sets the all-important DPATH
615 AC_MSG_CHECKING([what the data directory should be])
617 [ --with-dpath=dir Directory for all server data files],
618 [unet_cv_with_dpath=$with_dpath],
619 [AC_CACHE_VAL(unet_cv_with_dpath,
620 [unet_cv_with_dpath=$unet_libdir])])
622 if test x"$unet_cv_with_dpath" = xyes -o x"$unet_cv_with_dpath" = xno; then
623 unet_cv_with_dpath=$unet_libdir
626 # Ensure there are no trailing /'s to mess us up
627 unet_cv_with_dpath=`echo "$unet_cv_with_dpath" | sed 's%/*$%%'`
629 AC_MSG_RESULT([$unet_cv_with_dpath])
631 if test x"$unet_cv_with_chroot" != xno; then
632 if echo "$unet_cv_with_dpath" | grep "^$unet_cv_with_chroot" > /dev/null 2>&1; then
633 unet_dpath=`echo "$unet_cv_with_dpath" | sed "s%^$unet_cv_with_chroot%%"`
635 AC_MSG_ERROR([Data directory $unet_cv_with_dpath not relative to root directory $unet_cv_with_chroot])
638 unet_dpath=$unet_cv_with_dpath
641 AC_DEFINE_UNQUOTED(DPATH, "$unet_dpath", [Path to data directory])
643 DPATH=$unet_cv_with_dpath
646 dnl --with-cpath allows us to specify the configuration file
647 AC_MSG_CHECKING([where the default configuration file resides])
649 [ --with-cpath=file Set server configuration file],
650 [unet_cv_with_cpath=$with_cpath],
651 [AC_CACHE_VAL(unet_cv_with_cpath,
652 [unet_cv_with_cpath="ircd.conf"])])
654 if test x"$unet_cv_with_cpath" = xyes -o x"$unet_cv_with_cpath" = xno; then
655 unet_cv_with_cpath="ircd.conf"
658 AC_MSG_RESULT([$unet_cv_with_cpath])
660 if echo "$unet_cv_with_cpath" | grep '^/' > /dev/null 2>&1; then
661 # Absolute path; check against chroot stuff
662 if test x"$unet_cv_with_chroot" != xno; then
663 if echo "$unet_cv_with_cpath" | grep "^$unet_cv_with_chroot" > /dev/null 2>&1; then
664 unet_cpath=`echo "$unet_cv_with_cpath" | sed "s%^$unet_cv_with_chroot%%"`
666 AC_MSG_ERROR([Configuration file $unet_cv_with_cpath not relative to root directory $unet_cv_with_chroot])
669 unet_cpath=$unet_cv_with_cpath
672 unet_cpath=$unet_cv_with_cpath
675 AC_DEFINE_UNQUOTED(CPATH, "$unet_cpath", [Configuration file name])
677 dnl --with-lpath allows us to specify the default debugging log file
678 AC_MSG_CHECKING([where to put the debugging log if debugging enabled])
680 [ --with-lpath=file Set the debugging log file],
681 [unet_cv_with_lpath=$with_lpath],
682 [AC_CACHE_VAL(unet_cv_with_lpath,
683 [unet_cv_with_lpath="ircd.log"])])
685 if test x"$unet_cv_with_lpath" = xyes -o x"$unet_cv_with_lpath" = xno; then
686 unet_cv_with_lpath="ircd.log"
689 AC_MSG_RESULT([$unet_cv_with_lpath])
691 if echo "$unet_cv_with_lpath" | grep '^/' > /dev/null 2>&1; then
692 # Absolute path; check against chroot stuff
693 if test x"$unet_cv_with_chroot" != xno; then
694 if echo "$unet_cv_with_lpath" | grep "^$unet_cv_with_chroot" > /dev/null 2>&1; then
695 unet_lpath=`echo "$unet_cv_with_lpath" | sed "s%^$unet_cv_with_chroot%%"`
697 AC_MSG_WARN([Log file $unet_cv_with_lpath not relative to root directory $unet_cv_with_chroot; using default ircd.log instead])
698 unet_cv_with_lpath="ircd.log"
699 unet_lpath="ircd.log"
702 unet_lpath=$unet_cv_with_lpath
705 unet_lpath=$unet_cv_with_lpath
708 AC_DEFINE_UNQUOTED(LPATH, "$unet_lpath", [Path to debugging log file])
710 dnl --with-maxcon allows us to set the maximum connections
711 unet_maxcon=`ulimit -Hn`
712 unet_maxcon=`expr $unet_maxcon - 4`
713 AC_MSG_CHECKING([max connections])
714 AC_ARG_WITH([maxcon],
715 [ --with-maxcon=maxcon Maximum number of connections server will accept],
716 [unet_cv_with_maxcon=$with_maxcon],
717 [AC_CACHE_VAL(unet_cv_with_maxcon,
718 [unet_cv_with_maxcon=$unet_maxcon])])
720 if test x"$unet_cv_with_maxcon" = xyes -o x"$unet_cv_with_maxcon" = xno; then
721 unet_cv_with_maxcon=$unet_maxcon
724 AC_MSG_RESULT([$unet_cv_with_maxcon])
726 AC_DEFINE_UNQUOTED(MAXCONNECTIONS, $unet_cv_with_maxcon,
727 [Maximum number of network connections])
729 dnl Finally really generate all output files:
730 AC_OUTPUT(Makefile ircd/Makefile doc/Makefile, [echo timestamp > stamp-h])
732 dnl Report configuration
733 AC_OUTPUT_COMMANDS([echo "
734 ircu is now hopefully configured for your system.
736 Host system: $host_os
738 Asserts: $unet_cv_enable_asserts
739 Warnings: $unet_cv_enable_warnings
740 Debug: $unet_cv_enable_debug
741 Profile: $unet_cv_enable_profile
742 Head-in-sand: $unet_cv_enable_headinsand
743 ADNS: $unet_cv_enable_adns
744 Owner/mode: $unet_cv_with_owner.$unet_cv_with_group ($unet_cv_with_mode)
745 Chroot: $unet_cv_with_chroot
747 Domain: $unet_cv_with_domain
748 DPath: $unet_cv_with_dpath
749 CPath: $unet_cv_with_cpath
750 LPath: $unet_cv_with_lpath
751 Maximum connections: $unet_cv_with_maxcon
753 poll() engine: $unet_cv_enable_poll
754 kqueue() engine: $unet_cv_enable_kqueue
755 /dev/poll engine: $unet_cv_enable_devpoll