ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/ermyth/configure.ac
Revision: 1.12
Committed: Sat Sep 22 14:27:25 2007 UTC (16 years, 7 months ago) by pippijn
Branch: MAIN
CVS Tags: HEAD
Changes since 1.11: +14 -5 lines
Log Message:
split up ermyth into ermyth-modules, libermyth (currently just ermyth-util) and ermyth-core

File Contents

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