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.9 by pippijn, Sun Sep 2 23:14:42 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.9 2007/09/02 23:14:42 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.9 2007/09/02 23:14:42 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
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) 577ERMYTH_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