1 dnl TODO: clean up all the OpenSSL and shared module checking stuff;
2 dnl the most major changes have already been made and it looks like
3 dnl said functions need to be just about as complex as they already are.
7 AC_INIT([charybdis], [3.6.0-dev])
10 AC_USE_SYSTEM_EXTENSIONS
15 if test x"$ac_cv_prog_cc_c99" = "xno"; then
16 AC_ERROR([charybdis requires a C99 capable compiler])
19 AC_PREFIX_DEFAULT($HOME/ircd)
20 AC_CONFIG_MACRO_DIR([m4])
21 AC_CONFIG_HEADER(include/setup.h)
22 AC_CONFIG_SUBDIRS([librb])
23 AC_CONFIG_AUX_DIR([libltdl/config])
25 AM_INIT_AUTOMAKE([subdir-objects])
26 AM_SILENT_RULES([yes])
29 LT_INIT([dlopen disable-static])
30 LT_CONFIG_LTDL_DIR([libltdl])
33 build_ltdl=$with_included_ltdl
34 AM_CONDITIONAL([BUILD_LTDL], [test x"$build_ltdl" = x"yes"])
36 if test "$ac_cv_c_compiler_gnu" = yes; then
37 IRC_CFLAGS="$IRC_CFLAGS -O0 -Wall"
40 dnl If we support -g, use it!
41 if test "$ac_cv_prog_cc_g" = yes; then
42 IRC_CFLAGS="$IRC_CFLAGS -g"
45 dnl check for /dev/null so we can use it to hold evil fd's
46 AC_MSG_CHECKING([for /dev/null])
47 if test -c /dev/null ; then
48 AC_DEFINE(PATH_DEVNULL, "/dev/null", [Path to /dev/null])
51 AC_DEFINE(PATH_DEVNULL, "devnull.log", [Path to /dev/null])
52 AC_MSG_RESULT(no - using devnull.log)
55 dnl jdc -- If CFLAGS is defined, best use it everywhere...
56 dnl NOTE: jv says it must be added to the *END*, because things like
57 dnl "gcc -O9 -O2" will result in -O2 getting preference. How stupid.
58 if test ! -z "$CFLAGS"; then
59 IRC_CFLAGS="$IRC_CFLAGS $CFLAGS"
70 AC_PATH_PROG(SED, sed)
73 AC_PATH_PROG(RANLIB, ranlib)
74 AC_PATH_PROG(TOUCH, touch)
78 dnl AC_PROG_YACC defaults to yacc unconditionally if nothing can be found
79 if test "$YACC" = "yacc" -a -z "`which $YACC 2>/dev/null`"; then
80 AC_MSG_ERROR([could not locate a suitable parser generator; install bison, yacc, or byacc])
85 if test "$LEX" = ":"; then
86 AC_MSG_ERROR([could not locate a suitable lexical generator, install flex or lex.])
89 AC_ARG_ENABLE([fhs-paths],
90 [AS_HELP_STRING([--enable-fhs-paths], [Use more FHS-like pathnames (for packagers).])],
92 [dnl detect if the user appears to want --enable-fhs-paths
93 AS_IF([test "$libexecdir" = '${exec_prefix}/libexec' && \
94 test "$localstatedir" = '${prefix}/var' && \
95 test "$libdir" = '${exec_prefix}/lib'],
96 [enable_fhs_paths=no],
97 [enable_fhs_paths=yes])
99 dnl use directory structure of cached as default (hack)
100 AS_IF([test "x$enable_fhs_paths" = "xyes"],
101 [dnl Avoid name collisions.
102 pkglibexecdir='${libexecdir}/${PACKAGE_TARNAME}'
103 rundir=${rundir-'${prefix}/run'}
104 pkgrundir='${rundir}/${PACKAGE_TARNAME}'
105 pkglocalstatedir='${localstatedir}/${PACKAGE_TARNAME}'],
106 [libexecdir='${bindir}'
107 pkglibexecdir='${libexecdir}'
108 rundir='${sysconfdir}'
109 pkgrundir='${rundir}'
110 localstatedir='${prefix}'
111 pkglocalstatedir='${sysconfdir}'])
112 pkglibdir='${libdir}/${PACKAGE_TARNAME}'
113 AC_SUBST([pkglibdir])
115 AC_SUBST([pkgrundir])
116 AC_SUBST([pkglocalstatedir])
117 AC_DEFINE_DIR([PKGLOCALSTATEDIR], [pkglocalstatedir], [[Directory in which to store state, such as ban database]])
118 AC_SUBST([pkglibexecdir])
119 AC_DEFINE_DIR([PKGLIBEXECDIR], [pkglibexecdir], [Directory where binaries the IRCd itself spawns live])
121 dnl Checks for header files.
125 AC_CHECK_HEADERS([crypt.h sys/resource.h sys/param.h errno.h sys/syslog.h stddef.h sys/wait.h wait.h sys/epoll.h sys/uio.h machine/endian.h])
127 dnl Stuff that the memory manager (imalloc) depends on
128 dnl ==================================================
131 if test "$ac_cv_header_machine_endian_h" = "no" ; then
136 AC_CHECK_SIZEOF(short)
138 AC_CHECK_SIZEOF(long)
139 AC_CHECK_SIZEOF(long long)
141 dnl Networking Functions
142 dnl ====================
144 AC_SEARCH_LIBS(socket, socket, , [AC_MSG_ERROR([You have no socket()! Aborting.])])
146 dnl SunOS/Solaris required libnsl for inet_ntoa()
147 if test x"$SUN" = xyes; then
148 AC_SEARCH_LIBS(inet_ntoa, nsl,, [AC_MSG_ERROR([libnsl not found! Aborting.])])
151 AC_CHECK_TYPE(socklen_t, ,
152 [AC_DEFINE([socklen_t], [unsigned int],
153 [If we don't have a real socklen_t, unsigned int is good enough.])],
154 [#include <sys/types.h>
155 #include <sys/socket.h>])
158 AC_HELP_STRING([--enable-ipv6],[Enable IPv6 support]),[ipv6=$enableval],[ipv6=no])
160 AC_SEARCH_LIBS(crypt, [crypt descrypt],,)
162 CRYPT_LIB=$ac_cv_search_crypt
164 if test "$CRYPT_LIB" = "none required"; then
166 elif test "$CRYPT_LIB" = no; then
174 dnl Check for stdarg.h - if we can't find it, halt configure
175 AC_CHECK_HEADER(stdarg.h, , [AC_MSG_ERROR([** stdarg.h could not be found - charybdis will not compile without it **])])
176 AC_CHECK_FUNCS([strlcat strlcpy])
178 AC_CHECK_TYPE([u_int32_t], [],
180 AC_CHECK_TYPE([uint32_t],
182 AC_DEFINE(u_int32_t, [uint32_t], [If system does not define u_int32_t, define a reasonable substitute.])
185 AC_MSG_WARN([system has no u_int32_t or uint32_t, default to unsigned long int])
186 AC_DEFINE(u_int32_t, [unsigned long int], [If system does not define u_int32_t, define to unsigned long int here.])
190 AC_CHECK_TYPE([u_int16_t], [],
192 AC_CHECK_TYPE([uint16_t],
194 AC_DEFINE(u_int16_t, [uint16_t], [If system does not define u_int16_t, define a usable substitute])
197 AC_MSG_WARN([system has no u_int16_t or uint16_t, default to unsigned short int])
198 AC_DEFINE(u_int16_t, [unsigned short int], [If system does not define u_int16_t, define a usable substitute.])
202 AC_CHECK_TYPE([in_port_t], [],
203 [AC_DEFINE(in_port_t, [u_int16_t], [If system does not define in_port_t, define it to what it should be.])],
204 [[#include <sys/types.h>
205 #include <netinet/in.h>]])
207 AC_CHECK_TYPE([sa_family_t], [],
208 [AC_DEFINE(sa_family_t, [u_int16_t], [If system does not define sa_family_t, define it here.])],
209 [[#include <sys/types.h>
210 #include <sys/socket.h>]])
212 AC_CHECK_TYPES([uintptr_t])
214 dnl check for various functions...
215 AC_CHECK_FUNCS([snprintf vsnprintf socketpair mmap gettimeofday strdup strndup ])
219 dnl Specialized functions checks
220 dnl ============================
222 dnl check for nanosleep
223 AC_CHECK_FUNC(nanosleep,,[AC_CHECK_LIB(rt,nanosleep,
225 [AC_CHECK_LIB(posix4,nanosleep, LIBS="${LIBS} -lposix4"
227 if test x$ac_cv_func_nanosleep = xno && test x$ac_cv_lib_posix4_nanosleep = xno && test x$ac_cv_lib_rt_nanosleep = xno
229 AC_MSG_RESULT("nanosleep not found..using select for delay")
231 AC_DEFINE([HAVE_NANOSLEEP], 1, [Define if nanosleep exists])
235 AC_MSG_CHECKING(for OpenSSL)
236 AC_ARG_ENABLE(openssl,
237 [AC_HELP_STRING([--enable-openssl[=DIR]],[Enable OpenSSL support (DIR optional).])
238 AC_HELP_STRING([--disable-openssl],[Disable OpenSSL support.])],
239 [cf_enable_openssl=$enableval],
240 [cf_enable_openssl="auto"])
242 if test "$cf_enable_openssl" != "no" ; then
243 cf_openssl_basedir=""
244 if test "$cf_enable_openssl" != "auto" &&
245 test "$cf_enable_openssl" != "yes" ; then
246 dnl Support for --enable-openssl=/some/place
247 cf_openssl_basedir="`echo ${cf_enable_openssl} | sed 's/\/$//'`"
249 dnl Do the auto-probe here. Check some common directory paths.
250 for dirs in /usr/local/ssl /usr/pkg /usr/local \
251 /usr/local/openssl ; do
252 if test -f "${dirs}/include/openssl/opensslv.h" ; then
253 cf_openssl_basedir="${dirs}"
259 dnl Now check cf_openssl_found to see if we found anything.
260 if test ! -z "$cf_openssl_basedir"; then
261 if test -f "${cf_openssl_basedir}/include/openssl/opensslv.h" ; then
262 SSL_INCLUDES="-I${cf_openssl_basedir}/include"
263 SSL_LIBS="-L${cf_openssl_basedir}/lib"
265 dnl OpenSSL wasn't found in the directory specified. Naughty
267 cf_openssl_basedir=""
270 dnl Check for stock FreeBSD 4.x and 5.x systems, since their files
271 dnl are in /usr/include and /usr/lib. In this case, we don't want to
272 dnl change INCLUDES or LIBS, but still want to enable OpenSSL.
273 dnl We can't do this check above, because some people want two versions
274 dnl of OpenSSL installed (stock FreeBSD 4.x/5.x and /usr/local/ssl)
275 dnl and they want /usr/local/ssl to have preference.
276 if test -f "/usr/include/openssl/opensslv.h" ; then
277 cf_openssl_basedir="/usr"
281 dnl If we have a basedir defined, then everything is okay. Otherwise,
282 dnl we have a problem.
283 if test ! -z "$cf_openssl_basedir"; then
284 AC_MSG_RESULT($cf_openssl_basedir)
285 cf_enable_openssl="yes"
287 AC_MSG_RESULT([not found. Specify a correct path?])
288 cf_enable_openssl="no"
290 unset cf_openssl_basedir
292 dnl If --disable-openssl was specified
293 AC_MSG_RESULT(disabled)
296 save_CPPFLAGS="$CPPFLAGS"
297 CPPFLAGS="$CPPFLAGS $SSL_INCLUDES"
299 LIBS="$LIBS $SSL_LIBS"
300 if test "$cf_enable_openssl" != no; then
301 dnl Check OpenSSL version (must be 0.9.6 or above!)
302 AC_MSG_CHECKING(for OpenSSL 0.9.6 or above)
305 [#include <openssl/opensslv.h>
306 #include <stdlib.h>],
307 [[if ( OPENSSL_VERSION_NUMBER >= 0x00906000)
308 exit(0); else exit(1);]])],
309 cf_openssl_version_ok=yes,
310 cf_openssl_version_ok=no,
311 cf_openssl_version_ok=no)
313 if test "$cf_openssl_version_ok" = yes; then
316 dnl Work around pmake/gmake conditional incompatibilities
317 AC_SUBST(ENCSPEED, encspeed)
319 dnl Do all the HAVE_LIBCRYPTO magic -- and check for ciphers
320 CPPFLAGS="$CPPFLAGS $SSL_LIBS"
321 AC_CHECK_LIB(crypto, RSA_free)
322 SSL_LIBS="$SSL_LIBS -lcrypto"
323 SSL_SRCS_ENABLE='$(SSL_SRCS)'
325 AC_MSG_RESULT(no - OpenSSL support disabled)
329 CPPFLAGS="$save_CPPFLAGS"
332 dnl End OpenSSL detection
335 dnl Specialized functions and libraries
336 dnl ===================================
338 AC_ARG_WITH(zlib-path,
339 AC_HELP_STRING([--with-zlib-path=DIR],[Path to libz.so for ziplinks support.]),
340 [LIBS="$LIBS -L$withval"],)
343 AC_HELP_STRING([--disable-zlib],[Disable ziplinks support]),
344 [zlib=$enableval],[zlib=yes])
346 if test "$zlib" = yes; then
348 AC_CHECK_HEADER(zlib.h, [
349 AC_CHECK_LIB(z, zlibVersion,
351 AC_SUBST(ZLIB_LD, -lz)
352 AC_DEFINE(HAVE_LIBZ, 1, [Define to 1 if zlib (-lz) is available.])
358 dnl Check for shared sqlite
359 dnl ======================
360 AC_ARG_WITH(shared-sqlite,
361 AC_HELP_STRING([--with-shared-sqlite],[Use shared sqlite]),
362 [shared_sqlite=$withval],[shared_sqlite=no])
364 if test "$shared_sqlite" = yes; then
365 PKG_CHECK_MODULES(SQLITE, [sqlite3],
371 if test "$shared_sqlite" = no; then
372 SQLITE_OBJ='sqlite3.$(OBJEXT)'
375 AC_SUBST(SQLITE_LD, "$SQLITE_LIBS")
376 AC_SUBST(SQLITE_INCLUDES, "$SQLITE_CFLAGS")
379 dnl **********************************************************************
380 dnl Check for --with-confdir [deprecated, use --sysconfdir instead]
381 dnl **********************************************************************
383 AC_ARG_WITH([confdir],
384 [AC_HELP_STRING([--with-confdir=DIR],
385 [Directory to install config files [deprecated, use --sysconfdir instead].])],
386 [ sysconfdir=`echo $withval | sed 's/\/$//'` ],
387 [ confdir='${sysconfdir}' ])
388 AC_DEFINE_DIR([ETC_DIR], [sysconfdir], [Prefix where config files are installed.])
390 dnl **********************************************************************
391 dnl Check for --with-logdir
392 dnl **********************************************************************
394 AC_MSG_CHECKING([whether to modify logdir])
396 AC_HELP_STRING([--with-logdir=DIR],
397 [Directory where to write logfiles.]),
398 [ logdir=`echo $withval | sed 's/\/$//'`
400 [ AS_IF([test "x$enable_fhs_paths" = "xyes"],
401 [logdir='${localstatedir}/log/${PACKAGE_TARNAME}'],
402 [logdir='${prefix}/logs'])
404 AC_DEFINE_DIR([LOG_DIR], [logdir], [Prefix where to write logfiles.])
405 AC_SUBST_DIR([logdir])
407 dnl **********************************************************************
408 dnl Check for --with-helpdir
409 dnl **********************************************************************
411 AC_MSG_CHECKING([whether to modify helpdir])
413 AC_HELP_STRING([--with-helpdir=DIR],
414 [Directory to install help files.]),
415 [ helpdir=`echo $withval | sed 's/\/$//'`
416 AC_MSG_RESULT(yes) ],
417 [ AS_IF([test "x$enable_fhs_paths" = "xyes"],
418 [helpdir='${datadir}/${PACKAGE_TARNAME}/help'],
419 [helpdir='${prefix}/help'])
421 AC_DEFINE_DIR([HELP_DIR], [helpdir], [Prefix where help files are installed.])
422 AC_SUBST_DIR([helpdir])
424 dnl **********************************************************************
425 dnl Check for --with-moduledir
426 dnl **********************************************************************
428 AC_MSG_CHECKING([whether to modify moduledir])
429 AC_ARG_WITH(moduledir,
430 [AC_HELP_STRING([--with-moduledir=DIR],
431 [Directory to install modules.])],
432 [ moduledir=`echo $withval | sed 's/\/$//'`
434 [ AS_IF([test "x$enable_fhs_paths" = "xyes"],
435 [moduledir='${pkglibdir}/modules'],
436 [moduledir='${prefix}/modules'])
439 AC_DEFINE_DIR(MODULE_DIR, moduledir, [Prefix where modules are installed.])
440 AC_SUBST_DIR([moduledir])
442 dnl Check for --with-rundir
444 AC_MSG_CHECKING([whether or modify rundir])
445 AC_ARG_WITH([rundir],
446 [AC_HELP_STRING([--with-rundir=DIR],
447 [Directory in which to store pidfile.])],
448 [AC_MSG_RESULT([yes])
449 rundir=`echo $withval | sed 's/\/$//'`],
451 AS_IF([test "x$enable_fhs_paths" = "xyes"],
452 [rundir='${prefix}/run'],
453 [rundir='${sysconfdir}'])])
455 AC_DEFINE_DIR([PKGRUNDIR], [pkgrundir], [Directory to store pidfile in.])
457 dnl Installed utility program prefixes (does not affect binaries
458 dnl installed into pkglibexecdir)
459 AC_MSG_CHECKING([for program prefix])
460 AC_ARG_WITH([program-prefix],
461 [AS_HELP_STRING([--with-program-prefix=], [If set, programs installed into PATH will be installed with names prefixed by this prefix.])],
462 [test "x$with_program_prefix" = "xno" && with_program_prefix=],
463 [with_program_prefix=])
464 AC_MSG_RESULT(["$with_program_prefix"])
465 PROGRAM_PREFIX="$with_program_prefix"
466 AC_SUBST([PROGRAM_PREFIX])
467 AC_DEFINE_UNQUOTED([PROGRAM_PREFIX], ["$with_program_prefix"], [String with which all programs intended to be in PATH are prefixed.])
469 dnl **********************************************************************
471 dnl **********************************************************************
473 AC_MSG_CHECKING([whether custom branding is requested])
474 AC_ARG_WITH(custom-branding,
475 AC_HELP_STRING([--with-custom-branding=NAME],
476 [Custom branding name.]),
477 [BRANDING_NAME=$withval
478 AC_MSG_RESULT([yes])],
479 [BRANDING_NAME=$PACKAGE_NAME
483 AC_MSG_CHECKING([whether a custom version is requested])
484 AC_ARG_WITH(custom-version,
485 AC_HELP_STRING([--with-custom-version=NAME],
486 [Custom version branding.]),
487 [BRANDING_VERSION=$withval
488 AC_MSG_RESULT([yes])],
489 [BRANDING_VERSION=$PACKAGE_VERSION
493 AC_DEFINE_UNQUOTED(BRANDING_NAME, ["$BRANDING_NAME"], [Custom branding name.])
494 AC_DEFINE_UNQUOTED(BRANDING_VERSION, ["$BRANDING_VERSION"], [Custom branding name.])
496 if test "x$BRANDING_NAME" != "x$PACKAGE_NAME"; then
497 AC_DEFINE(CUSTOM_BRANDING, 1, [Define if custom branding is enabled.])
500 dnl **********************************************************************
501 dnl Enable oper chghost
502 dnl **********************************************************************
504 AC_ARG_ENABLE(oper-chghost,
505 AC_HELP_STRING([--enable-oper-chghost],[Enable opers to use the CHGHOST command]),
506 [operchghost=$enableval],[operchghost=no])
508 if test "$operchghost" = yes; then
509 AC_DEFINE(ENABLE_OPER_CHGHOST, 1, [Define this to enable opers to use the CHGHOST command.])
512 dnl **********************************************************************
513 dnl Enable ignoring of bogus timestamps
514 dnl **********************************************************************
516 AC_ARG_ENABLE(ignore-bogus-ts,
517 AC_HELP_STRING([--enable-ignore-bogus-ts],[Enable the reset of timestamps in channels to current time if set to 0. Set this network wide or not at all.]),
518 [ignorebogusts=$enableval],[ignorebogusts=no])
520 if test "$ignorebogusts" = yes; then
521 AC_DEFINE(IGNORE_BOGUS_TS, 1, [Define this to enable the reset of timestamps in channels to current time if set to 0.])
524 dnl Debug-related options
525 dnl =====================
527 AC_ARG_ENABLE(assert,
528 AC_HELP_STRING([--enable-assert],[Enable assert(). Choose between soft(warnings) and hard(aborts the daemon)]),
529 [assert=$enableval], [assert=no])
531 if test "$assert" = no; then
532 AC_DEFINE(NDEBUG, 1, [Define this to disable debugging support.])
533 elif test "$assert" = soft; then
534 AC_DEFINE(SOFT_ASSERT, 1, [Define this to enable soft asserts.])
535 AC_DEFINE(NDEBUG, 1, [Define this to disable debugging support.])
536 elif test "$assert" = yes; then
540 AC_MSG_CHECKING(if you want to do a profile build)
541 AC_ARG_ENABLE(profile,
542 AC_HELP_STRING([--enable-profile],[Enable profiling]),
543 [profile=$enableval], [profile=no])
545 if test "$profile" = yes; then
546 if test "$ac_cv_c_compiler_gnu" = yes; then
547 IRC_CFLAGS="$IRC_CFLAGS -pg"
548 AC_MSG_RESULT([yes, adding -pg])
549 AC_DEFINE(CHARYBDIS_PROFILE, 1, [Define this if you are profiling.])
551 AC_MSG_RESULT([no, profile builds only work with gcc])
557 AC_DEFINE([NICKNAMEHISTORYLENGTH], 15000, [Size of the WHOWAS array.])
558 AC_DEFINE([CHANNEL_HEAP_SIZE], 8192, [Size of the channel heap.])
559 AC_DEFINE([BAN_HEAP_SIZE], 4096, [Size of the ban heap.])
560 AC_DEFINE([CLIENT_HEAP_SIZE], 8192, [Size of the client heap.])
561 AC_DEFINE([LCLIENT_HEAP_SIZE], 1024, [Size of the local client heap.])
562 AC_DEFINE([PCLIENT_HEAP_SIZE], 256, [Size of the pre-client heap.])
563 AC_DEFINE([USER_HEAP_SIZE], 8192, [Size of the user heap.])
564 AC_DEFINE([DNODE_HEAP_SIZE], 8192, [Size of the dlink_node heap.])
565 AC_DEFINE([TOPIC_HEAP_SIZE], 4096, [Size of the topic heap.])
566 AC_DEFINE([LINEBUF_HEAP_SIZE], 2048, [Size of the linebuf heap.])
567 AC_DEFINE([MEMBER_HEAP_SIZE], 32768, [Sizeof member heap.])
568 AC_DEFINE([ND_HEAP_SIZE], 512, [Size of the nick delay heap.])
569 AC_DEFINE([CONFITEM_HEAP_SIZE], 256, [Size of the confitem heap.])
570 AC_DEFINE([MONITOR_HEAP_SIZE], 1024, [Size of the monitor heap.])
571 AC_DEFINE([FD_HEAP_SIZE], 1024, [Size of fd heap.])
572 AC_DEFINE([AWAY_HEAP_SIZE], 512, [Size of away heap.])
575 AC_HELP_STRING([--with-nicklen=LENGTH],[Set the upper-bound nick length to LENGTH (default 31, max 50)]),
577 if ! expr "$withval" + 0 >/dev/null 2>&1; then
578 AC_ERROR([NICKLEN must be a numeric value])
580 if test $withval -gt 50; then
582 AC_MSG_WARN([NICKLEN has a hard limit of 50. Setting NICKLEN=50])
583 elif test $withval -lt 9; then
585 AC_MSG_WARN([NICKLEN has a lower limit of 9. Setting NICKLEN=9])
591 AC_ARG_WITH(topiclen,
592 AC_HELP_STRING([--with-topiclen=NUMBER],[Set the max topic length to NUMBER (default 390, max 390)]),
594 if test $withval -gt 390; then
596 AC_MSG_WARN([TOPICLEN has a hard limit of 390. Setting TOPICLEN=390])
602 AC_DEFINE_UNQUOTED(TOPICLEN, ${TOPICLEN}, [Maximum topic length (<=390)])
603 AC_DEFINE_UNQUOTED(NICKLEN, (${NICKLEN}+1), [Nickname length])
605 # rpath, for finding librb.so at run time
606 hold_ldflags=$LDFLAGS
607 AC_MSG_CHECKING(for the ld -rpath flag)
608 LDFLAGS="${LDFLAGS} -Wl,-rpath=${libdir}"
609 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[int i;])], found=yes, found=no)
610 LDFLAGS=$hold_ldflags
611 AC_MSG_RESULT($found)
612 if test "$found" = yes; then
613 LDFLAGS="${LDFLAGS} -Wl,-rpath=\${libdir}"
616 # This must be down here, or it will mess up checks like the ones
617 # for -Wl,-export-dynamic
620 AC_ARG_ENABLE(warnings,
621 AC_HELP_STRING([--enable-warnings],[Enable all sorts of warnings for debugging.]),
623 IRC_CFLAGS="$IRC_CFLAGS -O0"
626 CHARYBDIS_C_GCC_TRY_FLAGS([-Wall], charybdis_cv_c_gcc_w_all)
627 CHARYBDIS_C_GCC_TRY_FLAGS([-Wpointer-arith], charybdis_cv_c_gcc_w_pointer_arith)
628 CHARYBDIS_C_GCC_TRY_FLAGS([-Wimplicit -Wnested-externs], charybdis_cv_c_gcc_w_implicit)
629 CHARYBDIS_C_GCC_TRY_FLAGS([-Wcast-align], charybdis_cv_c_gcc_w_cast_align)
630 CHARYBDIS_C_GCC_TRY_FLAGS([-Wcast-qual], charybdis_cv_c_gcc_w_cast_qual)
631 CHARYBDIS_C_GCC_TRY_FLAGS([-Wwrite-strings], charybdis_cv_c_gcc_w_write_strings)
632 CHARYBDIS_C_GCC_TRY_FLAGS([-Werror-implicit-function-declaration], charybdis_cv_c_gcc_w_error_implicit_function_declaration)
633 CHARYBDIS_C_GCC_TRY_FLAGS([-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations], charybdis_cv_c_gcc_prototypes)
634 CHARYBDIS_C_GCC_TRY_FLAGS([-Wparenthesis], charybdis_cv_c_gcc_parenthesis)
635 CHARYBDIS_C_GCC_TRY_FLAGS([-W -Wno-unused], charybdis_cv_c_gcc_w)
636 CHARYBDIS_C_GCC_TRY_FLAGS([-Wextra], charybdis_cv_c_gcc_w_extra)
637 CHARYBDIS_C_GCC_TRY_FLAGS([-Wshadow], charybdis_cv_c_gcc_w_shadow)
638 CHARYBDIS_C_GCC_TRY_FLAGS([-Wmissing-noreturn], charybdis_cv_c_gcc_w_missing_noreturn)
639 CHARYBDIS_C_GCC_TRY_FLAGS([-Wundef], charybdis_cv_c_gcc_w_undef)
640 CHARYBDIS_C_GCC_TRY_FLAGS([-Wpacked], charybdis_cv_c_gcc_w_packed)
641 CHARYBDIS_C_GCC_TRY_FLAGS([-Wnested-externs], charybdis_cv_c_gcc_w_nested_externs)
642 CHARYBDIS_C_GCC_TRY_FLAGS([-Wunused-function -Wunused-label -Wunused-value -Wunused-variable], charybdis_cv_c_gcc_w_unused)
643 CHARYBDIS_C_GCC_TRY_FLAGS([-Wredundant-decls], charybdis_cv_c_gcc_w_redundant_decls)
644 CHARYBDIS_C_GCC_TRY_FLAGS([-Wfloat-equal], charybdis_cv_c_gcc_w_float_equal)
645 CHARYBDIS_C_GCC_TRY_FLAGS([-Wformat -Wformat-y2k -Wno-format-security], charybdis_cv_c_gcc_w_format)
650 IRC_CFLAGS="$IRC_CFLAGS $CWARNS"
652 AC_SUBST(MODULES_LIBS)
655 AC_SUBST(SSL_SRCS_ENABLE)
656 AC_SUBST(SSL_INCLUDES)
665 if test "$prefix" = "NONE"; then
666 AC_DEFINE_UNQUOTED(IRCD_PREFIX, "$ac_default_prefix", [Prefix where the ircd is installed.])
670 dnl Don't get bitten by Cygwin's stupidity if the user specified
671 dnl a custom prefix with a trailing slash
673 prefix=`echo $prefix | sed 's/\/$//'`
674 AC_DEFINE_UNQUOTED(IRCD_PREFIX, "$prefix", [Prefix where the ircd is installed.])
683 extensions/Makefile \
691 AC_CONFIG_COMMANDS([tools/genssl_chmod], [chmod 755 tools/genssl])
695 if test "$cf_openssl_version_ok" = yes; then
702 Configuration of ${BRANDING_NAME}-${BRANDING_VERSION}:
703 Install directory : $prefix
708 Nickname length : $NICKLEN
709 Topic length : $TOPICLEN
711 Use (g)make to compile $BRANDING_NAME, then (g)make install to install it.