ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/ermyth/configure.ac
(Generate patch)

Comparing ermyth/configure.ac (file contents):
Revision 1.1 by pippijn, Thu Jul 19 08:24:47 2007 UTC vs.
Revision 1.12 by pippijn, Sat Sep 22 14:27:25 2007 UTC

1dnl configure.ac: Process this file with autoconf to produce a configure script.
2dnl
1dnl Copyright © 2007 Pippijn van Steenhoven / The Ermyth Team 3dnl Copyright © 2007 Pippijn van Steenhoven / The Ermyth Team
2dnl Copyright © 2005 Atheme Development Group
3dnl Rights to this code are documented in doc/LICENSE. 4dnl Rights to this code are as documented in COPYING.
4dnl 5dnl
6dnl
7dnl Portions of this file were derived from sources bearing the following license:
8dnl Copyright © 2003-2004 E. Will et al.
9dnl Rights to this code are documented in doc/pod/license.pod.
10dnl
5dnl $Id: configure.ac,v 1.1 2007/07/19 08:24:47 pippijn Exp $ 11dnl $Id: configure.ac,v 1.12 2007/09/22 14:27:25 pippijn Exp $
6 12dnl
7dnl Process this file with autoconf to produce a configure script.
8 13
9AC_PREREQ(2.59) 14AC_PREREQ(2.59)
10AC_INIT([ermyth], [2.3], [ermyth@one09.net]) 15AC_INIT([ermyth], [2.3], [ermyth@one09.net])
11AC_CONFIG_HEADER(include/sysconf.h) 16AC_CONFIG_HEADER(include/sysconf.h)
12AC_CONFIG_AUX_DIR(autoconf) 17AC_CONFIG_AUX_DIR(autoconf)
13 18
14AC_COPYRIGHT([$Id: configure.ac,v 1.1 2007/07/19 08:24:47 pippijn Exp $]) 19AC_COPYRIGHT([$Id: configure.ac,v 1.12 2007/09/22 14:27:25 pippijn Exp $])
15 20
16AC_PREFIX_DEFAULT(~/PACKAGE) 21AC_PREFIX_DEFAULT(~/PACKAGE)
17 22
18dnl Automake compatibility. 23dnl Automake compatibility.
19AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME]) 24AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])
34AC_PATH_PROG(AR, ar) 39AC_PATH_PROG(AR, ar)
35AC_PATH_PROG(RANLIB, ranlib) 40AC_PATH_PROG(RANLIB, ranlib)
36 41
37AC_PATH_PROG(PKG_CONFIG, pkg-config, no) 42AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
38 43
39#--------------------------------------------------
40# AC_MSG_CHECKING(glib >= 2.10) 44AC_MSG_CHECKING(glib >= 2.10)
41# if $PKG_CONFIG glib-2.0 --atleast-version 2.10; then 45if $PKG_CONFIG glib-2.0 --atleast-version 2.10; then
42# CXXFLAGS="$CXXFLAGS `$PKG_CONFIG glib-2.0 --cflags`" 46 CXXFLAGS="$CXXFLAGS `$PKG_CONFIG glib-2.0 --cflags`"
43# LIBS="$LIBS `$PKG_CONFIG glib-2.0 --libs`" 47 LIBS="$LIBS `$PKG_CONFIG glib-2.0 --libs`"
44# AC_MSG_RESULT(ok) 48 AC_MSG_RESULT(ok)
45# else 49else
46# AC_MSG_ERROR(no) 50 AC_MSG_ERROR(no)
47# fi 51fi
48#--------------------------------------------------
49 52
50AC_PATH_PROG(PERL, perl5.8) 53AC_PATH_PROG(PERL, perl5.8)
51if test -z "$PERL"; then 54if test -z "$PERL"; then
52 AC_PATH_PROG(PERL, perl5) 55 AC_PATH_PROG(PERL, perl5)
53 if test -z "$PERL"; then 56 if test -z "$PERL"; then
60 63
61dnl 64dnl
62dnl Source generation 65dnl Source generation
63dnl 66dnl
64 67
65CALLBACKS=`$PERL $srcdir/include/gencallbacks.pl 7` 68dnl CALLBACKS=`$PERL $srcdir/include/common/gencallbacks.pl 7`
66AC_SUBST(CALLBACKS) 69dnl AC_SUBST(CALLBACKS)
67 70
68dnl 71dnl
69dnl GNU gettext 72dnl GNU gettext
70dnl 73dnl
71 74
107 110
108dnl 111dnl
109dnl Checks for header files. 112dnl Checks for header files.
110dnl 113dnl
111 114
112AC_CHECK_HEADERS(getopt.h link.h valgrind/memcheck.h) 115AC_CHECK_HEADERS(valgrind/memcheck.h)
113AC_CHECK_HEADER(tr1/unordered_map, [], [AC_MSG_ERROR([Your compiler must support the Library Technical Report 1 extensions.])]) 116AC_CHECK_HEADER(tr1/unordered_map, [], [AC_MSG_ERROR([Your compiler must support the Library Technical Report 1 extensions.])])
114 117
115AC_DEFINE(_REENTRANT, [1], [Define this]) 118AC_DEFINE(_REENTRANT, [1], [Define this])
116 119
117#-------------------------------------------------- 120#--------------------------------------------------
203AC_CHECK_LIB(crypt, crypt, [ 206AC_CHECK_LIB(crypt, crypt, [
204 POSIX_CRYPTC="posix.C" 207 POSIX_CRYPTC="posix.C"
205 LIBS="$LIBS -lcrypt" 208 LIBS="$LIBS -lcrypt"
206]) 209])
207 210
211AC_MSG_CHECKING(for libresolv)
212AC_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])
219if 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"
223else
224 AC_MSG_RESULT([no, unable to link])
225fi
226
208AC_MSG_CHECKING(for $PERL suitability) 227AC_MSG_CHECKING(for $PERL suitability)
209if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>&1; then 228if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>&1; then
210 save_CXXFLAGS="$CXXFLAGS" 229 save_CXXFLAGS="$CXXFLAGS"
211 save_LIBS="$LIBS" 230 save_LIBS="$LIBS"
212 xPERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`" 231 xPERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`"
297 srcdir="`cd \"$srcdir\";pwd`" 316 srcdir="`cd \"$srcdir\";pwd`"
298 ;; 317 ;;
299 esac 318 esac
300fi 319fi
301SRCDIR="$srcdir" 320SRCDIR="$srcdir"
321BUILDROOT=`pwd`
302 322
303AC_SUBST(ABSPATHS) 323AC_SUBST(ABSPATHS)
304AC_SUBST(SRCDIR) 324AC_SUBST(SRCDIR)
325AC_SUBST(BUILDROOT)
305 326
306dnl 327dnl
307dnl Filesystem Hierarchy Standard 328dnl Filesystem Hierarchy Standard
308dnl 329dnl
309 330
448AC_CHECK_HEADER([openssl/ssl.h],, 469AC_CHECK_HEADER([openssl/ssl.h],,
449[ 470[
450 OPENSSL_FOUND=no 471 OPENSSL_FOUND=no
451],[]) 472],[])
452 473
453if test x$OPENSSL_FOUND != xno; then
454 LIBS="$LIBS -lssl -lcrypto"
455fi
456
457AM_CONDITIONAL(HAVE_OPENSSL,test x$OPENSSL_FOUND != xno) 474AM_CONDITIONAL(HAVE_OPENSSL,test x$OPENSSL_FOUND != xno)
458 475
459echo 476echo
460echo "Module support" 477echo "Module support"
461echo 478echo
462 479
463dynamic_loading="yes" 480dynamic_loading="yes"
464
465if test "$dynamic_loading" = yes; then
466 AC_CHECK_HEADERS(dlfcn.h)
467 AC_SEARCH_LIBS(dlopen, [dl c_r],
468 [
469 AC_DEFINE(HAVE_DLOPEN, 1, [Define if the dlopen function is available.])
470 AC_CHECK_FUNC(dlsym, ,
471 [
472 AC_ERROR([dynamic loading unavailable, $PACKAGE will not work on your system])
473 ])
474 AC_CHECK_FUNCS(dlfunc)
475 AC_CHECK_FUNCS(dlinfo)
476 ],
477 [
478 AC_ERROR([dynamic loading unavailable, $PACKAGE will not work on your system])
479 ])
480fi
481 481
482if test "$dynamic_loading" = yes; then 482if test "$dynamic_loading" = yes; then
483 # The GNU linker requires the -export-dynamic option to make 483 # The GNU linker requires the -export-dynamic option to make
484 # all symbols visible in the dynamic symbol table. 484 # all symbols visible in the dynamic symbol table.
485 hold_ldflags=$LDFLAGS 485 hold_ldflags=$LDFLAGS
563AC_SUBST(PICFLAGS) 563AC_SUBST(PICFLAGS)
564 564
565AC_ARG_ENABLE(warnings, 565AC_ARG_ENABLE(warnings,
566AC_HELP_STRING([--enable-warnings],[ Enable compiler warnings]), 566AC_HELP_STRING([--enable-warnings],[ Enable compiler warnings]),
567[ 567[
568echo 568
569echo " "
569echo "Compiler warnings" 570echo "Compiler warnings"
570echo 571echo " "
571 572
572dnl See what warnings we can get away with 573dnl See what warnings we can get away with
573ATHEME_C_GCC_TRY_FLAGS([-Wall], atheme_cv_c_gcc_w_all) 574ERMYTH_C_GCC_TRY_FLAGS([-Wall], ermyth_cv_c_gcc_w_all)
574ATHEME_C_GCC_TRY_FLAGS([-Wpointer-arith], atheme_cv_c_gcc_w_pointer_arith) 575ERMYTH_C_GCC_TRY_FLAGS([-Wpointer-arith], ermyth_cv_c_gcc_w_pointer_arith)
575ATHEME_C_GCC_TRY_FLAGS([-Wimplicit -Wnested-externs], atheme_cv_c_gcc_w_implicit) 576ERMYTH_C_GCC_TRY_FLAGS([-Wimplicit], ermyth_cv_c_gcc_w_implicit)
576ATHEME_C_GCC_TRY_FLAGS([-Wcast-align], atheme_cv_c_gcc_w_cast_align) 577ERMYTH_C_GCC_TRY_FLAGS([-Wcast-align], ermyth_cv_c_gcc_w_cast_align)
577ATHEME_C_GCC_TRY_FLAGS([-Wcast-qual], atheme_cv_c_gcc_w_cast_qual) 578ERMYTH_C_GCC_TRY_FLAGS([-Wcast-qual], ermyth_cv_c_gcc_w_cast_qual)
578ATHEME_C_GCC_TRY_FLAGS([-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations], atheme_cv_c_gcc_prototypes)
579ATHEME_C_GCC_TRY_FLAGS([-Wparenthesis], atheme_cv_c_gcc_parenthesis)
580ATHEME_C_GCC_TRY_FLAGS([-Wextra], atheme_cv_c_gcc_w_extra) 579ERMYTH_C_GCC_TRY_FLAGS([-Wextra], ermyth_cv_c_gcc_w_extra)
581ATHEME_C_GCC_TRY_FLAGS([-W -Wno-unused-parameter], atheme_cv_c_gcc_w) 580ERMYTH_C_GCC_TRY_FLAGS([-W -Wno-unused-parameter], ermyth_cv_c_gcc_w)
582ATHEME_C_GCC_TRY_FLAGS([-Wshadow], atheme_cv_c_gcc_w_shadow) 581ERMYTH_C_GCC_TRY_FLAGS([-Wshadow], ermyth_cv_c_gcc_w_shadow)
583ATHEME_C_GCC_TRY_FLAGS([-Wmissing-noreturn], atheme_cv_c_gcc_w_missing_noreturn) 582dnl ERMYTH_C_GCC_TRY_FLAGS([-Wmissing-noreturn], ermyth_cv_c_gcc_w_missing_noreturn)
584ATHEME_C_GCC_TRY_FLAGS([-Wundef], atheme_cv_c_gcc_w_undef) 583ERMYTH_C_GCC_TRY_FLAGS([-Wundef], ermyth_cv_c_gcc_w_undef)
585ATHEME_C_GCC_TRY_FLAGS([-Wpacked], atheme_cv_c_gcc_w_packed) 584ERMYTH_C_GCC_TRY_FLAGS([-Wpacked], ermyth_cv_c_gcc_w_packed)
586ATHEME_C_GCC_TRY_FLAGS([-Wnested-externs], atheme_cv_c_gcc_w_nested_externs)
587ATHEME_C_GCC_TRY_FLAGS([-Wbad-function-cast], atheme_cv_c_gcc_w_bad_function_cast)
588ATHEME_C_GCC_TRY_FLAGS([-Wunused-function -Wunused-label -Wunused-value -Wunused-variable], atheme_cv_c_gcc_w_unused) 585ERMYTH_C_GCC_TRY_FLAGS([-Wunused-function -Wunused-label -Wunused-value -Wunused-variable], ermyth_cv_c_gcc_w_unused)
589ATHEME_C_GCC_TRY_FLAGS([-Wredundant-decls], atheme_cv_c_gcc_w_redundant_decls) 586ERMYTH_C_GCC_TRY_FLAGS([-Wredundant-decls], ermyth_cv_c_gcc_w_redundant_decls)
590ATHEME_C_GCC_TRY_FLAGS([-Wfloat-equal], atheme_cv_c_gcc_w_float_equal) 587ERMYTH_C_GCC_TRY_FLAGS([-Wfloat-equal], ermyth_cv_c_gcc_w_float_equal)
591ATHEME_C_GCC_TRY_FLAGS([-Wformat=2], atheme_cv_c_gcc_w_format) 588ERMYTH_C_GCC_TRY_FLAGS([-Wformat=2], ermyth_cv_c_gcc_w_format)
592ATHEME_C_GCC_TRY_FLAGS([-Wdisabled-optimization], atheme_cv_c_gcc_w_format) 589ERMYTH_C_GCC_TRY_FLAGS([-Wdisabled-optimization], ermyth_cv_c_gcc_w_format)
593ATHEME_C_GCC_TRY_FLAGS([-pedantic], atheme_cv_c_gcc_pedantic) 590ERMYTH_C_GCC_TRY_FLAGS([-pedantic], ermyth_cv_c_gcc_pedantic)
594ATHEME_C_GCC_TRY_FLAGS([-std=c89], atheme_cv_c_gcc_c89) 591ERMYTH_C_GCC_TRY_FLAGS([-std=c++98], ermyth_cv_c_gcc_cpp98)
595 592
596dnl Too unreliable to be useful at this time. 593dnl Too unreliable to be useful at this time.
597dnl ATHEME_C_GCC_TRY_FLAGS([-Wunreachable-code], atheme_cv_c_gcc_w_unreachable_code) 594dnl ERMYTH_C_GCC_TRY_FLAGS([-Wunreachable-code], ermyth_cv_c_gcc_w_unreachable_code)
598 595
599dnl Maintainer flags. 596dnl Maintainer flags.
600dnl ATHEME_C_GCC_TRY_FLAGS([-Wconversion], atheme_cv_c_gcc_w_conversion) 597ERMYTH_C_GCC_TRY_FLAGS([-Wconversion], ermyth_cv_c_gcc_w_conversion)
601ATHEME_C_GCC_TRY_FLAGS([-Wwrite-strings], atheme_cv_c_gcc_w_strings) 598ERMYTH_C_GCC_TRY_FLAGS([-Wwrite-strings], ermyth_cv_c_gcc_w_strings)
602dnl ATHEME_C_GCC_TRY_FLAGS([-Werror], atheme_cv_c_gcc_w_error) 599dnl ERMYTH_C_GCC_TRY_FLAGS([-Werror], ermyth_cv_c_gcc_w_error)
603]) 600])
604 601
605AC_ARG_ENABLE(propolice, 602AC_ARG_ENABLE(propolice,
606AC_HELP_STRING([--disable-propolice],[ Disable propolice protections 603AC_HELP_STRING([--disable-propolice],[ Disable propolice protections
607(for debugging.)]), 604(for debugging.)]),
609 606
610echo 607echo
611echo "Disabling propolice." 608echo "Disabling propolice."
612echo 609echo
613 610
614ATHEME_C_GCC_TRY_FLAGS([-fno-stack-protector-all], atheme_nspa) 611ERMYTH_C_GCC_TRY_FLAGS([-fno-stack-protector-all], ermyth_nspa)
615ATHEME_C_GCC_TRY_FLAGS([-fno-pie], atheme_npie) 612ERMYTH_C_GCC_TRY_FLAGS([-fno-pie], ermyth_npie)
616ATHEME_C_GCC_TRY_FLAGS([-nonow], atheme_nonow) 613ERMYTH_C_GCC_TRY_FLAGS([-nonow], ermyth_nonow)
617ATHEME_C_GCC_TRY_FLAGS([-norelro], atheme_no_relro) 614ERMYTH_C_GCC_TRY_FLAGS([-norelro], ermyth_no_relro)
618]) 615])
619 616
620AC_ARG_ENABLE(profile, 617AC_ARG_ENABLE(profile,
621AC_HELP_STRING([--enable-profile],[ Enable profiling extensions]), 618AC_HELP_STRING([--enable-profile],[ Enable profiling extensions]),
622[ 619[
623 620
624echo 621echo
625echo "Enabling profiling." 622echo "Enabling profiling."
626echo 623echo
627 624
628ATHEME_C_GCC_TRY_FLAGS([-pg], atheme_pg) 625ERMYTH_C_GCC_TRY_FLAGS([-pg], ermyth_pg)
629ac_save_LDFLAGS="${LDFLAGS} -pg" 626ac_save_LDFLAGS="${LDFLAGS} -pg"
630LDFLAGS=${ac_save_LDFLAGS} 627LDFLAGS=${ac_save_LDFLAGS}
631]) 628])
632 629
633ac_save_CXXFLAGS="${CXXFLAGS} ${orig_CXXFLAGS} ${CWARNS} -DPREFIX=\\\"\${prefix}\\\" -DLOCALEDIR=\\\"\${LOCALEDIR}\\\" -DMODDIR=\\\"\${MODDIR}\\\" -DSHAREDIR=\\\"${SHAREDIR}\\\" -DSYSCONFDIR=\\\"${sysconfdir}\\\" -DLOGDIR=\\\"${LOGDIR}\\\" -DRUNDIR=\\\"${RUNDIR}\\\" -DDATADIR=\\\"${DATADIR}\\\"" 630ac_save_CXXFLAGS="${CXXFLAGS} ${orig_CXXFLAGS} ${CWARNS} -DPREFIX=\\\"\${prefix}\\\" -DLOCALEDIR=\\\"\${LOCALEDIR}\\\" -DMODDIR=\\\"\${MODDIR}\\\" -DSHAREDIR=\\\"${SHAREDIR}\\\" -DSYSCONFDIR=\\\"${sysconfdir}\\\" -DLOGDIR=\\\"${LOGDIR}\\\" -DRUNDIR=\\\"${RUNDIR}\\\" -DDATADIR=\\\"${DATADIR}\\\""
640 637
641echo 638echo
642echo "Enabling coverage analysis." 639echo "Enabling coverage analysis."
643echo 640echo
644 641
645ATHEME_C_GCC_TRY_FLAGS([-fprofile-arcs], atheme_profile_arcs) 642ERMYTH_C_GCC_TRY_FLAGS([-fprofile-arcs], ermyth_profile_arcs)
646ac_save_CXXFLAGS="${CXXFLAGS} -fprofile-arcs" 643ac_save_CXXFLAGS="${CXXFLAGS} -fprofile-arcs"
647CXXFLAGS=${ac_save_CXXFLAGS} 644CXXFLAGS=${ac_save_CXXFLAGS}
648 645
649dnl ATHEME_C_GCC_TRY_FLAGS([-fbranch-probabilities], atheme_branch_probabilities) 646dnl ERMYTH_C_GCC_TRY_FLAGS([-fbranch-probabilities], ermyth_branch_probabilities)
650dnl ac_save_CXXFLAGS="${CXXFLAGS} -fbranch-probabilities" 647dnl ac_save_CXXFLAGS="${CXXFLAGS} -fbranch-probabilities"
651dnl CXXFLAGS=${ac_save_CXXFLAGS} 648dnl CXXFLAGS=${ac_save_CXXFLAGS}
652 649
653ATHEME_C_GCC_TRY_FLAGS([-ftest-coverage], atheme_test_coverage) 650ERMYTH_C_GCC_TRY_FLAGS([-ftest-coverage], ermyth_test_coverage)
654ac_save_CXXFLAGS="${CXXFLAGS} -ftest-coverage" 651ac_save_CXXFLAGS="${CXXFLAGS} -ftest-coverage"
655CXXFLAGS=${ac_save_CXXFLAGS} 652CXXFLAGS=${ac_save_CXXFLAGS}
656 653
657ac_save_LDFLAGS="${LDFLAGS} -lgcov" 654ac_save_LDFLAGS="${LDFLAGS} -lgcov"
658LDFLAGS=${ac_save_LDFLAGS} 655LDFLAGS=${ac_save_LDFLAGS}
675 672
676echo 673echo
677echo "Makefile generation" 674echo "Makefile generation"
678echo 675echo
679 676
680AC_OUTPUT([ po/Makefile.in 677dnl include/common/callback.h
678AC_OUTPUT([
681 Makefile 679 Makefile
682 include/callback.h 680 doc/Makefile
681 libermyth/Makefile
682 libermyth/Makefile.common
683 libermyth/Makefile.defs
684 libermyth/util/Makefile
683 modules/Makefile 685 modules/Makefile
684 modules/Makefile.common 686 modules/Makefile.common
685 modules/Makefile.defs 687 modules/Makefile.defs
686 modules/backend/Makefile 688 modules/backend/Makefile
687 modules/chanserv/Makefile 689 modules/chanserv/Makefile
694 modules/nickserv/Makefile 696 modules/nickserv/Makefile
695 modules/operserv/Makefile 697 modules/operserv/Makefile
696 modules/protocol/Makefile 698 modules/protocol/Makefile
697 modules/rpc/Makefile 699 modules/rpc/Makefile
698 modules/saslserv/Makefile 700 modules/saslserv/Makefile
701 po/Makefile.in
699 src/Makefile 702 src/Makefile
700 test/Makefile 703 test/Makefile
701]) 704])
702 705
703d=`eval echo ${MODDIR}` 706d=`eval echo ${MODDIR}`

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines