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)
23 AC_CONFIG_SUBDIRS([librb])
24 AC_CONFIG_AUX_DIR([libltdl/config])
26 AM_INIT_AUTOMAKE([subdir-objects])
27 AM_SILENT_RULES([yes])
30 LT_INIT([dlopen disable-static])
31 LT_CONFIG_LTDL_DIR([libltdl])
34 build_ltdl=$with_included_ltdl
35 AM_CONDITIONAL([BUILD_LTDL], [test x"$build_ltdl" = x"yes"])
39 AC_DEFINE_UNQUOTED(CYGWIN,1,[This is a Cygwin system])
40 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
43 AC_DEFINE_UNQUOTED(MINGW,1,[This is a MinGW system])
44 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
45 AC_CHECK_HEADER(winsock2.h, , [AC_MSG_ERROR([** MinGW and no winsock2.h. I give up.])])
46 LIBS="$LIBS -lws2_32 -liphlpapi"
53 AM_CONDITIONAL([MINGW], [test "$is_mingw" = "yes"])
55 if test "$ac_cv_c_compiler_gnu" = yes; then
56 IRC_CFLAGS="$IRC_CFLAGS -O0 -Wall"
59 dnl If we support -g, use it!
60 if test "$ac_cv_prog_cc_g" = yes; then
61 IRC_CFLAGS="$IRC_CFLAGS -g"
64 dnl check for /dev/null so we can use it to hold evil fd's
65 AC_MSG_CHECKING([for /dev/null])
66 if test -c /dev/null ; then
67 AC_DEFINE(PATH_DEVNULL, "/dev/null", [Path to /dev/null])
70 AC_DEFINE(PATH_DEVNULL, "devnull.log", [Path to /dev/null])
71 AC_MSG_RESULT(no - using devnull.log)
74 dnl jdc -- If CFLAGS is defined, best use it everywhere...
75 dnl NOTE: jv says it must be added to the *END*, because things like
76 dnl "gcc -O9 -O2" will result in -O2 getting preference. How stupid.
77 if test ! -z "$CFLAGS"; then
78 IRC_CFLAGS="$IRC_CFLAGS $CFLAGS"
89 AC_PATH_PROG(SED, sed)
92 AC_PATH_PROG(RANLIB, ranlib)
93 AC_PATH_PROG(TOUCH, touch)
97 dnl AC_PROG_YACC defaults to yacc unconditionally if nothing can be found
98 if test "$YACC" = "yacc" -a -z "`which $YACC 2>/dev/null`"; then
99 AC_MSG_ERROR([could not locate a suitable parser generator; install bison, yacc, or byacc])
104 if test "$LEX" = ":"; then
105 AC_MSG_ERROR([could not locate a suitable lexical generator, install flex or lex.])
108 AC_ARG_ENABLE([fhs-paths],
109 [AS_HELP_STRING([--enable-fhs-paths], [Use more FHS-like pathnames (for packagers).])],
111 [dnl detect if the user appears to want --enable-fhs-paths
112 AS_IF([test "$libexecdir" = '${exec_prefix}/libexec' && \
113 test "$localstatedir" = '${prefix}/var' && \
114 test "$libdir" = '${exec_prefix}/lib'],
115 [enable_fhs_paths=no],
116 [enable_fhs_paths=yes])
118 dnl use directory structure of cached as default (hack)
119 AS_IF([test "x$enable_fhs_paths" = "xyes"],
120 [dnl Avoid name collisions.
121 pkglibexecdir='${libexecdir}/${PACKAGE_TARNAME}'
122 rundir=${rundir-'${prefix}/run'}
123 pkgrundir='${rundir}/${PACKAGE_TARNAME}'
124 pkglocalstatedir='${localstatedir}/${PACKAGE_TARNAME}'],
125 [libexecdir='${bindir}'
126 pkglibexecdir='${libexecdir}'
127 rundir='${sysconfdir}'
128 pkgrundir='${rundir}'
129 localstatedir='${prefix}'
130 pkglocalstatedir='${sysconfdir}'])
131 pkglibdir='${libdir}/${PACKAGE_TARNAME}'
132 AC_SUBST([pkglibdir])
134 AC_SUBST([pkgrundir])
135 AC_SUBST([pkglocalstatedir])
136 AC_DEFINE_DIR([PKGLOCALSTATEDIR], [pkglocalstatedir], [[Directory in which to store state, such as ban database]])
137 AC_SUBST([pkglibexecdir])
138 AC_DEFINE_DIR([PKGLIBEXECDIR], [pkglibexecdir], [Directory where binaries the IRCd itself spawns live])
140 dnl Checks for header files.
144 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])
146 dnl Stuff that the memory manager (imalloc) depends on
147 dnl ==================================================
150 if test "$ac_cv_header_machine_endian_h" = "no" ; then
155 AC_CHECK_SIZEOF(short)
157 AC_CHECK_SIZEOF(long)
158 AC_CHECK_SIZEOF(long long)
160 dnl Networking Functions
161 dnl ====================
163 AC_SEARCH_LIBS(socket, [socket ws2_32], , [AC_MSG_ERROR([You have no socket()! Aborting.])])
165 dnl SunOS/Solaris required libnsl for inet_ntoa()
166 if test x"$SUN" = xyes; then
167 AC_SEARCH_LIBS(inet_ntoa, nsl,, [AC_MSG_ERROR([libnsl not found! Aborting.])])
170 AC_CHECK_TYPE(socklen_t, ,
171 [AC_DEFINE([socklen_t], [unsigned int],
172 [If we don't have a real socklen_t, unsigned int is good enough.])],
173 [#include <sys/types.h>
174 #include <sys/socket.h>])
177 AC_HELP_STRING([--enable-ipv6],[Enable IPv6 support]),[ipv6=$enableval],[ipv6=no])
179 AC_SEARCH_LIBS(crypt, [crypt descrypt],,)
181 CRYPT_LIB=$ac_cv_search_crypt
183 if test "$CRYPT_LIB" = "none required"; then
185 elif test "$CRYPT_LIB" = no; then
193 dnl Check for stdarg.h - if we can't find it, halt configure
194 AC_CHECK_HEADER(stdarg.h, , [AC_MSG_ERROR([** stdarg.h could not be found - charybdis will not compile without it **])])
195 AC_CHECK_FUNCS([strlcat strlcpy])
197 AC_CHECK_TYPE([u_int32_t], [],
199 AC_CHECK_TYPE([uint32_t],
201 AC_DEFINE(u_int32_t, [uint32_t], [If system does not define u_int32_t, define a reasonable substitute.])
204 AC_MSG_WARN([system has no u_int32_t or uint32_t, default to unsigned long int])
205 AC_DEFINE(u_int32_t, [unsigned long int], [If system does not define u_int32_t, define to unsigned long int here.])
209 AC_CHECK_TYPE([u_int16_t], [],
211 AC_CHECK_TYPE([uint16_t],
213 AC_DEFINE(u_int16_t, [uint16_t], [If system does not define u_int16_t, define a usable substitute])
216 AC_MSG_WARN([system has no u_int16_t or uint16_t, default to unsigned short int])
217 AC_DEFINE(u_int16_t, [unsigned short int], [If system does not define u_int16_t, define a usable substitute.])
221 AC_CHECK_TYPE([in_port_t], [],
222 [AC_DEFINE(in_port_t, [u_int16_t], [If system does not define in_port_t, define it to what it should be.])],
223 [[#include <sys/types.h>
224 #include <netinet/in.h>]])
226 AC_CHECK_TYPE([sa_family_t], [],
227 [AC_DEFINE(sa_family_t, [u_int16_t], [If system does not define sa_family_t, define it here.])],
228 [[#include <sys/types.h>
229 #include <sys/socket.h>]])
231 AC_CHECK_TYPES([uintptr_t])
233 dnl check for various functions...
234 AC_CHECK_FUNCS([snprintf vsnprintf socketpair mmap gettimeofday strdup strndup ])
238 dnl Specialized functions checks
239 dnl ============================
241 dnl check for nanosleep
242 AC_CHECK_FUNC(nanosleep,,[AC_CHECK_LIB(rt,nanosleep,
244 [AC_CHECK_LIB(posix4,nanosleep, LIBS="${LIBS} -lposix4"
246 if test x$ac_cv_func_nanosleep = xno && test x$ac_cv_lib_posix4_nanosleep = xno && test x$ac_cv_lib_rt_nanosleep = xno
248 AC_MSG_RESULT("nanosleep not found..using select for delay")
250 AC_DEFINE([HAVE_NANOSLEEP], 1, [Define if nanosleep exists])
254 AC_MSG_CHECKING(for OpenSSL)
255 AC_ARG_ENABLE(openssl,
256 [AC_HELP_STRING([--enable-openssl[=DIR]],[Enable OpenSSL support (DIR optional).])
257 AC_HELP_STRING([--disable-openssl],[Disable OpenSSL support.])],
258 [cf_enable_openssl=$enableval],
259 [cf_enable_openssl="auto"])
261 if test "$cf_enable_openssl" != "no" ; then
262 cf_openssl_basedir=""
263 if test "$cf_enable_openssl" != "auto" &&
264 test "$cf_enable_openssl" != "yes" ; then
265 dnl Support for --enable-openssl=/some/place
266 cf_openssl_basedir="`echo ${cf_enable_openssl} | sed 's/\/$//'`"
268 dnl Do the auto-probe here. Check some common directory paths.
269 for dirs in /usr/local/ssl /usr/pkg /usr/local \
270 /usr/local/openssl ; do
271 if test -f "${dirs}/include/openssl/opensslv.h" ; then
272 cf_openssl_basedir="${dirs}"
278 dnl Now check cf_openssl_found to see if we found anything.
279 if test ! -z "$cf_openssl_basedir"; then
280 if test -f "${cf_openssl_basedir}/include/openssl/opensslv.h" ; then
281 SSL_INCLUDES="-I${cf_openssl_basedir}/include"
282 SSL_LIBS="-L${cf_openssl_basedir}/lib"
284 dnl OpenSSL wasn't found in the directory specified. Naughty
286 cf_openssl_basedir=""
289 dnl Check for stock FreeBSD 4.x and 5.x systems, since their files
290 dnl are in /usr/include and /usr/lib. In this case, we don't want to
291 dnl change INCLUDES or LIBS, but still want to enable OpenSSL.
292 dnl We can't do this check above, because some people want two versions
293 dnl of OpenSSL installed (stock FreeBSD 4.x/5.x and /usr/local/ssl)
294 dnl and they want /usr/local/ssl to have preference.
295 if test -f "/usr/include/openssl/opensslv.h" ; then
296 cf_openssl_basedir="/usr"
300 dnl If we have a basedir defined, then everything is okay. Otherwise,
301 dnl we have a problem.
302 if test ! -z "$cf_openssl_basedir"; then
303 AC_MSG_RESULT($cf_openssl_basedir)
304 cf_enable_openssl="yes"
306 AC_MSG_RESULT([not found. Specify a correct path?])
307 cf_enable_openssl="no"
309 unset cf_openssl_basedir
311 dnl If --disable-openssl was specified
312 AC_MSG_RESULT(disabled)
315 save_CPPFLAGS="$CPPFLAGS"
316 CPPFLAGS="$CPPFLAGS $SSL_INCLUDES"
318 LIBS="$LIBS $SSL_LIBS"
319 if test "$cf_enable_openssl" != no; then
320 dnl Check OpenSSL version (must be 0.9.6 or above!)
321 AC_MSG_CHECKING(for OpenSSL 0.9.6 or above)
324 [#include <openssl/opensslv.h>
325 #include <stdlib.h>],
326 [[if ( OPENSSL_VERSION_NUMBER >= 0x00906000)
327 exit(0); else exit(1);]])],
328 cf_openssl_version_ok=yes,
329 cf_openssl_version_ok=no,
330 cf_openssl_version_ok=no)
332 if test "$cf_openssl_version_ok" = yes; then
335 dnl Work around pmake/gmake conditional incompatibilities
336 AC_SUBST(ENCSPEED, encspeed)
338 dnl Do all the HAVE_LIBCRYPTO magic -- and check for ciphers
339 CPPFLAGS="$CPPFLAGS $SSL_LIBS"
340 AC_CHECK_LIB(crypto, RSA_free)
341 SSL_LIBS="$SSL_LIBS -lcrypto"
342 SSL_SRCS_ENABLE='$(SSL_SRCS)'
344 AC_MSG_RESULT(no - OpenSSL support disabled)
348 CPPFLAGS="$save_CPPFLAGS"
351 dnl End OpenSSL detection
354 dnl Specialized functions and libraries
355 dnl ===================================
357 AC_ARG_WITH(zlib-path,
358 AC_HELP_STRING([--with-zlib-path=DIR],[Path to libz.so for ziplinks support.]),
359 [LIBS="$LIBS -L$withval"],)
362 AC_HELP_STRING([--disable-zlib],[Disable ziplinks support]),
363 [zlib=$enableval],[zlib=yes])
365 if test "$zlib" = yes; then
367 AC_CHECK_HEADER(zlib.h, [
368 AC_CHECK_LIB(z, zlibVersion,
370 AC_SUBST(ZLIB_LD, -lz)
371 AC_DEFINE(HAVE_LIBZ, 1, [Define to 1 if zlib (-lz) is available.])
377 dnl Check for shared sqlite
378 dnl ======================
379 AC_ARG_WITH(shared-sqlite,
380 AC_HELP_STRING([--with-shared-sqlite],[Use shared sqlite]),
381 [shared_sqlite=$withval],[shared_sqlite=no])
383 if test "$shared_sqlite" = yes; then
384 PKG_CHECK_MODULES(SQLITE, [sqlite3],
390 if test "$shared_sqlite" = no; then
391 SQLITE_OBJ='sqlite3.$(OBJEXT)'
394 AC_SUBST(SQLITE_LD, "$SQLITE_LIBS")
395 AC_SUBST(SQLITE_INCLUDES, "$SQLITE_CFLAGS")
398 dnl **********************************************************************
399 dnl Check for --with-confdir [deprecated, use --sysconfdir instead]
400 dnl **********************************************************************
402 AC_ARG_WITH([confdir],
403 [AC_HELP_STRING([--with-confdir=DIR],
404 [Directory to install config files [deprecated, use --sysconfdir instead].])],
405 [ sysconfdir=`echo $withval | sed 's/\/$//'` ],
406 [ confdir='${sysconfdir}' ])
407 AC_DEFINE_DIR([ETC_DIR], [sysconfdir], [Prefix where config files are installed.])
409 dnl **********************************************************************
410 dnl Check for --with-logdir
411 dnl **********************************************************************
413 AC_MSG_CHECKING([whether to modify logdir])
415 AC_HELP_STRING([--with-logdir=DIR],
416 [Directory where to write logfiles.]),
417 [ logdir=`echo $withval | sed 's/\/$//'`
419 [ AS_IF([test "x$enable_fhs_paths" = "xyes"],
420 [logdir='${localstatedir}/log/${PACKAGE_TARNAME}'],
421 [logdir='${prefix}/logs'])
423 AC_DEFINE_DIR([LOG_DIR], [logdir], [Prefix where to write logfiles.])
424 AC_SUBST_DIR([logdir])
426 dnl **********************************************************************
427 dnl Check for --with-helpdir
428 dnl **********************************************************************
430 AC_MSG_CHECKING([whether to modify helpdir])
432 AC_HELP_STRING([--with-helpdir=DIR],
433 [Directory to install help files.]),
434 [ helpdir=`echo $withval | sed 's/\/$//'`
435 AC_MSG_RESULT(yes) ],
436 [ AS_IF([test "x$enable_fhs_paths" = "xyes"],
437 [helpdir='${datadir}/${PACKAGE_TARNAME}/help'],
438 [helpdir='${prefix}/help'])
440 AC_DEFINE_DIR([HELP_DIR], [helpdir], [Prefix where help files are installed.])
441 AC_SUBST_DIR([helpdir])
443 dnl **********************************************************************
444 dnl Check for --with-moduledir
445 dnl **********************************************************************
447 AC_MSG_CHECKING([whether to modify moduledir])
448 AC_ARG_WITH(moduledir,
449 [AC_HELP_STRING([--with-moduledir=DIR],
450 [Directory to install modules.])],
451 [ moduledir=`echo $withval | sed 's/\/$//'`
453 [ AS_IF([test "x$enable_fhs_paths" = "xyes"],
454 [moduledir='${pkglibdir}/modules'],
455 [moduledir='${prefix}/modules'])
458 AC_DEFINE_DIR(MODULE_DIR, moduledir, [Prefix where modules are installed.])
459 AC_SUBST_DIR([moduledir])
461 dnl Check for --with-rundir
463 AC_MSG_CHECKING([whether or modify rundir])
464 AC_ARG_WITH([rundir],
465 [AC_HELP_STRING([--with-rundir=DIR],
466 [Directory in which to store pidfile.])],
467 [AC_MSG_RESULT([yes])
468 rundir=`echo $withval | sed 's/\/$//'`],
470 AS_IF([test "x$enable_fhs_paths" = "xyes"],
471 [rundir='${prefix}/run'],
472 [rundir='${sysconfdir}'])])
474 AC_DEFINE_DIR([PKGRUNDIR], [pkgrundir], [Directory to store pidfile in.])
476 dnl Installed utility program prefixes (does not affect binaries
477 dnl installed into pkglibexecdir)
478 AC_MSG_CHECKING([for program prefix])
479 AC_ARG_WITH([program-prefix],
480 [AS_HELP_STRING([--with-program-prefix=], [If set, programs installed into PATH will be installed with names prefixed by this prefix.])],
481 [test "x$with_program_prefix" = "xno" && with_program_prefix=],
482 [with_program_prefix=])
483 AC_MSG_RESULT(["$with_program_prefix"])
484 PROGRAM_PREFIX="$with_program_prefix"
485 AC_SUBST([PROGRAM_PREFIX])
486 AC_DEFINE_UNQUOTED([PROGRAM_PREFIX], ["$with_program_prefix"], [String with which all programs intended to be in PATH are prefixed.])
488 dnl **********************************************************************
490 dnl **********************************************************************
492 AC_MSG_CHECKING([whether custom branding is requested])
493 AC_ARG_WITH(custom-branding,
494 AC_HELP_STRING([--with-custom-branding=NAME],
495 [Custom branding name.]),
496 [BRANDING_NAME=$withval
497 AC_MSG_RESULT([yes])],
498 [BRANDING_NAME=$PACKAGE_NAME
502 AC_MSG_CHECKING([whether a custom version is requested])
503 AC_ARG_WITH(custom-version,
504 AC_HELP_STRING([--with-custom-version=NAME],
505 [Custom version branding.]),
506 [BRANDING_VERSION=$withval
507 AC_MSG_RESULT([yes])],
508 [BRANDING_VERSION=$PACKAGE_VERSION
512 AC_DEFINE_UNQUOTED(BRANDING_NAME, ["$BRANDING_NAME"], [Custom branding name.])
513 AC_DEFINE_UNQUOTED(BRANDING_VERSION, ["$BRANDING_VERSION"], [Custom branding name.])
515 if test "x$BRANDING_NAME" != "x$PACKAGE_NAME"; then
516 AC_DEFINE(CUSTOM_BRANDING, 1, [Define if custom branding is enabled.])
519 dnl **********************************************************************
520 dnl Enable oper chghost
521 dnl **********************************************************************
523 AC_ARG_ENABLE(oper-chghost,
524 AC_HELP_STRING([--enable-oper-chghost],[Enable opers to use the CHGHOST command]),
525 [operchghost=$enableval],[operchghost=no])
527 if test "$operchghost" = yes; then
528 AC_DEFINE(ENABLE_OPER_CHGHOST, 1, [Define this to enable opers to use the CHGHOST command.])
531 dnl Debug-related options
532 dnl =====================
534 AC_ARG_ENABLE(assert,
535 AC_HELP_STRING([--enable-assert],[Enable assert(). Choose between soft(warnings) and hard(aborts the daemon)]),
536 [assert=$enableval], [assert=no])
538 if test "$assert" = no; then
539 AC_DEFINE(NDEBUG, 1, [Define this to disable debugging support.])
540 elif test "$assert" = soft; then
541 AC_DEFINE(SOFT_ASSERT, 1, [Define this to enable soft asserts.])
542 AC_DEFINE(NDEBUG, 1, [Define this to disable debugging support.])
543 elif test "$assert" = yes; then
547 AC_MSG_CHECKING(if you want to do a profile build)
548 AC_ARG_ENABLE(profile,
549 AC_HELP_STRING([--enable-profile],[Enable profiling]),
550 [profile=$enableval], [profile=no])
552 if test "$profile" = yes; then
553 if test "$ac_cv_c_compiler_gnu" = yes; then
554 IRC_CFLAGS="$IRC_CFLAGS -pg"
555 AC_MSG_RESULT([yes, adding -pg])
556 AC_DEFINE(CHARYBDIS_PROFILE, 1, [Define this if you are profiling.])
558 AC_MSG_RESULT([no, profile builds only work with gcc])
564 AC_DEFINE([NICKNAMEHISTORYLENGTH], 15000, [Size of the WHOWAS array.])
565 AC_DEFINE([CHANNEL_HEAP_SIZE], 8192, [Size of the channel heap.])
566 AC_DEFINE([BAN_HEAP_SIZE], 4096, [Size of the ban heap.])
567 AC_DEFINE([CLIENT_HEAP_SIZE], 8192, [Size of the client heap.])
568 AC_DEFINE([LCLIENT_HEAP_SIZE], 1024, [Size of the local client heap.])
569 AC_DEFINE([PCLIENT_HEAP_SIZE], 256, [Size of the pre-client heap.])
570 AC_DEFINE([USER_HEAP_SIZE], 8192, [Size of the user heap.])
571 AC_DEFINE([DNODE_HEAP_SIZE], 8192, [Size of the dlink_node heap.])
572 AC_DEFINE([TOPIC_HEAP_SIZE], 4096, [Size of the topic heap.])
573 AC_DEFINE([LINEBUF_HEAP_SIZE], 2048, [Size of the linebuf heap.])
574 AC_DEFINE([MEMBER_HEAP_SIZE], 32768, [Sizeof member heap.])
575 AC_DEFINE([ND_HEAP_SIZE], 512, [Size of the nick delay heap.])
576 AC_DEFINE([CONFITEM_HEAP_SIZE], 256, [Size of the confitem heap.])
577 AC_DEFINE([MONITOR_HEAP_SIZE], 1024, [Size of the monitor heap.])
578 AC_DEFINE([FD_HEAP_SIZE], 1024, [Size of fd heap.])
579 AC_DEFINE([AWAY_HEAP_SIZE], 512, [Size of away heap.])
582 AC_HELP_STRING([--with-nicklen=LENGTH],[Set the upper-bound nick length to LENGTH (default 31, max 50)]),
584 if ! expr "$withval" + 0 >/dev/null 2>&1; then
585 AC_ERROR([NICKLEN must be a numeric value])
587 if test $withval -gt 50; then
589 AC_MSG_WARN([NICKLEN has a hard limit of 50. Setting NICKLEN=50])
590 elif test $withval -lt 9; then
592 AC_MSG_WARN([NICKLEN has a lower limit of 9. Setting NICKLEN=9])
598 AC_ARG_WITH(topiclen,
599 AC_HELP_STRING([--with-topiclen=NUMBER],[Set the max topic length to NUMBER (default 390, max 390)]),
601 if test $withval -gt 390; then
603 AC_MSG_WARN([TOPICLEN has a hard limit of 390. Setting TOPICLEN=390])
609 AC_DEFINE_UNQUOTED(TOPICLEN, ${TOPICLEN}, [Maximum topic length (<=390)])
610 AC_DEFINE_UNQUOTED(NICKLEN, (${NICKLEN}+1), [Nickname length])
612 # rpath, for finding librb.so at run time
613 hold_ldflags=$LDFLAGS
614 AC_MSG_CHECKING(for the ld -rpath flag)
615 LDFLAGS="${LDFLAGS} -Wl,-rpath=${libdir}"
616 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[int i;])], found=yes, found=no)
617 LDFLAGS=$hold_ldflags
618 AC_MSG_RESULT($found)
619 if test "$found" = yes; then
620 LDFLAGS="${LDFLAGS} -Wl,-rpath=\${libdir}"
623 # This must be down here, or it will mess up checks like the ones
624 # for -Wl,-export-dynamic
627 AC_ARG_ENABLE(warnings,
628 AC_HELP_STRING([--enable-warnings],[Enable all sorts of warnings for debugging.]),
630 IRC_CFLAGS="$IRC_CFLAGS -O0"
633 CHARYBDIS_C_GCC_TRY_FLAGS([-Wall], charybdis_cv_c_gcc_w_all)
634 CHARYBDIS_C_GCC_TRY_FLAGS([-Wpointer-arith], charybdis_cv_c_gcc_w_pointer_arith)
635 CHARYBDIS_C_GCC_TRY_FLAGS([-Wimplicit -Wnested-externs], charybdis_cv_c_gcc_w_implicit)
636 CHARYBDIS_C_GCC_TRY_FLAGS([-Wcast-align], charybdis_cv_c_gcc_w_cast_align)
637 CHARYBDIS_C_GCC_TRY_FLAGS([-Wcast-qual], charybdis_cv_c_gcc_w_cast_qual)
638 CHARYBDIS_C_GCC_TRY_FLAGS([-Wwrite-strings], charybdis_cv_c_gcc_w_write_strings)
639 CHARYBDIS_C_GCC_TRY_FLAGS([-Werror-implicit-function-declaration], charybdis_cv_c_gcc_w_error_implicit_function_declaration)
640 CHARYBDIS_C_GCC_TRY_FLAGS([-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations], charybdis_cv_c_gcc_prototypes)
641 CHARYBDIS_C_GCC_TRY_FLAGS([-Wparenthesis], charybdis_cv_c_gcc_parenthesis)
642 CHARYBDIS_C_GCC_TRY_FLAGS([-W -Wno-unused], charybdis_cv_c_gcc_w)
643 CHARYBDIS_C_GCC_TRY_FLAGS([-Wextra], charybdis_cv_c_gcc_w_extra)
644 CHARYBDIS_C_GCC_TRY_FLAGS([-Wshadow], charybdis_cv_c_gcc_w_shadow)
645 CHARYBDIS_C_GCC_TRY_FLAGS([-Wmissing-noreturn], charybdis_cv_c_gcc_w_missing_noreturn)
646 CHARYBDIS_C_GCC_TRY_FLAGS([-Wundef], charybdis_cv_c_gcc_w_undef)
647 CHARYBDIS_C_GCC_TRY_FLAGS([-Wpacked], charybdis_cv_c_gcc_w_packed)
648 CHARYBDIS_C_GCC_TRY_FLAGS([-Wnested-externs], charybdis_cv_c_gcc_w_nested_externs)
649 CHARYBDIS_C_GCC_TRY_FLAGS([-Wunused-function -Wunused-label -Wunused-value -Wunused-variable], charybdis_cv_c_gcc_w_unused)
650 CHARYBDIS_C_GCC_TRY_FLAGS([-Wredundant-decls], charybdis_cv_c_gcc_w_redundant_decls)
651 CHARYBDIS_C_GCC_TRY_FLAGS([-Wfloat-equal], charybdis_cv_c_gcc_w_float_equal)
652 CHARYBDIS_C_GCC_TRY_FLAGS([-Wformat -Wformat-y2k -Wno-format-security], charybdis_cv_c_gcc_w_format)
657 IRC_CFLAGS="$IRC_CFLAGS $CWARNS"
659 AC_SUBST(MODULES_LIBS)
662 AC_SUBST(SSL_SRCS_ENABLE)
663 AC_SUBST(SSL_INCLUDES)
672 if test "$prefix" = "NONE"; then
673 AC_DEFINE_UNQUOTED(IRCD_PREFIX, "$ac_default_prefix", [Prefix where the ircd is installed.])
677 dnl Don't get bitten by Cygwin's stupidity if the user specified
678 dnl a custom prefix with a trailing slash
680 prefix=`echo $prefix | sed 's/\/$//'`
681 AC_DEFINE_UNQUOTED(IRCD_PREFIX, "$prefix", [Prefix where the ircd is installed.])
690 extensions/Makefile \
698 AC_CONFIG_COMMANDS([tools/genssl_chmod], [chmod 755 tools/genssl])
702 if test "$cf_openssl_version_ok" = yes; then
709 Configuration of ${BRANDING_NAME}-${BRANDING_VERSION}:
710 Install directory : $prefix
715 Nickname length : $NICKLEN
716 Topic length : $TOPICLEN
718 Use (g)make to compile $BRANDING_NAME, then (g)make install to install it.