ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid-8/configure.ac
Revision: 1310
Committed: Mon Mar 26 15:45:02 2012 UTC (12 years ago) by michael
Content type: application/pkix-attr-cert
File size: 8024 byte(s)
Log Message:
- move example configuration files to doc/ folder

File Contents

# Content
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.68)
7 AC_INIT([ircd-hybrid], [8beta1], [bugs@ircd-hybrid.org])
8 AM_INIT_AUTOMAKE(1.11.3)
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 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(mmap \
36 strtok_r \
37 usleep \
38 strlcat \
39 strlcpy \
40 socketpair)
41
42 # Checks for header files.
43 AC_CHECK_HEADERS_ONCE(crypt.h \
44 inttypes.h \
45 stdint.h \
46 sys/resource.h \
47 sys/param.h \
48 errno.h \
49 sys/syslog.h \
50 types.h \
51 socket.h \
52 sys/wait.h \
53 wait.h \
54 link.h)
55
56 # check for /dev/null so we can use it to hold evil fd's
57 AC_MSG_CHECKING([for /dev/null])
58 AS_IF([test -c /dev/null], [
59 AC_DEFINE(PATH_DEVNULL, "/dev/null", [Path to /dev/null])
60 AC_MSG_RESULT([yes])], [
61 AC_DEFINE(PATH_DEVNULL, "devnull.log", [Path to /dev/null])
62 AC_MSG_RESULT([no - using devnull.log])])
63
64
65 AC_SEARCH_LIBS(crypt, crypt)
66
67
68 AC_ARG_WITH(libpcre-path,
69 AS_HELP_STRING([--with-libpcre-path=DIR], [Path to libpcre.so for PCRE support.]),
70 [LDFLAGS="-L$withval $LDFLAGS"],)
71
72 AC_ARG_ENABLE(libpcre, AS_HELP_STRING([--disable-libpcre],[Disable PCRE support]),
73 [libpcre=$enableval],[libpcre=yes])
74
75 AS_IF([test "$libpcre" = "yes"], [
76 AC_CHECK_HEADER(pcre.h, [AC_CHECK_LIB(pcre, pcre_study,
77 [
78 LIBS="-lpcre $LIBS"
79 AC_DEFINE(HAVE_LIBPCRE, 1, [Define to 1 if libpcre (-lpcre) is available.])
80 ], libpcre=no)
81 ], libpcre=no)
82 ])
83 AM_CONDITIONAL(ENABLE_PCRE, [test "$libpcre" = yes])
84
85
86 dnl Openssl checks
87 AC_ARG_ENABLE(openssl,
88 [ --enable-openssl[=DIR] Enable OpenSSL support (DIR optional).
89 --disable-openssl Disable OpenSSL support. ],
90 [ cf_enable_openssl=$enableval ],
91 [ cf_enable_openssl="auto" ])
92 AC_MSG_CHECKING([for OpenSSL])
93 if test "$cf_enable_openssl" != "no"; then
94 cf_openssl_basedir=""
95 if test "$cf_enable_openssl" != "auto" &&
96 test "$cf_enable_openssl" != "yes"; then
97 dnl Support for --enable-openssl=/some/place
98 cf_openssl_basedir="${cf_enable_openssl}"
99 else
100 dnl Do the auto-probe here. Check some common directory paths.
101 for dirs in /usr/local/ssl /usr/pkg /usr/local /usr/lib /usr/lib/ssl\
102 /opt /opt/openssl /usr/local/openssl; do
103 if test -f "${dirs}/include/openssl/opensslv.h"; then
104 cf_openssl_basedir="${dirs}"
105 break
106 fi
107 done
108 unset dirs
109 fi
110
111 dnl Now check cf_openssl_found to see if we found anything.
112 if test ! -z "$cf_openssl_basedir"; then
113 if test -f "${cf_openssl_basedir}/include/openssl/opensslv.h"; then
114 CPPFLAGS="-I${cf_openssl_basedir}/include $CPPFLAGS"
115 LDFLAGS="-L${cf_openssl_basedir}/lib $LDFLAGS"
116 else
117 dnl OpenSSL wasn't found in the directory specified. Naughty
118 dnl administrator...
119 cf_openssl_basedir=""
120 fi
121 else
122 dnl Check for stock FreeBSD 4.x and 5.x systems, since their files
123 dnl are in /usr/include and /usr/lib. In this case, we don't want to
124 dnl change INCLUDES or LIBS, but still want to enable OpenSSL.
125 dnl We can't do this check above, because some people want two versions
126 dnl of OpenSSL installed (stock FreeBSD 4.x/5.x and /usr/local/ssl)
127 dnl and they want /usr/local/ssl to have preference.
128 if test -f "/usr/include/openssl/opensslv.h"; then
129 cf_openssl_basedir="/usr"
130 fi
131 fi
132
133 dnl If we have a basedir defined, then everything is okay. Otherwise,
134 dnl we have a problem.
135 if test ! -z "$cf_openssl_basedir"; then
136 AC_MSG_RESULT([$cf_openssl_basedir])
137 cf_enable_openssl="yes"
138 else
139 AC_MSG_RESULT([not found. Please check your path.])
140 cf_enable_openssl="no"
141 fi
142 unset cf_openssl_basedir
143 else
144 dnl If --disable-openssl was specified
145 AC_MSG_RESULT([disabled])
146 fi
147
148 AS_IF([test "$cf_enable_openssl" != "no"],
149 [AC_MSG_CHECKING(for OpenSSL 0.9.8 or above)
150 AC_RUN_IFELSE([
151 AC_LANG_PROGRAM([
152 #include <openssl/opensslv.h>
153 #include <stdlib.h>],
154 [[ exit(!(OPENSSL_VERSION_NUMBER >= 0x00908000)); ]])],
155 [cf_openssl_version_ok=yes],
156 [cf_openssl_version_ok=no],
157 [cf_openssl_version_ok=no])
158
159 AS_IF([test "$cf_openssl_version_ok" = "yes"],
160 [AC_MSG_RESULT(found)
161
162 AC_CHECK_LIB(ssl, SSL_connect)
163 AS_IF([test "$ac_cv_lib_ssl_SSL_connect" = "yes"],
164 [AC_CHECK_LIB(crypto, RSA_free)])
165 ],[AC_MSG_RESULT(no - OpenSSL support disabled)
166 cf_enable_openssl="no"])])
167
168 AM_CONDITIONAL(ENABLE_SSL, [test "$ac_cv_lib_crypto_RSA_free" = yes])
169
170
171 AC_ARG_ENABLE(assert, AS_HELP_STRING([--enable-assert],
172 [Enable assert() statements]),
173 [assert=$enableval], [assert=no])
174
175 AS_IF([test "$assert" = "no"],
176 [AC_DEFINE(NDEBUG, 1, [Define to disable assert() statements.])])
177
178
179 AC_ARG_ENABLE(small-net, AS_HELP_STRING([--enable-small-net],
180 [Enable small network support.]),
181 [small_net=$enableval], [small_net=no])
182
183 AS_IF([test "$small_net" = "yes"], [
184 AC_DEFINE([NICKNAMEHISTORYLENGTH], 1500, [Size of the WHOWAS array.])
185 AC_DEFINE([CHANNEL_HEAP_SIZE], 256, [Size of the channel heap.])
186 AC_DEFINE([BAN_HEAP_SIZE], 128, [Size of the ban heap.])
187 AC_DEFINE([CLIENT_HEAP_SIZE], 256, [Size of the client heap.])
188 AC_DEFINE([LCLIENT_HEAP_SIZE], 128, [Size of the local client heap.])
189 AC_DEFINE([DNODE_HEAP_SIZE], 256, [Size of the dlink_node heap.])
190 AC_DEFINE([TOPIC_HEAP_SIZE], 256, [Size of the topic heap.])
191 AC_DEFINE([DBUF_HEAP_SIZE], 64, [Size of the dbuf heap.])
192 AC_DEFINE([AUTH_HEAP_SIZE], 128, [Size of the auth heap.])
193 AC_DEFINE([DNS_HEAP_SIZE], 128, [Size of the dns heap.])], [
194
195 AC_DEFINE([NICKNAMEHISTORYLENGTH], 15000, [Size of the WHOWAS array.])
196 AC_DEFINE([CHANNEL_HEAP_SIZE], 1024, [Size of the channel heap.])
197 AC_DEFINE([BAN_HEAP_SIZE], 1024, [Size of the ban heap.])
198 AC_DEFINE([CLIENT_HEAP_SIZE], 1024, [Size of the client heap.])
199 AC_DEFINE([LCLIENT_HEAP_SIZE], 512, [Size of the local client heap.])
200 AC_DEFINE([DNODE_HEAP_SIZE], 1024, [Size of the dlink_node heap.])
201 AC_DEFINE([TOPIC_HEAP_SIZE], 1024, [Size of the topic heap.])
202 AC_DEFINE([DBUF_HEAP_SIZE], 512, [Size of the dbuf heap.])
203 AC_DEFINE([AUTH_HEAP_SIZE], 512, [Size of the auth heap.])
204 AC_DEFINE([DNS_HEAP_SIZE], 512, [Size of the dns heap.])])
205
206
207 # Argument processing.
208 AX_ARG_ENABLE_IOLOOP_MECHANISM
209 AX_ARG_WITH_NICKLEN
210 AX_ARG_WITH_TOPICLEN
211 AX_ARG_ENABLE_EFNET
212 AX_ARG_ENABLE_HALFOPS
213 AX_ARG_ENABLE_DEBUGGING
214 AX_ARG_ENABLE_WARNINGS
215
216 AC_DEFINE_DIR([PREFIX],[prefix],[Set to prefix.])
217 AC_DEFINE_DIR([SYSCONFDIR],[sysconfdir],[Set to sysconfdir.])
218 AC_DEFINE_DIR([LIBDIR],[libdir],[Set to libdir.])
219 AC_DEFINE_DIR([DATADIR],[datadir],[Set to datadir.])
220 AC_DEFINE_DIR([LOCALSTATEDIR],[localstatedir],[Set to localstatedir.])
221
222 AC_CONFIG_FILES( \
223 Makefile \
224 contrib/Makefile \
225 contrib/help/Makefile \
226 src/Makefile \
227 libltdl/Makefile \
228 messages/Makefile \
229 modules/Makefile \
230 modules/core/Makefile \
231 doc/Makefile \
232 help/Makefile \
233 help/opers/Makefile \
234 help/users/Makefile \
235 tools/Makefile)
236
237 AC_OUTPUT

Properties

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