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.11 by pippijn, Sun Sep 16 18:54:41 2007 UTC

1dnl Copyright © 2007 Pippijn van Steenhoven / The Ermyth Team 1dnl Copyright © 2007 Pippijn van Steenhoven / The Ermyth Team
2dnl Copyright © 2005 Atheme Development Group 2dnl Copyright © 2005 Atheme Development Group
3dnl Rights to this code are documented in doc/LICENSE. 3dnl Rights to this code are documented in doc/pod/license.pod.
4dnl 4dnl
5dnl $Id: configure.ac,v 1.1 2007/07/19 08:24:47 pippijn Exp $ 5dnl $Id: configure.ac,v 1.11 2007/09/16 18:54:41 pippijn Exp $
6 6
7dnl Process this file with autoconf to produce a configure script. 7dnl Process this file with autoconf to produce a configure script.
8 8
9AC_PREREQ(2.59) 9AC_PREREQ(2.59)
10AC_INIT([ermyth], [2.3], [ermyth@one09.net]) 10AC_INIT([ermyth], [2.3], [ermyth@one09.net])
11AC_CONFIG_HEADER(include/sysconf.h) 11AC_CONFIG_HEADER(include/sysconf.h)
12AC_CONFIG_AUX_DIR(autoconf) 12AC_CONFIG_AUX_DIR(autoconf)
13 13
14AC_COPYRIGHT([$Id: configure.ac,v 1.1 2007/07/19 08:24:47 pippijn Exp $]) 14AC_COPYRIGHT([$Id: configure.ac,v 1.11 2007/09/16 18:54:41 pippijn Exp $])
15 15
16AC_PREFIX_DEFAULT(~/PACKAGE) 16AC_PREFIX_DEFAULT(~/PACKAGE)
17 17
18dnl Automake compatibility. 18dnl Automake compatibility.
19AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME]) 19AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])
34AC_PATH_PROG(AR, ar) 34AC_PATH_PROG(AR, ar)
35AC_PATH_PROG(RANLIB, ranlib) 35AC_PATH_PROG(RANLIB, ranlib)
36 36
37AC_PATH_PROG(PKG_CONFIG, pkg-config, no) 37AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
38 38
39#--------------------------------------------------
40# AC_MSG_CHECKING(glib >= 2.10) 39AC_MSG_CHECKING(glib >= 2.10)
41# if $PKG_CONFIG glib-2.0 --atleast-version 2.10; then 40if $PKG_CONFIG glib-2.0 --atleast-version 2.10; then
42# CXXFLAGS="$CXXFLAGS `$PKG_CONFIG glib-2.0 --cflags`" 41 CXXFLAGS="$CXXFLAGS `$PKG_CONFIG glib-2.0 --cflags`"
43# LIBS="$LIBS `$PKG_CONFIG glib-2.0 --libs`" 42 LIBS="$LIBS `$PKG_CONFIG glib-2.0 --libs`"
44# AC_MSG_RESULT(ok) 43 AC_MSG_RESULT(ok)
45# else 44else
46# AC_MSG_ERROR(no) 45 AC_MSG_ERROR(no)
47# fi 46fi
48#--------------------------------------------------
49 47
50AC_PATH_PROG(PERL, perl5.8) 48AC_PATH_PROG(PERL, perl5.8)
51if test -z "$PERL"; then 49if test -z "$PERL"; then
52 AC_PATH_PROG(PERL, perl5) 50 AC_PATH_PROG(PERL, perl5)
53 if test -z "$PERL"; then 51 if test -z "$PERL"; then
60 58
61dnl 59dnl
62dnl Source generation 60dnl Source generation
63dnl 61dnl
64 62
65CALLBACKS=`$PERL $srcdir/include/gencallbacks.pl 7` 63dnl CALLBACKS=`$PERL $srcdir/include/common/gencallbacks.pl 7`
66AC_SUBST(CALLBACKS) 64dnl AC_SUBST(CALLBACKS)
67 65
68dnl 66dnl
69dnl GNU gettext 67dnl GNU gettext
70dnl 68dnl
71 69
107 105
108dnl 106dnl
109dnl Checks for header files. 107dnl Checks for header files.
110dnl 108dnl
111 109
112AC_CHECK_HEADERS(getopt.h link.h valgrind/memcheck.h) 110AC_CHECK_HEADERS(valgrind/memcheck.h)
113AC_CHECK_HEADER(tr1/unordered_map, [], [AC_MSG_ERROR([Your compiler must support the Library Technical Report 1 extensions.])]) 111AC_CHECK_HEADER(tr1/unordered_map, [], [AC_MSG_ERROR([Your compiler must support the Library Technical Report 1 extensions.])])
114 112
115AC_DEFINE(_REENTRANT, [1], [Define this]) 113AC_DEFINE(_REENTRANT, [1], [Define this])
116 114
117#-------------------------------------------------- 115#--------------------------------------------------
203AC_CHECK_LIB(crypt, crypt, [ 201AC_CHECK_LIB(crypt, crypt, [
204 POSIX_CRYPTC="posix.C" 202 POSIX_CRYPTC="posix.C"
205 LIBS="$LIBS -lcrypt" 203 LIBS="$LIBS -lcrypt"
206]) 204])
207 205
206AC_MSG_CHECKING(for libresolv)
207AC_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])
214if 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"
218else
219 AC_MSG_RESULT([no, unable to link])
220fi
221
208AC_MSG_CHECKING(for $PERL suitability) 222AC_MSG_CHECKING(for $PERL suitability)
209if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>&1; then 223if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>&1; then
210 save_CXXFLAGS="$CXXFLAGS" 224 save_CXXFLAGS="$CXXFLAGS"
211 save_LIBS="$LIBS" 225 save_LIBS="$LIBS"
212 xPERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`" 226 xPERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`"
297 srcdir="`cd \"$srcdir\";pwd`" 311 srcdir="`cd \"$srcdir\";pwd`"
298 ;; 312 ;;
299 esac 313 esac
300fi 314fi
301SRCDIR="$srcdir" 315SRCDIR="$srcdir"
316BUILDROOT=`pwd`
302 317
303AC_SUBST(ABSPATHS) 318AC_SUBST(ABSPATHS)
304AC_SUBST(SRCDIR) 319AC_SUBST(SRCDIR)
320AC_SUBST(BUILDROOT)
305 321
306dnl 322dnl
307dnl Filesystem Hierarchy Standard 323dnl Filesystem Hierarchy Standard
308dnl 324dnl
309 325
448AC_CHECK_HEADER([openssl/ssl.h],, 464AC_CHECK_HEADER([openssl/ssl.h],,
449[ 465[
450 OPENSSL_FOUND=no 466 OPENSSL_FOUND=no
451],[]) 467],[])
452 468
453if test x$OPENSSL_FOUND != xno; then
454 LIBS="$LIBS -lssl -lcrypto"
455fi
456
457AM_CONDITIONAL(HAVE_OPENSSL,test x$OPENSSL_FOUND != xno) 469AM_CONDITIONAL(HAVE_OPENSSL,test x$OPENSSL_FOUND != xno)
458 470
459echo 471echo
460echo "Module support" 472echo "Module support"
461echo 473echo
462 474
463dynamic_loading="yes" 475dynamic_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 476
482if test "$dynamic_loading" = yes; then 477if test "$dynamic_loading" = yes; then
483 # The GNU linker requires the -export-dynamic option to make 478 # The GNU linker requires the -export-dynamic option to make
484 # all symbols visible in the dynamic symbol table. 479 # all symbols visible in the dynamic symbol table.
485 hold_ldflags=$LDFLAGS 480 hold_ldflags=$LDFLAGS
563AC_SUBST(PICFLAGS) 558AC_SUBST(PICFLAGS)
564 559
565AC_ARG_ENABLE(warnings, 560AC_ARG_ENABLE(warnings,
566AC_HELP_STRING([--enable-warnings],[ Enable compiler warnings]), 561AC_HELP_STRING([--enable-warnings],[ Enable compiler warnings]),
567[ 562[
568echo 563
564echo " "
569echo "Compiler warnings" 565echo "Compiler warnings"
570echo 566echo " "
571 567
572dnl See what warnings we can get away with 568dnl See what warnings we can get away with
573ATHEME_C_GCC_TRY_FLAGS([-Wall], atheme_cv_c_gcc_w_all) 569ERMYTH_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) 570ERMYTH_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) 571ERMYTH_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) 572ERMYTH_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) 573ERMYTH_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) 574ERMYTH_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) 575ERMYTH_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) 576ERMYTH_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) 577dnl 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) 578ERMYTH_C_GCC_TRY_FLAGS([-Wundef], ermyth_cv_c_gcc_w_undef)
585ATHEME_C_GCC_TRY_FLAGS([-Wpacked], atheme_cv_c_gcc_w_packed) 579ERMYTH_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) 580ERMYTH_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) 581ERMYTH_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) 582ERMYTH_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) 583ERMYTH_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) 584ERMYTH_C_GCC_TRY_FLAGS([-Wdisabled-optimization], ermyth_cv_c_gcc_w_format)
593ATHEME_C_GCC_TRY_FLAGS([-pedantic], atheme_cv_c_gcc_pedantic) 585ERMYTH_C_GCC_TRY_FLAGS([-pedantic], ermyth_cv_c_gcc_pedantic)
594ATHEME_C_GCC_TRY_FLAGS([-std=c89], atheme_cv_c_gcc_c89) 586ERMYTH_C_GCC_TRY_FLAGS([-std=c++98], ermyth_cv_c_gcc_cpp98)
595 587
596dnl Too unreliable to be useful at this time. 588dnl Too unreliable to be useful at this time.
597dnl ATHEME_C_GCC_TRY_FLAGS([-Wunreachable-code], atheme_cv_c_gcc_w_unreachable_code) 589dnl ERMYTH_C_GCC_TRY_FLAGS([-Wunreachable-code], ermyth_cv_c_gcc_w_unreachable_code)
598 590
599dnl Maintainer flags. 591dnl Maintainer flags.
600dnl ATHEME_C_GCC_TRY_FLAGS([-Wconversion], atheme_cv_c_gcc_w_conversion) 592ERMYTH_C_GCC_TRY_FLAGS([-Wconversion], ermyth_cv_c_gcc_w_conversion)
601ATHEME_C_GCC_TRY_FLAGS([-Wwrite-strings], atheme_cv_c_gcc_w_strings) 593ERMYTH_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) 594dnl ERMYTH_C_GCC_TRY_FLAGS([-Werror], ermyth_cv_c_gcc_w_error)
603]) 595])
604 596
605AC_ARG_ENABLE(propolice, 597AC_ARG_ENABLE(propolice,
606AC_HELP_STRING([--disable-propolice],[ Disable propolice protections 598AC_HELP_STRING([--disable-propolice],[ Disable propolice protections
607(for debugging.)]), 599(for debugging.)]),
609 601
610echo 602echo
611echo "Disabling propolice." 603echo "Disabling propolice."
612echo 604echo
613 605
614ATHEME_C_GCC_TRY_FLAGS([-fno-stack-protector-all], atheme_nspa) 606ERMYTH_C_GCC_TRY_FLAGS([-fno-stack-protector-all], ermyth_nspa)
615ATHEME_C_GCC_TRY_FLAGS([-fno-pie], atheme_npie) 607ERMYTH_C_GCC_TRY_FLAGS([-fno-pie], ermyth_npie)
616ATHEME_C_GCC_TRY_FLAGS([-nonow], atheme_nonow) 608ERMYTH_C_GCC_TRY_FLAGS([-nonow], ermyth_nonow)
617ATHEME_C_GCC_TRY_FLAGS([-norelro], atheme_no_relro) 609ERMYTH_C_GCC_TRY_FLAGS([-norelro], ermyth_no_relro)
618]) 610])
619 611
620AC_ARG_ENABLE(profile, 612AC_ARG_ENABLE(profile,
621AC_HELP_STRING([--enable-profile],[ Enable profiling extensions]), 613AC_HELP_STRING([--enable-profile],[ Enable profiling extensions]),
622[ 614[
623 615
624echo 616echo
625echo "Enabling profiling." 617echo "Enabling profiling."
626echo 618echo
627 619
628ATHEME_C_GCC_TRY_FLAGS([-pg], atheme_pg) 620ERMYTH_C_GCC_TRY_FLAGS([-pg], ermyth_pg)
629ac_save_LDFLAGS="${LDFLAGS} -pg" 621ac_save_LDFLAGS="${LDFLAGS} -pg"
630LDFLAGS=${ac_save_LDFLAGS} 622LDFLAGS=${ac_save_LDFLAGS}
631]) 623])
632 624
633ac_save_CXXFLAGS="${CXXFLAGS} ${orig_CXXFLAGS} ${CWARNS} -DPREFIX=\\\"\${prefix}\\\" -DLOCALEDIR=\\\"\${LOCALEDIR}\\\" -DMODDIR=\\\"\${MODDIR}\\\" -DSHAREDIR=\\\"${SHAREDIR}\\\" -DSYSCONFDIR=\\\"${sysconfdir}\\\" -DLOGDIR=\\\"${LOGDIR}\\\" -DRUNDIR=\\\"${RUNDIR}\\\" -DDATADIR=\\\"${DATADIR}\\\"" 625ac_save_CXXFLAGS="${CXXFLAGS} ${orig_CXXFLAGS} ${CWARNS} -DPREFIX=\\\"\${prefix}\\\" -DLOCALEDIR=\\\"\${LOCALEDIR}\\\" -DMODDIR=\\\"\${MODDIR}\\\" -DSHAREDIR=\\\"${SHAREDIR}\\\" -DSYSCONFDIR=\\\"${sysconfdir}\\\" -DLOGDIR=\\\"${LOGDIR}\\\" -DRUNDIR=\\\"${RUNDIR}\\\" -DDATADIR=\\\"${DATADIR}\\\""
640 632
641echo 633echo
642echo "Enabling coverage analysis." 634echo "Enabling coverage analysis."
643echo 635echo
644 636
645ATHEME_C_GCC_TRY_FLAGS([-fprofile-arcs], atheme_profile_arcs) 637ERMYTH_C_GCC_TRY_FLAGS([-fprofile-arcs], ermyth_profile_arcs)
646ac_save_CXXFLAGS="${CXXFLAGS} -fprofile-arcs" 638ac_save_CXXFLAGS="${CXXFLAGS} -fprofile-arcs"
647CXXFLAGS=${ac_save_CXXFLAGS} 639CXXFLAGS=${ac_save_CXXFLAGS}
648 640
649dnl ATHEME_C_GCC_TRY_FLAGS([-fbranch-probabilities], atheme_branch_probabilities) 641dnl ERMYTH_C_GCC_TRY_FLAGS([-fbranch-probabilities], ermyth_branch_probabilities)
650dnl ac_save_CXXFLAGS="${CXXFLAGS} -fbranch-probabilities" 642dnl ac_save_CXXFLAGS="${CXXFLAGS} -fbranch-probabilities"
651dnl CXXFLAGS=${ac_save_CXXFLAGS} 643dnl CXXFLAGS=${ac_save_CXXFLAGS}
652 644
653ATHEME_C_GCC_TRY_FLAGS([-ftest-coverage], atheme_test_coverage) 645ERMYTH_C_GCC_TRY_FLAGS([-ftest-coverage], ermyth_test_coverage)
654ac_save_CXXFLAGS="${CXXFLAGS} -ftest-coverage" 646ac_save_CXXFLAGS="${CXXFLAGS} -ftest-coverage"
655CXXFLAGS=${ac_save_CXXFLAGS} 647CXXFLAGS=${ac_save_CXXFLAGS}
656 648
657ac_save_LDFLAGS="${LDFLAGS} -lgcov" 649ac_save_LDFLAGS="${LDFLAGS} -lgcov"
658LDFLAGS=${ac_save_LDFLAGS} 650LDFLAGS=${ac_save_LDFLAGS}
675 667
676echo 668echo
677echo "Makefile generation" 669echo "Makefile generation"
678echo 670echo
679 671
680AC_OUTPUT([ po/Makefile.in 672dnl include/common/callback.h
673AC_OUTPUT([
681 Makefile 674 Makefile
682 include/callback.h 675 doc/Makefile
683 modules/Makefile 676 modules/Makefile
684 modules/Makefile.common 677 modules/Makefile.common
685 modules/Makefile.defs 678 modules/Makefile.defs
686 modules/backend/Makefile 679 modules/backend/Makefile
687 modules/chanserv/Makefile 680 modules/chanserv/Makefile
694 modules/nickserv/Makefile 687 modules/nickserv/Makefile
695 modules/operserv/Makefile 688 modules/operserv/Makefile
696 modules/protocol/Makefile 689 modules/protocol/Makefile
697 modules/rpc/Makefile 690 modules/rpc/Makefile
698 modules/saslserv/Makefile 691 modules/saslserv/Makefile
692 po/Makefile.in
699 src/Makefile 693 src/Makefile
700 test/Makefile 694 test/Makefile
701]) 695])
702 696
703d=`eval echo ${MODDIR}` 697d=`eval echo ${MODDIR}`

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines