/[svn]/ircd-hybrid/trunk/configure.ac
ViewVC logotype

Contents of /ircd-hybrid/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1751 - (show annotations)
Wed Jan 16 18:30:52 2013 UTC (7 years, 5 months ago) by michael
File size: 6364 byte(s)
- Forward-port -r1750 [IMPORTANT: nick and topic lengths are now configurable
  via ircd.conf. A max_nick_length, as well as a max_topic_length configuration
  option can now be found in the serverinfo{} block]
- OpenSSL 0.9.8s and higher is now required in order to enable ssl support

1 # Inspired by work Copyright (C) 2006 Luca Filipozzi
2 # vim: set fdm=marker ts=2 sw=2 et:
3
4 AC_REVISION([$Id$])
5
6 AC_PREREQ(2.69)
7 AC_INIT([ircd-hybrid], [TRUNK], [bugs@ircd-hybrid.org])
8 AM_INIT_AUTOMAKE(1.13.1)
9 AM_MAINTAINER_MODE
10 AC_CONFIG_HEADER(config.h)
11 AC_CONFIG_SRCDIR(src/ircd.c)
12
13 # Checks for programs.
14 AC_PROG_CC_C99
15 AS_IF([test "$ac_cv_prog_cc_c99" = "no"],
16 [AC_MSG_ERROR([no suitable C99 compiler found. Aborting.])])
17 AC_PROG_YACC
18 AM_PROG_LEX
19 AC_PROG_INSTALL
20
21 # Initializing libtool.
22 LT_CONFIG_LTDL_DIR([libltdl])
23 LT_INIT([dlopen disable-static])
24 LTDL_INIT([recursive convenience])
25 LIBTOOL="$LIBTOOL --silent"
26
27 # Checks for libraries.
28 AX_CHECK_LIB_IPV4
29 AX_CHECK_LIB_IPV6
30
31 # Checks for typedefs, structures, and compiler characteristics.
32 AC_C_BIGENDIAN
33
34 # Checks for library functions.
35 AC_CHECK_FUNCS_ONCE(strtok_r \
36 usleep \
37 strlcat \
38 strlcpy)
39
40 # Checks for header files.
41 AC_CHECK_HEADERS_ONCE(crypt.h \
42 sys/resource.h \
43 sys/param.h \
44 types.h \
45 socket.h \
46 sys/wait.h \
47 wait.h)
48
49 AC_SEARCH_LIBS(crypt, crypt)
50
51 AC_ARG_ENABLE(libpcre,
52 [AS_HELP_STRING([--disable-libpcre],[Disable PCRE support])], [],
53 [AC_CHECK_HEADER(pcre.h,
54 [AC_SEARCH_LIBS(pcre_study, pcre,
55 [AC_DEFINE(HAVE_LIBPCRE, 1, [Define to 1 if libpcre (-lpcre) is available.])])])], [])
56
57 dnl Openssl checks
58 AC_ARG_ENABLE(openssl,
59 [ --enable-openssl[=DIR] Enable OpenSSL support (DIR optional).
60 --disable-openssl Disable OpenSSL support. ],
61 [ cf_enable_openssl=$enableval ],
62 [ cf_enable_openssl="auto" ])
63 AC_MSG_CHECKING([for OpenSSL])
64 if test "$cf_enable_openssl" != "no"; then
65 cf_openssl_basedir=""
66 if test "$cf_enable_openssl" != "auto" &&
67 test "$cf_enable_openssl" != "yes"; then
68 dnl Support for --enable-openssl=/some/place
69 cf_openssl_basedir="${cf_enable_openssl}"
70 else
71 dnl Do the auto-probe here. Check some common directory paths.
72 for dirs in /usr/local/ssl /usr/pkg /usr/local /usr/lib /usr/lib/ssl\
73 /opt /opt/openssl /usr/local/openssl; do
74 if test -f "${dirs}/include/openssl/opensslv.h"; then
75 cf_openssl_basedir="${dirs}"
76 break
77 fi
78 done
79 unset dirs
80 fi
81
82 dnl Now check cf_openssl_found to see if we found anything.
83 if test ! -z "$cf_openssl_basedir"; then
84 if test -f "${cf_openssl_basedir}/include/openssl/opensslv.h"; then
85 CPPFLAGS="-I${cf_openssl_basedir}/include $CPPFLAGS"
86 LDFLAGS="-L${cf_openssl_basedir}/lib $LDFLAGS"
87 else
88 dnl OpenSSL wasn't found in the directory specified. Naughty
89 dnl administrator...
90 cf_openssl_basedir=""
91 fi
92 else
93 dnl Check for stock FreeBSD 4.x and 5.x systems, since their files
94 dnl are in /usr/include and /usr/lib. In this case, we don't want to
95 dnl change INCLUDES or LIBS, but still want to enable OpenSSL.
96 dnl We can't do this check above, because some people want two versions
97 dnl of OpenSSL installed (stock FreeBSD 4.x/5.x and /usr/local/ssl)
98 dnl and they want /usr/local/ssl to have preference.
99 if test -f "/usr/include/openssl/opensslv.h"; then
100 cf_openssl_basedir="/usr"
101 fi
102 fi
103
104 dnl If we have a basedir defined, then everything is okay. Otherwise,
105 dnl we have a problem.
106 if test ! -z "$cf_openssl_basedir"; then
107 AC_MSG_RESULT([$cf_openssl_basedir])
108 cf_enable_openssl="yes"
109 else
110 AC_MSG_RESULT([not found. Please check your path.])
111 cf_enable_openssl="no"
112 fi
113 unset cf_openssl_basedir
114 else
115 dnl If --disable-openssl was specified
116 AC_MSG_RESULT([disabled])
117 fi
118
119 AS_IF([test "$cf_enable_openssl" != "no"],
120 [AC_MSG_CHECKING(for OpenSSL 0.9.8s or above)
121 AC_RUN_IFELSE([
122 AC_LANG_PROGRAM([
123 #include <openssl/opensslv.h>
124 #include <stdlib.h>],
125 [[ exit(!(OPENSSL_VERSION_NUMBER >= 0x0090813f)); ]])],
126 [cf_openssl_version_ok=yes],
127 [cf_openssl_version_ok=no],
128 [cf_openssl_version_ok=no])
129
130 AS_IF([test "$cf_openssl_version_ok" = "yes"],
131 [AC_MSG_RESULT(found)
132
133 AC_CHECK_LIB(crypto, RSA_free)
134 AS_IF([test "$ac_cv_lib_crypto_RSA_free" = "yes"],
135 [AC_CHECK_LIB(ssl, SSL_connect)])
136 ],[AC_MSG_RESULT(no - OpenSSL support disabled)
137 cf_enable_openssl="no"])])
138
139 AM_CONDITIONAL(ENABLE_SSL, [test "$ac_cv_lib_ssl_SSL_connect" = yes])
140
141
142 AC_ARG_ENABLE(assert, AS_HELP_STRING([--enable-assert],
143 [Enable assert() statements]),
144 [assert=$enableval], [assert=no])
145
146 AS_IF([test "$assert" = "no"],
147 [AC_DEFINE(NDEBUG, 1, [Define to disable assert() statements.])])
148
149
150 AC_DEFINE([NICKNAMEHISTORYLENGTH], 16384, [Size of the WHOWAS array.])
151 AC_DEFINE([MP_CHUNK_SIZE_CHANNEL], 64*1024, [Size of the channel mempool chunk.])
152 AC_DEFINE([MP_CHUNK_SIZE_MEMBER], 32*1024, [Size of the channel mempool chunk.])
153 AC_DEFINE([MP_CHUNK_SIZE_BAN], 16*1024, [Size of the ban mempool chunk.])
154 AC_DEFINE([MP_CHUNK_SIZE_CLIENT], 256*1024, [Size of the client mempool chunk.])
155 AC_DEFINE([MP_CHUNK_SIZE_LCLIENT], 128*1024, [Size of the local client mempool chunk.])
156 AC_DEFINE([MP_CHUNK_SIZE_DNODE], 8*1024, [Size of the dlink_node mempool chunk.])
157 AC_DEFINE([MP_CHUNK_SIZE_DBUF], 512*1024, [Size of the dbuf mempool chunk.])
158 AC_DEFINE([MP_CHUNK_SIZE_AUTH], 32*1024, [Size of the auth mempool chunk.])
159 AC_DEFINE([MP_CHUNK_SIZE_DNS], 16*1024, [Size of the dns mempool chunk.])
160 AC_DEFINE([MP_CHUNK_SIZE_WATCH], 4*1024, [Size of the watch mempool chunk.])
161
162 # Argument processing.
163 AX_ARG_ENABLE_IOLOOP_MECHANISM
164 AX_ARG_ENABLE_HALFOPS
165 AX_ARG_ENABLE_DEBUGGING
166 AX_ARG_ENABLE_WARNINGS
167
168 AC_DEFINE_DIR([PREFIX],[prefix],[Set to prefix.])
169 AC_DEFINE_DIR([SYSCONFDIR],[sysconfdir],[Set to sysconfdir.])
170 AC_DEFINE_DIR([LIBDIR],[libdir],[Set to libdir.])
171 AC_DEFINE_DIR([DATADIR],[datadir],[Set to datadir.])
172 AC_DEFINE_DIR([LOCALSTATEDIR],[localstatedir],[Set to localstatedir.])
173
174 AC_CONFIG_FILES( \
175 Makefile \
176 src/Makefile \
177 libltdl/Makefile \
178 messages/Makefile \
179 modules/Makefile \
180 modules/core/Makefile \
181 doc/Makefile \
182 help/Makefile \
183 help/opers/Makefile \
184 help/users/Makefile \
185 tools/Makefile)
186
187 AC_OUTPUT

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision

svnadmin@ircd-hybrid.org
ViewVC Help
Powered by ViewVC 1.1.28