1 |
pippijn |
1.1 |
dnl Copyright © 2007 Pippijn van Steenhoven / The Ermyth Team |
2 |
|
|
dnl Copyright © 2005 Atheme Development Group |
3 |
pippijn |
1.2 |
dnl Rights to this code are documented in doc/pod/license.pod. |
4 |
pippijn |
1.1 |
dnl |
5 |
pippijn |
1.9 |
dnl $Id: configure.ac,v 1.8 2007-08-28 17:08:06 pippijn Exp $ |
6 |
pippijn |
1.1 |
|
7 |
|
|
dnl Process this file with autoconf to produce a configure script. |
8 |
|
|
|
9 |
|
|
AC_PREREQ(2.59) |
10 |
|
|
AC_INIT([ermyth], [2.3], [ermyth@one09.net]) |
11 |
|
|
AC_CONFIG_HEADER(include/sysconf.h) |
12 |
|
|
AC_CONFIG_AUX_DIR(autoconf) |
13 |
|
|
|
14 |
pippijn |
1.9 |
AC_COPYRIGHT([$Id: configure.ac,v 1.8 2007-08-28 17:08:06 pippijn Exp $]) |
15 |
pippijn |
1.1 |
|
16 |
|
|
AC_PREFIX_DEFAULT(~/PACKAGE) |
17 |
|
|
|
18 |
|
|
dnl Automake compatibility. |
19 |
|
|
AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME]) |
20 |
|
|
AC_SUBST([VERSION], [AC_PACKAGE_VERSION]) |
21 |
|
|
|
22 |
|
|
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) |
23 |
|
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]) |
24 |
|
|
|
25 |
|
|
dnl |
26 |
|
|
dnl Look for programs |
27 |
|
|
dnl |
28 |
|
|
|
29 |
|
|
AC_PATH_PROG(RM, rm) |
30 |
|
|
AC_PATH_PROG(MV, mv) |
31 |
|
|
AC_PATH_PROG(CP, cp) |
32 |
|
|
AC_PATH_PROG(LN, ln) |
33 |
|
|
AC_PATH_PROG(TAR, tar) |
34 |
|
|
AC_PATH_PROG(AR, ar) |
35 |
|
|
AC_PATH_PROG(RANLIB, ranlib) |
36 |
|
|
|
37 |
|
|
AC_PATH_PROG(PKG_CONFIG, pkg-config, no) |
38 |
|
|
|
39 |
pippijn |
1.8 |
AC_MSG_CHECKING(glib >= 2.10) |
40 |
|
|
if $PKG_CONFIG glib-2.0 --atleast-version 2.10; then |
41 |
|
|
CXXFLAGS="$CXXFLAGS `$PKG_CONFIG glib-2.0 --cflags`" |
42 |
|
|
LIBS="$LIBS `$PKG_CONFIG glib-2.0 --libs`" |
43 |
|
|
AC_MSG_RESULT(ok) |
44 |
|
|
else |
45 |
|
|
AC_MSG_ERROR(no) |
46 |
|
|
fi |
47 |
pippijn |
1.1 |
|
48 |
|
|
AC_PATH_PROG(PERL, perl5.8) |
49 |
|
|
if test -z "$PERL"; then |
50 |
|
|
AC_PATH_PROG(PERL, perl5) |
51 |
|
|
if test -z "$PERL"; then |
52 |
|
|
AC_PATH_PROG(PERL, perl) |
53 |
|
|
if test -z "$PERL"; then |
54 |
|
|
AC_MSG_ERROR([perl 5.8 or higher must be in your PATH, check the README]) |
55 |
|
|
fi |
56 |
|
|
fi |
57 |
|
|
fi |
58 |
|
|
|
59 |
|
|
dnl |
60 |
|
|
dnl Source generation |
61 |
|
|
dnl |
62 |
|
|
|
63 |
pippijn |
1.8 |
dnl CALLBACKS=`$PERL $srcdir/include/common/gencallbacks.pl 7` |
64 |
|
|
dnl AC_SUBST(CALLBACKS) |
65 |
pippijn |
1.1 |
|
66 |
|
|
dnl |
67 |
|
|
dnl GNU gettext |
68 |
|
|
dnl |
69 |
|
|
|
70 |
|
|
AM_GNU_GETTEXT([external]) |
71 |
|
|
AM_GNU_GETTEXT_VERSION([0.16.1]) |
72 |
|
|
|
73 |
|
|
if test "$prefix" = "NONE"; then |
74 |
|
|
prefix="${ac_default_prefix}" |
75 |
|
|
fi |
76 |
|
|
|
77 |
|
|
LOCALEDIR='${datadir}/locale' |
78 |
|
|
AC_SUBST(LOCALEDIR) |
79 |
|
|
|
80 |
|
|
dnl |
81 |
|
|
dnl Language specific checks |
82 |
|
|
dnl |
83 |
|
|
|
84 |
|
|
AC_LANG(C++) |
85 |
|
|
AC_PROG_CXX |
86 |
|
|
AC_PROG_INSTALL |
87 |
|
|
AC_EXEEXT |
88 |
|
|
AC_PROG_MAKE_SET |
89 |
|
|
|
90 |
|
|
MKDEP="$CXX -MM" |
91 |
|
|
|
92 |
|
|
AC_SUBST(MKDEP) |
93 |
|
|
|
94 |
|
|
AC_CHECK_SIZEOF(void *,4) |
95 |
|
|
AC_CHECK_SIZEOF(char, 4) |
96 |
|
|
AC_CHECK_SIZEOF(int, 4) |
97 |
|
|
AC_CHECK_SIZEOF(short, 2) |
98 |
|
|
AC_CHECK_SIZEOF(float, 4) |
99 |
|
|
AC_CHECK_SIZEOF(double, 8) |
100 |
|
|
AC_CHECK_SIZEOF(long double, 0) |
101 |
|
|
AC_CHECK_SIZEOF(long, 4) |
102 |
|
|
AC_CHECK_SIZEOF(long long, 0) |
103 |
|
|
AC_CHECK_SIZEOF(time_t, 4) |
104 |
|
|
AC_CHECK_SIZEOF(size_t, 4) |
105 |
|
|
|
106 |
|
|
dnl |
107 |
|
|
dnl Checks for header files. |
108 |
|
|
dnl |
109 |
|
|
|
110 |
pippijn |
1.6 |
AC_CHECK_HEADERS(getopt.h link.h valgrind/memcheck.h) |
111 |
pippijn |
1.7 |
AC_CHECK_HEADER(tr1/unordered_map, [], [AC_MSG_ERROR([Your compiler must support the Library Technical Report 1 extensions.])]) |
112 |
pippijn |
1.1 |
|
113 |
|
|
AC_DEFINE(_REENTRANT, [1], [Define this]) |
114 |
|
|
|
115 |
|
|
#-------------------------------------------------- |
116 |
|
|
# AC_ARG_WITH(boost, |
117 |
|
|
# AC_HELP_STRING([--with-boost=DIR],[location of boost distribution]), |
118 |
|
|
# [ |
119 |
|
|
# CPPFLAGS="$CPPFLAGS -I${withval}" |
120 |
|
|
# ], |
121 |
|
|
# [ |
122 |
|
|
# BOOSTDIR="`pwd`/../boost_1_34_0" |
123 |
|
|
# if test -d "${BOOSTDIR}"; then |
124 |
|
|
# CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" |
125 |
|
|
# else |
126 |
|
|
# BOOSTDIR="`pwd`/../boost_1_33_1" |
127 |
|
|
# if test -d "${BOOSTDIR}"; then |
128 |
|
|
# CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" |
129 |
|
|
# else |
130 |
|
|
# BOOSTDIR="`pwd`/../boost_1_33_0" |
131 |
|
|
# if test -d "${BOOSTDIR}"; then |
132 |
|
|
# CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" |
133 |
|
|
# fi |
134 |
|
|
# fi |
135 |
|
|
# fi |
136 |
|
|
# ]) |
137 |
|
|
# |
138 |
|
|
# AC_CHECK_HEADER([boost/noncopyable.hpp],, |
139 |
|
|
# [ |
140 |
|
|
# echo "Can't find boost headers. Please check the location of the boost" |
141 |
|
|
# echo "distribution and rerun configure using the --with-boost=DIR option." |
142 |
|
|
# exit 1 |
143 |
|
|
# ],[]) |
144 |
|
|
# |
145 |
|
|
# AC_CHECK_HEADER([boost/date_time/posix_time/posix_time_types.hpp],, |
146 |
|
|
# [ |
147 |
|
|
# echo "Can't find boost date-time headers. Please check the location of the boost" |
148 |
|
|
# echo "distribution and rerun configure using the --with-boost=DIR option." |
149 |
|
|
# exit 1 |
150 |
|
|
# ],[]) |
151 |
|
|
# |
152 |
|
|
# AC_CHECK_HEADER([boost/regex.hpp],, |
153 |
|
|
# [ |
154 |
|
|
# echo "Can't find boost regular expressions headers. Please check the location of the boost" |
155 |
|
|
# echo "distribution and rerun configure using the --with-boost=DIR option." |
156 |
|
|
# exit 1 |
157 |
|
|
# ],[]) |
158 |
|
|
# |
159 |
|
|
# AC_CHECK_HEADER([boost/thread.hpp],, |
160 |
|
|
# [ |
161 |
|
|
# echo "Can't find boost threads headers. Please check the location of the boost" |
162 |
|
|
# echo "distribution and rerun configure using the --with-boost=DIR option." |
163 |
|
|
# exit 1 |
164 |
|
|
# ],[]) |
165 |
|
|
# |
166 |
|
|
# |
167 |
|
|
#-------------------------------------------------- |
168 |
|
|
echo |
169 |
|
|
echo "Library functions" |
170 |
|
|
echo |
171 |
|
|
#-------------------------------------------------- |
172 |
|
|
# |
173 |
|
|
# AC_CHECK_LIB(boost_thread, _init,, |
174 |
|
|
# AC_MSG_ERROR([$PACKAGE requires boost threads to be installed to work. |
175 |
|
|
# Download Boost at http://www.boost.org/ |
176 |
|
|
# ])) |
177 |
|
|
# LIBS="$LIBS -lboost_thread" |
178 |
|
|
# |
179 |
|
|
# AC_CHECK_LIB(boost_regex, _init,, |
180 |
|
|
# AC_MSG_ERROR([$PACKAGE requires boost regex to be installed to work. |
181 |
|
|
# Download Boost at http://www.boost.org/ |
182 |
|
|
# ])) |
183 |
|
|
# LIBS="$LIBS -lboost_regex" |
184 |
|
|
# |
185 |
|
|
# AC_CHECK_LIB(boost_date_time, _init,, |
186 |
|
|
# AC_MSG_ERROR([$PACKAGE requires boost date and time to be installed to work. |
187 |
|
|
# Download Boost at http://www.boost.org/ |
188 |
|
|
# ])) |
189 |
|
|
# LIBS="$LIBS -lboost_date_time" |
190 |
|
|
#-------------------------------------------------- |
191 |
|
|
|
192 |
|
|
|
193 |
|
|
dnl Checks for library functions. |
194 |
|
|
AC_TYPE_SIGNAL |
195 |
|
|
AC_CHECK_FUNCS([strlcpy strlcat gettimeofday umask mmap arc4random getrlimit fork getpid execve strcasestr]) |
196 |
|
|
AC_CHECK_FUNC(gethostbyname,, AC_CHECK_LIB(nsl, gethostbyname)) |
197 |
|
|
AC_CHECK_FUNC(select, SOCKET_ENGINE="select",) |
198 |
|
|
AC_CHECK_FUNC(poll, SOCKET_ENGINE="poll",) |
199 |
|
|
|
200 |
|
|
POSIX_CRYPTC="" |
201 |
|
|
AC_CHECK_LIB(crypt, crypt, [ |
202 |
|
|
POSIX_CRYPTC="posix.C" |
203 |
|
|
LIBS="$LIBS -lcrypt" |
204 |
|
|
]) |
205 |
|
|
|
206 |
pippijn |
1.8 |
AC_MSG_CHECKING(for libresolv) |
207 |
|
|
AC_TRY_LINK([ |
208 |
|
|
#include <netinet/in.h> |
209 |
|
|
#include <arpa/nameser.h> |
210 |
|
|
#include <resolv.h> |
211 |
|
|
],[ |
212 |
|
|
res_init (); |
213 |
|
|
],[resolv_link=yes],[resolv_link=no]) |
214 |
|
|
if test x$resolv_link = xyes; then |
215 |
|
|
AC_MSG_RESULT(ok) |
216 |
|
|
AC_DEFINE(HAVE_LIBRESOLV, 1, Define if you have libresolv) |
217 |
|
|
LIBS="$LIBS -lresolv" |
218 |
|
|
else |
219 |
|
|
AC_MSG_RESULT([no, unable to link]) |
220 |
|
|
fi |
221 |
|
|
|
222 |
pippijn |
1.1 |
AC_MSG_CHECKING(for $PERL suitability) |
223 |
|
|
if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>&1; then |
224 |
|
|
save_CXXFLAGS="$CXXFLAGS" |
225 |
|
|
save_LIBS="$LIBS" |
226 |
|
|
xPERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`" |
227 |
|
|
CXXFLAGS="$CXXFLAGS $xPERLFLAGS" |
228 |
|
|
LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`" |
229 |
|
|
AC_TRY_LINK([ |
230 |
|
|
#include <EXTERN.h> |
231 |
|
|
#include <perl.h> |
232 |
|
|
#include <XSUB.h> |
233 |
|
|
],[ |
234 |
|
|
PerlInterpreter *perl = perl_alloc (); |
235 |
|
|
],[perl_link=yes],[perl_link=no]) |
236 |
|
|
CXXFLAGS="$save_CXXFLAGS" |
237 |
|
|
LIBS="$save_LIBS" |
238 |
|
|
|
239 |
|
|
if test x$perl_link = xyes; then |
240 |
|
|
AC_MSG_RESULT(ok) |
241 |
|
|
AC_DEFINE(ENABLE_PERL, 1, Define if you can embed a perl interpreter) |
242 |
|
|
PERLFLAGS="$xPERLFLAGS" |
243 |
|
|
PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`" |
244 |
|
|
PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`" |
245 |
|
|
CPPFLAGS="$CPPFLAGS $PERLFLAGS" |
246 |
|
|
HAVE_PERL="yes" |
247 |
|
|
else |
248 |
|
|
AC_MSG_RESULT([no, unable to link]) |
249 |
|
|
HAVE_PERL="no" |
250 |
|
|
fi |
251 |
|
|
else |
252 |
|
|
AC_MSG_RESULT([no working perl found, or perl not version >= 5.8]) |
253 |
|
|
HAVE_PERL="no" |
254 |
|
|
fi |
255 |
|
|
|
256 |
|
|
AC_SUBST(PERLLIB) |
257 |
|
|
AC_SUBST(PERLFLAGS) |
258 |
|
|
AC_SUBST(PERLPRIVLIBEXP) |
259 |
|
|
AC_SUBST(PERL) |
260 |
|
|
AC_SUBST(HAVE_PERL) |
261 |
|
|
AC_SUBST(SOCKET_ENGINE) |
262 |
|
|
AC_SUBST(POSIX_CRYPTC) |
263 |
|
|
|
264 |
|
|
echo |
265 |
|
|
echo "Tweaks" |
266 |
|
|
echo |
267 |
|
|
|
268 |
|
|
DOCDIR='${prefix}/doc' |
269 |
|
|
MODDIR='${exec_prefix}' |
270 |
|
|
SHAREDIR='${prefix}' |
271 |
|
|
LOGDIR='${prefix}/var' |
272 |
|
|
DATADIR='${prefix}/etc' |
273 |
|
|
RUNDIR='${prefix}/var' |
274 |
|
|
|
275 |
|
|
dnl |
276 |
|
|
dnl Verbose makefiles |
277 |
|
|
dnl |
278 |
|
|
|
279 |
|
|
SILENT="yes" |
280 |
|
|
AC_MSG_CHECKING(if you want verbose makefiles) |
281 |
|
|
AC_ARG_ENABLE(verbose-make, |
282 |
|
|
AC_HELP_STRING([--enable-verbose-make],[ Use verbose makefiles.]), [SILENT="$enableval"]) |
283 |
|
|
AC_MSG_RESULT($enableval) |
284 |
|
|
|
285 |
|
|
if test "$SILENT" = no; then |
286 |
|
|
SILENT="" |
287 |
|
|
else |
288 |
|
|
SILENT="-s" |
289 |
|
|
fi |
290 |
|
|
|
291 |
|
|
AC_SUBST(SILENT) |
292 |
|
|
|
293 |
|
|
|
294 |
|
|
dnl |
295 |
|
|
dnl Absolute paths |
296 |
|
|
dnl |
297 |
|
|
|
298 |
|
|
abspaths="no" |
299 |
|
|
AC_MSG_CHECKING(if you want to use absolute paths when building) |
300 |
|
|
AC_ARG_ENABLE(absolute-paths, |
301 |
|
|
AC_HELP_STRING([--enable-absolute-paths],[ Use absolute paths when building.]), [abspaths="$enableval"]) |
302 |
|
|
AC_MSG_RESULT($abspaths) |
303 |
|
|
|
304 |
|
|
ABSPATHS="#" |
305 |
|
|
if test "$abspaths" = yes; then |
306 |
|
|
ABSPATHS="" |
307 |
|
|
case "$srcdir" in |
308 |
|
|
/*) |
309 |
|
|
;; |
310 |
|
|
*) |
311 |
|
|
srcdir="`cd \"$srcdir\";pwd`" |
312 |
|
|
;; |
313 |
|
|
esac |
314 |
|
|
fi |
315 |
|
|
SRCDIR="$srcdir" |
316 |
pippijn |
1.9 |
BUILDROOT=`pwd` |
317 |
pippijn |
1.1 |
|
318 |
|
|
AC_SUBST(ABSPATHS) |
319 |
|
|
AC_SUBST(SRCDIR) |
320 |
pippijn |
1.9 |
AC_SUBST(BUILDROOT) |
321 |
pippijn |
1.1 |
|
322 |
|
|
dnl |
323 |
|
|
dnl Filesystem Hierarchy Standard |
324 |
|
|
dnl |
325 |
|
|
|
326 |
|
|
FHSPATHS="no" |
327 |
|
|
AC_MSG_CHECKING(if you want FHS-like pathnames) |
328 |
|
|
AC_ARG_ENABLE(fhs-paths, |
329 |
|
|
AC_HELP_STRING([--enable-fhs-paths],[ Use more FHS-like pathnames (for packagers).]), |
330 |
|
|
[ |
331 |
|
|
case "$enableval" in |
332 |
|
|
yes) |
333 |
|
|
FHSPATHS="yes" |
334 |
|
|
DOCDIR='${datadir}/doc/$PACKAGE' |
335 |
|
|
MODDIR='${libdir}/$PACKAGE' |
336 |
|
|
SHAREDIR='${datadir}/$PACKAGE' |
337 |
|
|
LOGDIR='${localstatedir}/log/$PACKAGE' |
338 |
|
|
DATADIR='${localstatedir}/lib/$PACKAGE' |
339 |
|
|
RUNDIR='${localstatedir}/run/$PACKAGE' |
340 |
|
|
;; |
341 |
|
|
no) |
342 |
|
|
FHSPATHS="no" |
343 |
|
|
;; |
344 |
|
|
esac |
345 |
|
|
]) |
346 |
|
|
AC_MSG_RESULT($FHSPATHS) |
347 |
|
|
AC_SUBST(DOCDIR) |
348 |
|
|
AC_SUBST(MODDIR) |
349 |
|
|
AC_SUBST(SHAREDIR) |
350 |
|
|
AC_SUBST(DATADIR) |
351 |
|
|
AC_SUBST(LOGDIR) |
352 |
|
|
AC_SUBST(RUNDIR) |
353 |
|
|
|
354 |
|
|
dnl |
355 |
|
|
dnl Large network support |
356 |
|
|
dnl |
357 |
|
|
|
358 |
|
|
LARGENET="no" |
359 |
|
|
AC_MSG_CHECKING(if you want large network support) |
360 |
|
|
AC_ARG_ENABLE(large-net, |
361 |
|
|
AC_HELP_STRING([--enable-large-net],[ Enable large network support.]), |
362 |
|
|
[ |
363 |
|
|
case "$enableval" in |
364 |
|
|
yes) |
365 |
|
|
LARGENET="yes" |
366 |
|
|
AC_DEFINE([LARGE_NETWORK], 1, [Uncomment to enable large network support.]) |
367 |
|
|
;; |
368 |
|
|
no) |
369 |
|
|
LARGENET="no" |
370 |
|
|
;; |
371 |
|
|
esac |
372 |
|
|
]) |
373 |
|
|
AC_MSG_RESULT($LARGENET) |
374 |
|
|
|
375 |
|
|
dnl |
376 |
|
|
dnl Slab/Block allocator |
377 |
|
|
dnl |
378 |
|
|
|
379 |
|
|
balloc="no" |
380 |
|
|
AC_MSG_CHECKING(if you want to use the block allocator) |
381 |
|
|
AC_ARG_ENABLE(balloc, |
382 |
|
|
AC_HELP_STRING([--disable-balloc],[Disable the block allocator.]), [balloc=$enableval], [balloc=yes]) |
383 |
|
|
|
384 |
|
|
if test "$balloc" = no; then |
385 |
|
|
AC_DEFINE([NOBALLOC], 1, [Define to 1 if you wish to disable the block allocator.]) |
386 |
|
|
fi |
387 |
|
|
AC_MSG_RESULT($balloc) |
388 |
|
|
|
389 |
|
|
dnl |
390 |
|
|
dnl Platform specific stuff |
391 |
|
|
dnl |
392 |
|
|
|
393 |
|
|
WINDOWS=no |
394 |
|
|
case $host in |
395 |
|
|
*-*-linux*) |
396 |
|
|
CXXFLAGS="$CXXFLAGS -pthread" |
397 |
|
|
LDFLAGS="$LDFLAGS -pthread" |
398 |
|
|
;; |
399 |
|
|
*-*-solaris*) |
400 |
|
|
if test "$GXX" = yes; then |
401 |
|
|
CXXFLAGS="$CXXFLAGS" |
402 |
|
|
else |
403 |
|
|
# We'll assume Sun's CC. |
404 |
|
|
CXXFLAGS="$CXXFLAGS -mt" |
405 |
|
|
fi |
406 |
|
|
LIBS="$LIBS -lsocket -lnsl -lpthread" |
407 |
|
|
;; |
408 |
|
|
*-*-mingw32*) |
409 |
|
|
CXXFLAGS="$CXXFLAGS -mthreads" |
410 |
|
|
LDFLAGS="$LDFLAGS -mthreads" |
411 |
|
|
LIBS="$LIBS -lws2_32 -lmswsock" |
412 |
|
|
WINDOWS=yes |
413 |
|
|
;; |
414 |
|
|
*-pc-cygwin*) |
415 |
|
|
CXXFLAGS="$CXXFLAGS -D__USE_W32_SOCKETS -D_WIN32_WINNT=0x0500" |
416 |
|
|
LIBS="$LIBS -lws2_32 -lmswsock" |
417 |
|
|
WINDOWS=yes |
418 |
|
|
;; |
419 |
|
|
*-apple-darwin*) |
420 |
|
|
CXXFLAGS="$CXXFLAGS" |
421 |
|
|
LDFLAGS="$LDFLAGS" |
422 |
|
|
;; |
423 |
|
|
*-*-freebsd*) |
424 |
|
|
CXXFLAGS="$CXXFLAGS -pthread" |
425 |
|
|
LDFLAGS="$LDFLAGS -pthread" |
426 |
|
|
;; |
427 |
|
|
esac |
428 |
|
|
|
429 |
|
|
if test "$GXX" = yes; then |
430 |
|
|
CXXFLAGS="$CXXFLAGS -ftemplate-depth-256" |
431 |
|
|
fi |
432 |
|
|
|
433 |
|
|
echo |
434 |
|
|
echo "OpenSSL-based SASL support" |
435 |
|
|
echo |
436 |
|
|
|
437 |
|
|
AC_ARG_ENABLE(ssl, |
438 |
|
|
AC_HELP_STRING([--disable-ssl], [don't use OpenSSL to provide more SASL mechanisms]), |
439 |
|
|
, |
440 |
|
|
enable_ssl=yes |
441 |
|
|
) |
442 |
|
|
|
443 |
|
|
SSL=no |
444 |
|
|
if test "$enable_ssl" = "yes"; then |
445 |
|
|
AC_CHECK_LIB(ssl, SSL_read, [ |
446 |
|
|
AC_CHECK_HEADERS(openssl/ssl.h openssl/err.h, [ |
447 |
|
|
SSL_LIBS="-lssl -lcrypto" |
448 |
|
|
AC_SUBST(SSL_LIBS) |
449 |
|
|
SSL=yes |
450 |
|
|
]) |
451 |
|
|
], , -lcrypto) |
452 |
|
|
if test "$SSL" = "yes"; then |
453 |
|
|
AC_DEFINE(HAVE_OPENSSL,, Define to 1 if openssl is available) |
454 |
|
|
LIBS="$LIBS $SSL_LIBS" |
455 |
|
|
fi |
456 |
|
|
fi |
457 |
|
|
|
458 |
|
|
AC_ARG_WITH(openssl, |
459 |
|
|
AC_HELP_STRING([--with-openssl=DIR],[location of openssl]), |
460 |
|
|
[ |
461 |
|
|
CPPFLAGS="$CPPFLAGS -I${withval}" |
462 |
|
|
],[]) |
463 |
|
|
|
464 |
|
|
AC_CHECK_HEADER([openssl/ssl.h],, |
465 |
|
|
[ |
466 |
|
|
OPENSSL_FOUND=no |
467 |
|
|
],[]) |
468 |
|
|
|
469 |
|
|
AM_CONDITIONAL(HAVE_OPENSSL,test x$OPENSSL_FOUND != xno) |
470 |
|
|
|
471 |
|
|
echo |
472 |
|
|
echo "Module support" |
473 |
|
|
echo |
474 |
|
|
|
475 |
|
|
dynamic_loading="yes" |
476 |
|
|
|
477 |
|
|
if test "$dynamic_loading" = yes; then |
478 |
|
|
# The GNU linker requires the -export-dynamic option to make |
479 |
|
|
# all symbols visible in the dynamic symbol table. |
480 |
|
|
hold_ldflags=$LDFLAGS |
481 |
|
|
AC_MSG_CHECKING(for the ld -export-dynamic flag) |
482 |
|
|
LDFLAGS="${LDFLAGS} -Wl,-export-dynamic" |
483 |
|
|
AC_LINK_IFELSE(AC_LANG_PROGRAM([],[int i;]), found=yes, found=no) |
484 |
|
|
LDFLAGS=$hold_ldflags |
485 |
|
|
|
486 |
|
|
if expr "`uname -s`" : ^IRIX >/dev/null 2>&1; then |
487 |
|
|
found="no, IRIX ld uses -B,dynamic" |
488 |
|
|
LDFLAGS="${LDFLAGS} -Wl,-B,dynamic" |
489 |
|
|
fi |
490 |
|
|
|
491 |
|
|
AC_MSG_RESULT($found) |
492 |
|
|
|
493 |
|
|
if test "$found" = yes; then |
494 |
|
|
LDFLAGS="${LDFLAGS} -Wl,-export-dynamic" |
495 |
|
|
fi |
496 |
|
|
|
497 |
|
|
if test "$ac_cv_c_compiler_gnu" = yes; then |
498 |
|
|
AC_MSG_CHECKING(if $CXX is Apple GCC) |
499 |
|
|
if expr "`$CXX -v 2>&1 | tail -n 1`" : ".*Apple" >/dev/null; then |
500 |
|
|
AppleGCC=yes |
501 |
|
|
else |
502 |
|
|
AppleGCC=no |
503 |
|
|
fi |
504 |
|
|
|
505 |
|
|
AC_MSG_RESULT($AppleGCC) |
506 |
|
|
fi |
507 |
|
|
|
508 |
|
|
AC_MSG_CHECKING(for compiler option to produce PIC) |
509 |
|
|
|
510 |
|
|
PICFLAGS="-fPIC -DPIC -shared" # XXX: default? |
511 |
|
|
if test "$SGS" = "yes"; then |
512 |
|
|
AC_MSG_RESULT([SVR4 SGS interfaces: -KPIC -DPIC -G]) |
513 |
|
|
PICFLAGS="-KPIC -DPIC -G" |
514 |
|
|
fi |
515 |
|
|
|
516 |
|
|
if test "$AppleGCC" = "yes"; then |
517 |
|
|
AC_MSG_RESULT([Darwin Mach-O bundles: -fno-common -bundle -flat_namespace -undefined suppress]) |
518 |
|
|
PICFLAGS="-fno-common -bundle -flat_namespace -undefined suppress" |
519 |
|
|
fi |
520 |
|
|
|
521 |
|
|
if test "$HPUX" = "yes" -a "$CXX" != g++; then |
522 |
|
|
AC_MSG_RESULT(HP-UX cc: +z -r -q -n) |
523 |
|
|
PICFLAGS="+z -r -q -n -c" |
524 |
|
|
AC_MSG_CHECKING([if +ESfic is required on this platform]) |
525 |
|
|
|
526 |
|
|
if expr "`$CXX +ESfic 2>&1`" : ".*neither supported.*" >/dev/null; then |
527 |
|
|
AC_MSG_RESULT(no) |
528 |
|
|
else |
529 |
|
|
AC_MSG_RESULT(yes) |
530 |
|
|
PICFLAGS="$PICFLAGS +ESfic" |
531 |
|
|
fi |
532 |
|
|
|
533 |
|
|
LDFLAGS="${LDFLAGS} -Wl,-E" |
534 |
|
|
fi |
535 |
|
|
|
536 |
|
|
if test "$Tru" = yes -a "$CXX" != g++; then |
537 |
|
|
AC_MSG_RESULT([Tru64: -shared -expect_unresolved '*']) |
538 |
|
|
PICFLAGS="-shared -expect_unresolved '*' " |
539 |
|
|
LDFLAGS="-call_shared" |
540 |
|
|
fi |
541 |
|
|
|
542 |
|
|
if test "$CXX" = icc -a "$ICC" = yes; then |
543 |
|
|
AC_MSG_RESULT(intel: -fPIC -DPIC -shared) |
544 |
|
|
PICFLAGS="-fPIC -DPIC -shared" |
545 |
|
|
fi |
546 |
|
|
|
547 |
|
|
if test -z "$PICFLAGS"; then |
548 |
|
|
if test "$ac_cv_c_compiler_gnu" = "yes"; then |
549 |
|
|
AC_MSG_RESULT(g++: -fPIC -DPIC -shared) |
550 |
|
|
PICFLAGS="-fPIC -DPIC -shared" |
551 |
|
|
else |
552 |
|
|
AC_MSG_RESULT(no) |
553 |
|
|
AC_ERROR([your compiler is unable to compile $PACKAGE's modules.]) |
554 |
|
|
fi |
555 |
|
|
fi |
556 |
|
|
fi |
557 |
|
|
|
558 |
|
|
AC_SUBST(PICFLAGS) |
559 |
|
|
|
560 |
|
|
AC_ARG_ENABLE(warnings, |
561 |
|
|
AC_HELP_STRING([--enable-warnings],[ Enable compiler warnings]), |
562 |
|
|
[ |
563 |
pippijn |
1.8 |
|
564 |
|
|
echo " " |
565 |
pippijn |
1.1 |
echo "Compiler warnings" |
566 |
pippijn |
1.8 |
echo " " |
567 |
pippijn |
1.1 |
|
568 |
|
|
dnl See what warnings we can get away with |
569 |
pippijn |
1.2 |
ERMYTH_C_GCC_TRY_FLAGS([-Wall], ermyth_cv_c_gcc_w_all) |
570 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wpointer-arith], ermyth_cv_c_gcc_w_pointer_arith) |
571 |
pippijn |
1.8 |
ERMYTH_C_GCC_TRY_FLAGS([-Wimplicit], ermyth_cv_c_gcc_w_implicit) |
572 |
pippijn |
1.2 |
ERMYTH_C_GCC_TRY_FLAGS([-Wcast-align], ermyth_cv_c_gcc_w_cast_align) |
573 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wcast-qual], ermyth_cv_c_gcc_w_cast_qual) |
574 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wextra], ermyth_cv_c_gcc_w_extra) |
575 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-W -Wno-unused-parameter], ermyth_cv_c_gcc_w) |
576 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wshadow], ermyth_cv_c_gcc_w_shadow) |
577 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wmissing-noreturn], ermyth_cv_c_gcc_w_missing_noreturn) |
578 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wundef], ermyth_cv_c_gcc_w_undef) |
579 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wpacked], ermyth_cv_c_gcc_w_packed) |
580 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wunused-function -Wunused-label -Wunused-value -Wunused-variable], ermyth_cv_c_gcc_w_unused) |
581 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wredundant-decls], ermyth_cv_c_gcc_w_redundant_decls) |
582 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wfloat-equal], ermyth_cv_c_gcc_w_float_equal) |
583 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wformat=2], ermyth_cv_c_gcc_w_format) |
584 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-Wdisabled-optimization], ermyth_cv_c_gcc_w_format) |
585 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-pedantic], ermyth_cv_c_gcc_pedantic) |
586 |
pippijn |
1.8 |
ERMYTH_C_GCC_TRY_FLAGS([-std=c++98], ermyth_cv_c_gcc_cpp98) |
587 |
pippijn |
1.1 |
|
588 |
|
|
dnl Too unreliable to be useful at this time. |
589 |
pippijn |
1.2 |
dnl ERMYTH_C_GCC_TRY_FLAGS([-Wunreachable-code], ermyth_cv_c_gcc_w_unreachable_code) |
590 |
pippijn |
1.1 |
|
591 |
|
|
dnl Maintainer flags. |
592 |
pippijn |
1.8 |
ERMYTH_C_GCC_TRY_FLAGS([-Wconversion], ermyth_cv_c_gcc_w_conversion) |
593 |
pippijn |
1.2 |
ERMYTH_C_GCC_TRY_FLAGS([-Wwrite-strings], ermyth_cv_c_gcc_w_strings) |
594 |
|
|
dnl ERMYTH_C_GCC_TRY_FLAGS([-Werror], ermyth_cv_c_gcc_w_error) |
595 |
pippijn |
1.1 |
]) |
596 |
|
|
|
597 |
|
|
AC_ARG_ENABLE(propolice, |
598 |
|
|
AC_HELP_STRING([--disable-propolice],[ Disable propolice protections |
599 |
|
|
(for debugging.)]), |
600 |
|
|
[ |
601 |
|
|
|
602 |
|
|
echo |
603 |
|
|
echo "Disabling propolice." |
604 |
|
|
echo |
605 |
|
|
|
606 |
pippijn |
1.2 |
ERMYTH_C_GCC_TRY_FLAGS([-fno-stack-protector-all], ermyth_nspa) |
607 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-fno-pie], ermyth_npie) |
608 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-nonow], ermyth_nonow) |
609 |
|
|
ERMYTH_C_GCC_TRY_FLAGS([-norelro], ermyth_no_relro) |
610 |
pippijn |
1.1 |
]) |
611 |
|
|
|
612 |
|
|
AC_ARG_ENABLE(profile, |
613 |
|
|
AC_HELP_STRING([--enable-profile],[ Enable profiling extensions]), |
614 |
|
|
[ |
615 |
|
|
|
616 |
|
|
echo |
617 |
|
|
echo "Enabling profiling." |
618 |
|
|
echo |
619 |
|
|
|
620 |
pippijn |
1.2 |
ERMYTH_C_GCC_TRY_FLAGS([-pg], ermyth_pg) |
621 |
pippijn |
1.1 |
ac_save_LDFLAGS="${LDFLAGS} -pg" |
622 |
|
|
LDFLAGS=${ac_save_LDFLAGS} |
623 |
|
|
]) |
624 |
|
|
|
625 |
|
|
ac_save_CXXFLAGS="${CXXFLAGS} ${orig_CXXFLAGS} ${CWARNS} -DPREFIX=\\\"\${prefix}\\\" -DLOCALEDIR=\\\"\${LOCALEDIR}\\\" -DMODDIR=\\\"\${MODDIR}\\\" -DSHAREDIR=\\\"${SHAREDIR}\\\" -DSYSCONFDIR=\\\"${sysconfdir}\\\" -DLOGDIR=\\\"${LOGDIR}\\\" -DRUNDIR=\\\"${RUNDIR}\\\" -DDATADIR=\\\"${DATADIR}\\\"" |
626 |
|
|
CXXFLAGS=${ac_save_CXXFLAGS} |
627 |
|
|
|
628 |
|
|
|
629 |
|
|
AC_ARG_ENABLE(gcov, |
630 |
|
|
AC_HELP_STRING([--enable-gcov],[Enable coverage analysis]), |
631 |
|
|
[ |
632 |
|
|
|
633 |
|
|
echo |
634 |
|
|
echo "Enabling coverage analysis." |
635 |
|
|
echo |
636 |
|
|
|
637 |
pippijn |
1.2 |
ERMYTH_C_GCC_TRY_FLAGS([-fprofile-arcs], ermyth_profile_arcs) |
638 |
pippijn |
1.1 |
ac_save_CXXFLAGS="${CXXFLAGS} -fprofile-arcs" |
639 |
|
|
CXXFLAGS=${ac_save_CXXFLAGS} |
640 |
|
|
|
641 |
pippijn |
1.2 |
dnl ERMYTH_C_GCC_TRY_FLAGS([-fbranch-probabilities], ermyth_branch_probabilities) |
642 |
pippijn |
1.1 |
dnl ac_save_CXXFLAGS="${CXXFLAGS} -fbranch-probabilities" |
643 |
|
|
dnl CXXFLAGS=${ac_save_CXXFLAGS} |
644 |
|
|
|
645 |
pippijn |
1.2 |
ERMYTH_C_GCC_TRY_FLAGS([-ftest-coverage], ermyth_test_coverage) |
646 |
pippijn |
1.1 |
ac_save_CXXFLAGS="${CXXFLAGS} -ftest-coverage" |
647 |
|
|
CXXFLAGS=${ac_save_CXXFLAGS} |
648 |
|
|
|
649 |
|
|
ac_save_LDFLAGS="${LDFLAGS} -lgcov" |
650 |
|
|
LDFLAGS=${ac_save_LDFLAGS} |
651 |
|
|
]) |
652 |
|
|
|
653 |
|
|
dnl |
654 |
|
|
dnl RPATH |
655 |
|
|
dnl |
656 |
|
|
|
657 |
|
|
enablerpath="yes" |
658 |
|
|
AC_ARG_ENABLE(rpath, |
659 |
|
|
AC_HELP_STRING([--disable-rpath],[Disable use of -Wl,-rpath= during linking.]), |
660 |
|
|
[enablerpath="$enableval"], [enablerpath="yes"]) |
661 |
|
|
RPATH="" |
662 |
|
|
if test "x$enablerpath" = "xyes"; then |
663 |
|
|
RPATH="-Wl,-rpath,${libdir}" |
664 |
|
|
fi |
665 |
|
|
|
666 |
|
|
AC_SUBST(RPATH) |
667 |
|
|
|
668 |
|
|
echo |
669 |
|
|
echo "Makefile generation" |
670 |
|
|
echo |
671 |
|
|
|
672 |
pippijn |
1.8 |
dnl include/common/callback.h |
673 |
pippijn |
1.2 |
AC_OUTPUT([ |
674 |
pippijn |
1.1 |
Makefile |
675 |
pippijn |
1.2 |
doc/Makefile |
676 |
pippijn |
1.1 |
modules/Makefile |
677 |
|
|
modules/Makefile.common |
678 |
|
|
modules/Makefile.defs |
679 |
|
|
modules/backend/Makefile |
680 |
|
|
modules/chanserv/Makefile |
681 |
|
|
modules/contrib/Makefile |
682 |
|
|
modules/crypto/Makefile |
683 |
|
|
modules/gameserv/Makefile |
684 |
|
|
modules/global/Makefile |
685 |
|
|
modules/memoserv/Makefile |
686 |
|
|
modules/misc/Makefile |
687 |
|
|
modules/nickserv/Makefile |
688 |
|
|
modules/operserv/Makefile |
689 |
|
|
modules/protocol/Makefile |
690 |
|
|
modules/rpc/Makefile |
691 |
|
|
modules/saslserv/Makefile |
692 |
pippijn |
1.2 |
po/Makefile.in |
693 |
pippijn |
1.1 |
src/Makefile |
694 |
|
|
test/Makefile |
695 |
|
|
]) |
696 |
|
|
|
697 |
|
|
d=`eval echo ${MODDIR}` |
698 |
|
|
d=`eval echo $d` |
699 |
|
|
echo " |
700 |
|
|
Configuration: |
701 |
|
|
lib$PACKAGE version : ${PACKAGE_VERSION} |
702 |
|
|
Installation prefix : ${prefix} |
703 |
|
|
Module root directory : `eval echo $d` |
704 |
|
|
Config directory : ${sysconfdir} |
705 |
|
|
Logfile directory : ${LOGDIR} |
706 |
|
|
Data directory : ${DATADIR} |
707 |
|
|
PID directory : ${RUNDIR} |
708 |
|
|
Large network support : ${LARGENET} |
709 |
|
|
OpenSSL SASL support : ${SSL} |
710 |
|
|
Socket Engine : ${SOCKET_ENGINE} |
711 |
|
|
Block Allocator : ${balloc} |
712 |
|
|
CXXFLAGS : ${CXXFLAGS} |
713 |
|
|
|
714 |
|
|
Type make to build $PACKAGE, and make install to install it." |
715 |
|
|
|