ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/configure.ac
Revision: 1654
Committed: Fri Nov 16 19:39:37 2012 UTC (11 years, 5 months ago) by michael
Content type: application/pkix-attr-cert
File size: 6499 byte(s)
Log Message:
- Implemented memory pool allocator which basically is taken from Tor's
  mempool allocator for Tor cells
- Fixed compile warnings in conf_class.c
- ./configure --enable-assert works again

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.69)
7 AC_INIT([ircd-hybrid], [8.0.0], [bugs@ircd-hybrid.org])
8 AM_INIT_AUTOMAKE(1.12.4)
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(mmap \
36 strtok_r \
37 usleep \
38 strlcat \
39 strlcpy)
40
41 # Checks for header files.
42 AC_CHECK_HEADERS_ONCE(crypt.h \
43 sys/resource.h \
44 sys/param.h \
45 types.h \
46 socket.h \
47 sys/wait.h \
48 wait.h)
49
50 AC_SEARCH_LIBS(crypt, crypt)
51
52 AC_ARG_ENABLE(libpcre,
53 [AS_HELP_STRING([--disable-libpcre],[Disable PCRE support])], [],
54 [AC_CHECK_HEADER(pcre.h,
55 [AC_SEARCH_LIBS(pcre_study, pcre,
56 [AC_DEFINE(HAVE_LIBPCRE, 1, [Define to 1 if libpcre (-lpcre) is available.])])])], [])
57
58 dnl Openssl checks
59 AC_ARG_ENABLE(openssl,
60 [ --enable-openssl[=DIR] Enable OpenSSL support (DIR optional).
61 --disable-openssl Disable OpenSSL support. ],
62 [ cf_enable_openssl=$enableval ],
63 [ cf_enable_openssl="auto" ])
64 AC_MSG_CHECKING([for OpenSSL])
65 if test "$cf_enable_openssl" != "no"; then
66 cf_openssl_basedir=""
67 if test "$cf_enable_openssl" != "auto" &&
68 test "$cf_enable_openssl" != "yes"; then
69 dnl Support for --enable-openssl=/some/place
70 cf_openssl_basedir="${cf_enable_openssl}"
71 else
72 dnl Do the auto-probe here. Check some common directory paths.
73 for dirs in /usr/local/ssl /usr/pkg /usr/local /usr/lib /usr/lib/ssl\
74 /opt /opt/openssl /usr/local/openssl; do
75 if test -f "${dirs}/include/openssl/opensslv.h"; then
76 cf_openssl_basedir="${dirs}"
77 break
78 fi
79 done
80 unset dirs
81 fi
82
83 dnl Now check cf_openssl_found to see if we found anything.
84 if test ! -z "$cf_openssl_basedir"; then
85 if test -f "${cf_openssl_basedir}/include/openssl/opensslv.h"; then
86 CPPFLAGS="-I${cf_openssl_basedir}/include $CPPFLAGS"
87 LDFLAGS="-L${cf_openssl_basedir}/lib $LDFLAGS"
88 else
89 dnl OpenSSL wasn't found in the directory specified. Naughty
90 dnl administrator...
91 cf_openssl_basedir=""
92 fi
93 else
94 dnl Check for stock FreeBSD 4.x and 5.x systems, since their files
95 dnl are in /usr/include and /usr/lib. In this case, we don't want to
96 dnl change INCLUDES or LIBS, but still want to enable OpenSSL.
97 dnl We can't do this check above, because some people want two versions
98 dnl of OpenSSL installed (stock FreeBSD 4.x/5.x and /usr/local/ssl)
99 dnl and they want /usr/local/ssl to have preference.
100 if test -f "/usr/include/openssl/opensslv.h"; then
101 cf_openssl_basedir="/usr"
102 fi
103 fi
104
105 dnl If we have a basedir defined, then everything is okay. Otherwise,
106 dnl we have a problem.
107 if test ! -z "$cf_openssl_basedir"; then
108 AC_MSG_RESULT([$cf_openssl_basedir])
109 cf_enable_openssl="yes"
110 else
111 AC_MSG_RESULT([not found. Please check your path.])
112 cf_enable_openssl="no"
113 fi
114 unset cf_openssl_basedir
115 else
116 dnl If --disable-openssl was specified
117 AC_MSG_RESULT([disabled])
118 fi
119
120 AS_IF([test "$cf_enable_openssl" != "no"],
121 [AC_MSG_CHECKING(for OpenSSL 0.9.8 or above)
122 AC_RUN_IFELSE([
123 AC_LANG_PROGRAM([
124 #include <openssl/opensslv.h>
125 #include <stdlib.h>],
126 [[ exit(!(OPENSSL_VERSION_NUMBER >= 0x00908000)); ]])],
127 [cf_openssl_version_ok=yes],
128 [cf_openssl_version_ok=no],
129 [cf_openssl_version_ok=no])
130
131 AS_IF([test "$cf_openssl_version_ok" = "yes"],
132 [AC_MSG_RESULT(found)
133
134 AC_CHECK_LIB(crypto, RSA_free)
135 AS_IF([test "$ac_cv_lib_crypto_RSA_free" = "yes"],
136 [AC_CHECK_LIB(ssl, SSL_connect)])
137 ],[AC_MSG_RESULT(no - OpenSSL support disabled)
138 cf_enable_openssl="no"])])
139
140 AM_CONDITIONAL(ENABLE_SSL, [test "$ac_cv_lib_ssl_SSL_connect" = yes])
141
142
143 AC_ARG_ENABLE(assert, AS_HELP_STRING([--enable-assert],
144 [Enable assert() statements]),
145 [assert=$enableval], [assert=no])
146
147 AS_IF([test "$assert" = "no"],
148 [AC_DEFINE(NDEBUG, 1, [Define to disable assert() statements.])])
149
150
151 AC_DEFINE([NICKNAMEHISTORYLENGTH], 16384, [Size of the WHOWAS array.])
152 AC_DEFINE([MP_CHUNK_SIZE_CHANNEL], 64*1024, [Size of the channel mempool chunk.])
153 AC_DEFINE([MP_CHUNK_SIZE_MEMBER], 32*1024, [Size of the channel mempool chunk.])
154 AC_DEFINE([MP_CHUNK_SIZE_BAN], 16*1024, [Size of the ban mempool chunk.])
155 AC_DEFINE([MP_CHUNK_SIZE_CLIENT], 256*1024, [Size of the client mempool chunk.])
156 AC_DEFINE([MP_CHUNK_SIZE_LCLIENT], 128*1024, [Size of the local client mempool chunk.])
157 AC_DEFINE([MP_CHUNK_SIZE_DNODE], 8*1024, [Size of the dlink_node mempool chunk.])
158 AC_DEFINE([MP_CHUNK_SIZE_DBUF], 512*1024, [Size of the dbuf mempool chunk.])
159 AC_DEFINE([MP_CHUNK_SIZE_AUTH], 32*1024, [Size of the auth mempool chunk.])
160 AC_DEFINE([MP_CHUNK_SIZE_DNS], 16*1024, [Size of the dns mempool chunk.])
161 AC_DEFINE([MP_CHUNK_SIZE_WATCH], 4*1024, [Size of the watch mempool chunk.])
162
163 # Argument processing.
164 AX_ARG_ENABLE_IOLOOP_MECHANISM
165 AX_ARG_WITH_NICKLEN
166 AX_ARG_WITH_TOPICLEN
167 AX_ARG_ENABLE_HALFOPS
168 AX_ARG_ENABLE_DEBUGGING
169 AX_ARG_ENABLE_WARNINGS
170
171 AC_DEFINE_DIR([PREFIX],[prefix],[Set to prefix.])
172 AC_DEFINE_DIR([SYSCONFDIR],[sysconfdir],[Set to sysconfdir.])
173 AC_DEFINE_DIR([LIBDIR],[libdir],[Set to libdir.])
174 AC_DEFINE_DIR([DATADIR],[datadir],[Set to datadir.])
175 AC_DEFINE_DIR([LOCALSTATEDIR],[localstatedir],[Set to localstatedir.])
176
177 AC_CONFIG_FILES( \
178 Makefile \
179 contrib/Makefile \
180 contrib/help/Makefile \
181 src/Makefile \
182 libltdl/Makefile \
183 messages/Makefile \
184 modules/Makefile \
185 modules/core/Makefile \
186 doc/Makefile \
187 help/Makefile \
188 help/opers/Makefile \
189 help/users/Makefile \
190 tools/Makefile)
191
192 AC_OUTPUT

Properties

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