diff options
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | acinclude.m4 | 641 | ||||
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | m4/as-compiler-flag.m4 | 61 | ||||
-rw-r--r-- | m4/dolt.m4 | 177 | ||||
-rw-r--r-- | m4/evo_ldap_check.m4 | 92 | ||||
-rw-r--r-- | m4/evo_pilot_link_check.m4 | 117 | ||||
-rw-r--r-- | m4/evo_pthread_check.m4 | 16 | ||||
-rw-r--r-- | m4/evo_purify_support.m4 | 23 | ||||
-rw-r--r-- | m4/evo_sunldap_check.m4 | 94 |
10 files changed, 583 insertions, 641 deletions
diff --git a/Makefile.am b/Makefile.am index a70342d85c..6161c2a664 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,5 @@ +ACLOCAL_AMFLAGS=-I m4 + changelogs = \ ChangeLog \ ChangeLog.pre-1-4 diff --git a/acinclude.m4 b/acinclude.m4 deleted file mode 100644 index 2cd23b2a9f..0000000000 --- a/acinclude.m4 +++ /dev/null @@ -1,641 +0,0 @@ -# evolution/acinclude.m4 -# shared configure.in hacks between Evolution and Connector - -# serial 1 - -# EVO_PURIFY_SUPPORT -# Add --enable-purify. If the user turns it on, subst PURIFY and set -# the automake conditional ENABLE_PURIFY -AC_DEFUN([EVO_PURIFY_SUPPORT], [ - AC_ARG_ENABLE([purify], - [AS_HELP_STRING([--enable-purify], - [Enable support for building executables with Purify.])], - [enable_purify=yes],[enable_purify=no]) - AC_PATH_PROG(PURIFY, purify, impure) - AC_ARG_WITH([purify-options], - [AS_HELP_STRING([--with-purify-options@<:@=OPTIONS@:>@], - [Options passed to the purify command line (defaults to PURIFYOPTIONS variable).])]) - if test "x$with_purify_options" = "xno"; then - with_purify_options="-always-use-cache-dir=yes -cache-dir=/gnome/lib/purify" - fi - if test "x$PURIFYOPTIONS" = "x"; then - PURIFYOPTIONS=$with_purify_options - fi - AC_SUBST(PURIFY) - AM_CONDITIONAL(ENABLE_PURIFY, [test x$enable_purify = xyes -a x$PURIFY != ximpure]) - PURIFY="$PURIFY $PURIFYOPTIONS" -]) - - -# EVO_LDAP_CHECK(default) -# Add --with-openldap and --with-static-ldap options. --with-openldap -# defaults to the given value if not specified. If LDAP support is -# configured, HAVE_LDAP will be defined and the automake conditional -# ENABLE_LDAP will be set. LDAP_CFLAGS and LDAP_LIBS will be set -# appropriately. -AC_DEFUN([EVO_LDAP_CHECK], [ - default="$1" - - AC_ARG_WITH([openldap], - [AS_HELP_STRING([--with-openldap], - [Enable LDAP support in evolution])]) - AC_ARG_WITH([static-ldap], - [AS_HELP_STRING([--with-static-ldap], - [Link LDAP support statically into evolution])]) - AC_CACHE_CHECK([for OpenLDAP], [ac_cv_with_openldap], [ac_cv_with_openldap="${with_openldap:=$default}"]) - case $ac_cv_with_openldap in - no|"") - with_openldap=no - ;; - yes) - with_openldap=/usr - ;; - *) - with_openldap=$ac_cv_with_openldap - LDAP_CFLAGS="-I$ac_cv_with_openldap/include" - LDAP_LDFLAGS="-L$ac_cv_with_openldap/lib" - ;; - esac - - if test "$with_openldap" != no; then - AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support]) - - case $with_static_ldap in - no|"") - with_static_ldap=no - ;; - *) - with_static_ldap=yes - ;; - esac - - AC_CACHE_CHECK([if OpenLDAP is version 2.x], [ac_cv_openldap_version2], [ - CPPFLAGS_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $LDAP_CFLAGS" - AC_EGREP_CPP(yes, [ - #include "ldap.h" - #if LDAP_VENDOR_VERSION > 20000 - yes - #endif - ], [ac_cv_openldap_version2=yes], [ac_cv_openldap_version2=no]) - CPPFLAGS="$CPPFLAGS_save" - ]) - if test "$ac_cv_openldap_version2" = no; then - AC_MSG_ERROR([evolution requires OpenLDAP version >= 2]) - fi - - AC_CHECK_LIB(resolv, res_query, [LDAP_LIBS="-lresolv"]) - AC_CHECK_LIB(socket, bind, [LDAP_LIBS="$LDAP_LIBS -lsocket"]) - AC_CHECK_LIB(nsl, gethostbyaddr, [LDAP_LIBS="$LDAP_LIBS -lnsl"]) - AC_CHECK_LIB(lber, ber_get_tag, [ - if test "$with_static_ldap" = "yes"; then - LDAP_LIBS="$with_openldap/lib/liblber.a $LDAP_LIBS" - - # libldap might depend on OpenSSL... We need to pull - # in the dependency libs explicitly here since we're - # not using libtool for the configure test. - if test -f $with_openldap/lib/libldap.la; then - LDAP_LIBS="`. $with_openldap/lib/libldap.la; echo $dependency_libs` $LDAP_LIBS" - fi - else - LDAP_LIBS="-llber $LDAP_LIBS" - fi - AC_CHECK_LIB(ldap, ldap_open, [ - if test $with_static_ldap = "yes"; then - LDAP_LIBS="$with_openldap/lib/libldap.a $LDAP_LIBS" - else - LDAP_LIBS="-lldap $LDAP_LIBS" - fi], - [LDAP_LIBS=""], [$LDAP_LDFLAGS $LDAP_LIBS]) - LDAP_LIBS="$LDAP_LDFLAGS $LDAP_LIBS" - ], [LDAP_LIBS=""], [$LDAP_LDFLAGS $LDAP_LIBS]) - - if test -z "$LDAP_LIBS"; then - AC_MSG_ERROR([could not find OpenLDAP libraries]) - fi - - AC_SUBST(LDAP_CFLAGS) - AC_SUBST(LDAP_LIBS) - fi - AM_CONDITIONAL(ENABLE_LDAP, test "$with_openldap" != "no") -]) - -# EVO_SUNLDAP_CHECK -# Add --with-sunldap and --with-static-sunldap options. --with-sunldap -# defaults to the given value if not specified. If LDAP support is -# configured, HAVE_LDAP will be defined and the automake conditional +# ENABLE_LDAP will be set. LDAP_CFLAGS and LDAP_LIBS will be set -# appropriately, and --with-sunldap and --with-openldap is mutually exclusive. -AC_DEFUN([EVO_SUNLDAP_CHECK], [ - default="$1" - - AC_ARG_WITH([sunldap], - [AS_HELP_STRING([--with-sunldap], - [Enable SunLDAP support in evolution])]) - AC_ARG_WITH([static-sunldap], - [AS_HELP_STRING([--with-static-sunldap], - [Link SunLDAP support statically into evolution])]) - AC_CACHE_CHECK([for SunLDAP],[ac_cv_with_sunldap],[ac_cv_with_sunldap="${with_sunldap:=$default}"]) - case $ac_cv_with_sunldap in - no|"") - with_sunldap=no - ;; - yes) - with_sunldap=/usr - ;; - *) - with_sunldap=$ac_cv_with_sunldap - LDAP_CFLAGS="-I$ac_cv_with_sunldap/include" - LDAP_LDFLAGS="-L$ac_cv_with_sunldap/lib" - ;; - esac - - if test "$with_sunldap" != no; then - AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support]) - AC_DEFINE(SUNLDAP, 1, [Define if you use SunLDAP]) - - case $with_static_sunldap in - no|"") - with_static_sunldap=no - ;; - *) - with_static_sunldap=yes - ;; - esac - - AC_CACHE_CHECK([if SunLDAP is version 2.x], [ac_cv_sunldap_version2], [ - CPPFLAGS_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $LDAP_CFLAGS" - AC_EGREP_CPP(yes, [ - #include "ldap.h" - #if LDAP_VENDOR_VERSION >= 500 - yes - #endif - ],[ac_cv_sunldap_version2=yes],[ac_cv_sunldap_version2=no]) - CPPFLAGS="$CPPFLAGS_save" - ]) - if test "$ac_cv_sunldap_version2" = no; then - AC_MSG_ERROR([evolution requires SunLDAP version >= 2]) - fi - - AC_CHECK_LIB(resolv, res_query, [LDAP_LIBS="-lresolv"]) - AC_CHECK_LIB(socket, bind, [LDAP_LIBS="$LDAP_LIBS -lsocket"]) - AC_CHECK_LIB(nsl, gethostbyaddr, [LDAP_LIBS="$LDAP_LIBS -lnsl"]) - AC_CHECK_LIB(ldap, ldap_open, [ - if test $with_static_sunldap = "yes"; then - LDAP_LIBS="$with_sunldap/lib/libldap.a $LDAP_LIBS" - else - LDAP_LIBS="-lldap $LDAP_LIBS" - fi - if test `uname -s` != "SunOS" ; then - AC_CHECK_LIB(lber, ber_get_tag, [ - if test "$with_static_sunldap" = "yes"; then - LDAP_LIBS="$with_sunldap/lib/liblber.a $LDAP_LIBS" - # libldap might depend on OpenSSL... We need to pull - # in the dependency libs explicitly here since we're - # not using libtool for the configure test. - if test -f $with_sunldap/lib/libldap.la; then - LDAP_LIBS="`. $with_sunldap/lib/libldap.la; echo $dependency_libs` $LDAP_LIBS" - fi - else - LDAP_LIBS="-llber $LDAP_LIBS" - fi], [LDAP_LIBS=""], [$LDAP_LDFLAGS $LDAP_LIBS]) - fi - LDAP_LIBS="$LDAP_LDFLAGS $LDAP_LIBS" - ], [LDAP_LIBS=""], [$LDAP_LDFLAGS $LDAP_LIBS]) - - if test -z "$LDAP_LIBS"; then - AC_MSG_ERROR([could not find SunLDAP libraries]) - fi - - AC_SUBST(LDAP_CFLAGS) - AC_SUBST(LDAP_LIBS) - fi - AM_CONDITIONAL(ENABLE_LDAP, test "$with_sunldap" != "no") -]) - -# EVO_PTHREAD_CHECK -AC_DEFUN([EVO_PTHREAD_CHECK],[ - PTHREAD_LIB="" - AC_CHECK_LIB(pthread, pthread_create, [PTHREAD_LIB="-lpthread"], - [AC_CHECK_LIB(pthreads, pthread_create, [PTHREAD_LIB="-lpthreads"], - [AC_CHECK_LIB(c_r, pthread_create, [PTHREAD_LIB="-lc_r"], - [AC_CHECK_LIB(pthread, __pthread_attr_init_system, [PTHREAD_LIB="-lpthread"], - [AC_CHECK_FUNC(pthread_create)] - )] - )] - )] - ) - AC_SUBST(PTHREAD_LIB) - AC_PROVIDE([EVO_PTHREAD_CHECK]) -]) -dnl -*- mode: autoconf -*- - -dnl Usage: -dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) -AC_DEFUN([GTK_DOC_CHECK], -[ - AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first - AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first - dnl for overriding the documentation installation directory - AC_ARG_WITH([html-dir], - [AS_HELP_STRING([--with-html-dir=PATH], - [path to installed docs])],, - [with_html_dir='${datadir}/gtk-doc/html']) - HTML_DIR="$with_html_dir" - AC_SUBST(HTML_DIR) - - dnl enable/disable documentation building - AC_ARG_ENABLE([gtk-doc], - [AS_HELP_STRING([--enable-gtk-doc], - [use gtk-doc to build documentation [default=no]])], - ,[enable_gtk_doc=no]) - have_gtk_doc=no - if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - fi - if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then - have_gtk_doc=yes - fi - - dnl do we want to do a version check? -ifelse([$1],[],, - [gtk_doc_min_version=$1 - if test "$have_gtk_doc" = yes; then - AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version]) - if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - have_gtk_doc=no - fi - fi -]) - if test x$enable_gtk_doc = xyes; then - if test $have_gtk_doc != yes; then - enable_gtk_doc=no - fi - fi - - AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes) - AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL") -]) - -# PILOT_LINK_CHECK -# Adds --with-pisock and determines the verion of the pisock -# - -AC_SUBST(PISOCK_CFLAGS) -AC_SUBST(PISOCK_LIBS) - -AC_DEFUN([PILOT_LINK_HOOK],[ - AC_ARG_WITH([pisock], - AS_HELP_STRING([--with-pisock=PREFIX], - [Specify prefix for pisock files]), - [ - if test x$withval = xyes; then - dnl Note that an empty true branch is not valid sh syntax. - ifelse([$1], [], :, [$1]) - else - PISOCK_CFLAGS="-I$withval/include" - incdir="$withval/include" - PISOCK_LIBS="-L$withval/lib -lpisock -lpisync" - AC_MSG_CHECKING([for existance of "$withval"/lib/libpisock.so]) - if test -r $withval/lib/libpisock.so; then - AC_MSG_RESULT([yes]) - else - AC_MSG_ERROR([Unable to find libpisock. Try http://www.pilot-link.org.]) - fi - fi - ]) - - if test x$PISOCK_CFLAGS = x; then - AC_CHECK_HEADER(pi-version.h, [incdir="/usr/include"], [ - AC_CHECK_HEADER(libpisock/pi-version.h, [PISOCK_CFLAGS="-I/usr/include/libpisock" - piversion_include="libpisock/pi-version.h" - incdir="/usr/include/libpisock" - ], [ - AC_CHECK_HEADER($prefix/include/pi-version.h, [PISOCK_CFLAGS="-I$prefix/include/libpisock" - piversion_include="$prefix/include/pi-version.h" - if test x$PISOCK_LIBDIR = x; then - incdir="$prefix/include" - PISOCK_LIBS="-L$prefix/lib -lpisock -lpisync" - fi ], - AC_MSG_ERROR([Unable to find pi-version.h])) - ]) - ]) - fi - - if test "x$PISOCK_LIBS" = "x"; then - AC_CHECK_LIB(pisock, pi_accept, [ PISOCK_LIBS="-lpisock -lpisync"], - [ AC_MSG_ERROR([Unable to find libpisock. Try http://www.pilot-link.org.]) ]) - fi - - AC_ARG_ENABLE([pilotlinktest], - AS_HELP_STRING([--enable-pilotlinktest], - [Test for correct version of pilot-link]), - [testplversion="$enableval"],[testplversion=yes] - ) - - if test x$piversion_include = x; then - piversion_include="pi-version.h" - fi - - pi_major=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_VERSION'|sed 's/#define PILOT_LINK_VERSION \([[0-9]]*\)/\1/'` - pi_minor=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_MAJOR'|sed 's/#define PILOT_LINK_MAJOR \([[0-9]]*\)/\1/'` - pi_micro=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_MINOR'|sed 's/#define PILOT_LINK_MINOR \([[0-9]]*\)/\1/'` - pi_patch=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_PATCH'|sed 's/#define PILOT_LINK_PATCH \"\(.*\)\"/\1/'` - - PILOT_LINK_MAJOR="$pi_major" - PILOT_LINK_MINOR="$pi_minor" - PILOT_LINK_MICRO="$pi_micro" - PILOT_LINK_PATCH="$pi_patch" - PILOT_LINK_VERSION="$pi_major.$pi_minor.$pi_micro$pi_patch" - - if test x$testplversion = xyes; then - AC_MSG_CHECKING([for pilot-link version >= $1]) - pl_ma=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - pl_mi=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - pl_mc=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - CFLAGS_save="$CFLAGS" - CFLAGS="$CFLAGS $PISOCK_CFLAGS" - AC_TRY_RUN( - [ - #include <$piversion_include> - int main(int argc,char *argv[]) { - if (PILOT_LINK_VERSION == $pl_ma) { - if (PILOT_LINK_MAJOR == $pl_mi) { - if (PILOT_LINK_MINOR >= $pl_mc) { - return 0; - } - } else if (PILOT_LINK_MAJOR > $pl_mi) { - return 0; - } - } else if (PILOT_LINK_VERSION > $pl_ma) { - return 0; - } - return 1; - } - ], - [AC_MSG_RESULT([yes (found $PILOT_LINK_VERSION)])], - [AC_MSG_ERROR([pilot-link >= $1 required])], - [AC_MSG_WARN([No action taken for crosscompile])] - ) - CFLAGS="$CFLAGS_save" - fi - - unset piversion_include - unset pi_verion - unset pi_major - unset pi_minor - unset pi_patch - unset incdir - unset pl_mi - unset pl_ma - unset pl_ve -]) - -AC_DEFUN([PILOT_LINK_CHECK],[ - PILOT_LINK_HOOK($1,[],nofailure) -]) - - -dnl dolt, a replacement for libtool -dnl Copyright © 2007-2008 Josh Triplett <josh@freedesktop.org> -dnl Copying and distribution of this file, with or without modification, -dnl are permitted in any medium without royalty provided the copyright -dnl notice and this notice are preserved. -dnl -dnl To use dolt, invoke the DOLT macro immediately after the libtool macros. -dnl Optionally, copy this file into acinclude.m4, to avoid the need to have it -dnl installed when running autoconf on your project. - -AC_DEFUN([DOLT], [ -AC_REQUIRE([AC_CANONICAL_HOST]) -# dolt, a replacement for libtool -# Josh Triplett <josh@freedesktop.org> -AC_PATH_PROG(DOLT_BASH, bash) -AC_MSG_CHECKING([if dolt supports this host]) -dolt_supported=yes -if test x$DOLT_BASH = x; then - dolt_supported=no -fi -if test x$GCC != xyes; then - dolt_supported=no -fi -case $host in -i?86-*-linux*|x86_64-*-linux*|powerpc-*-linux* \ -|amd64-*-freebsd*|i?86-*-freebsd*|ia64-*-freebsd*) - pic_options='-fPIC' - ;; -i?86-apple-darwin*) - pic_options='-fno-common' - ;; -*) - dolt_supported=no - ;; -esac -if test x$dolt_supported = xno ; then - AC_MSG_RESULT([no, falling back to libtool]) - LTCOMPILE='$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(COMPILE)' - LTCXXCOMPILE='$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXXCOMPILE)' -else - AC_MSG_RESULT([yes, replacing libtool]) - -dnl Start writing out doltcompile. - cat <<__DOLTCOMPILE__EOF__ >doltcompile -#!$DOLT_BASH -__DOLTCOMPILE__EOF__ - cat <<'__DOLTCOMPILE__EOF__' >>doltcompile -args=("$[]@") -for ((arg=0; arg<${#args@<:@@@:>@}; arg++)) ; do - if test x"${args@<:@$arg@:>@}" = x-o ; then - objarg=$((arg+1)) - break - fi -done -if test x$objarg = x ; then - echo 'Error: no -o on compiler command line' 1>&2 - exit 1 -fi -lo="${args@<:@$objarg@:>@}" -obj="${lo%.lo}" -if test x"$lo" = x"$obj" ; then - echo "Error: libtool object file name \"$lo\" does not end in .lo" 1>&2 - exit 1 -fi -objbase="${obj##*/}" -__DOLTCOMPILE__EOF__ - -dnl Write out shared compilation code. - if test x$enable_shared = xyes; then - cat <<'__DOLTCOMPILE__EOF__' >>doltcompile -libobjdir="${obj%$objbase}.libs" -if test ! -d "$libobjdir" ; then - mkdir_out="$(mkdir "$libobjdir" 2>&1)" - mkdir_ret=$? - if test "$mkdir_ret" -ne 0 && test ! -d "$libobjdir" ; then - echo "$mkdir_out" 1>&2 - exit $mkdir_ret - fi -fi -pic_object="$libobjdir/$objbase.o" -args@<:@$objarg@:>@="$pic_object" -__DOLTCOMPILE__EOF__ - cat <<__DOLTCOMPILE__EOF__ >>doltcompile -"\${args@<:@@@:>@}" $pic_options -DPIC || exit \$? -__DOLTCOMPILE__EOF__ - fi - -dnl Write out static compilation code. -dnl Avoid duplicate compiler output if also building shared objects. - if test x$enable_static = xyes; then - cat <<'__DOLTCOMPILE__EOF__' >>doltcompile -non_pic_object="$obj.o" -args@<:@$objarg@:>@="$non_pic_object" -__DOLTCOMPILE__EOF__ - if test x$enable_shared = xyes; then - cat <<'__DOLTCOMPILE__EOF__' >>doltcompile -"${args@<:@@@:>@}" >/dev/null 2>&1 || exit $? -__DOLTCOMPILE__EOF__ - else - cat <<'__DOLTCOMPILE__EOF__' >>doltcompile -"${args@<:@@@:>@}" || exit $? -__DOLTCOMPILE__EOF__ - fi - fi - -dnl Write out the code to write the .lo file. -dnl The second line of the .lo file must match "^# Generated by .*libtool" - cat <<'__DOLTCOMPILE__EOF__' >>doltcompile -{ -echo "# $lo - a libtool object file" -echo "# Generated by doltcompile, not libtool" -__DOLTCOMPILE__EOF__ - - if test x$enable_shared = xyes; then - cat <<'__DOLTCOMPILE__EOF__' >>doltcompile -echo "pic_object='.libs/${objbase}.o'" -__DOLTCOMPILE__EOF__ - else - cat <<'__DOLTCOMPILE__EOF__' >>doltcompile -echo pic_object=none -__DOLTCOMPILE__EOF__ - fi - - if test x$enable_static = xyes; then - cat <<'__DOLTCOMPILE__EOF__' >>doltcompile -echo "non_pic_object='${objbase}.o'" -__DOLTCOMPILE__EOF__ - else - cat <<'__DOLTCOMPILE__EOF__' >>doltcompile -echo non_pic_object=none -__DOLTCOMPILE__EOF__ - fi - - cat <<'__DOLTCOMPILE__EOF__' >>doltcompile -} > "$lo" -__DOLTCOMPILE__EOF__ - -dnl Done writing out doltcompile; substitute it for libtool compilation. - chmod +x doltcompile - LTCOMPILE='$(top_builddir)/doltcompile $(COMPILE)' - LTCXXCOMPILE='$(top_builddir)/doltcompile $(CXXCOMPILE)' - -dnl automake ignores LTCOMPILE and LTCXXCOMPILE when it has separate CFLAGS for -dnl a target, so write out a libtool wrapper to handle that case. -dnl Note that doltlibtool does not handle inferred tags or option arguments -dnl without '=', because automake does not use them. - cat <<__DOLTLIBTOOL__EOF__ > doltlibtool -#!$DOLT_BASH -__DOLTLIBTOOL__EOF__ - cat <<'__DOLTLIBTOOL__EOF__' >>doltlibtool -top_builddir_slash="${0%%doltlibtool}" -: ${top_builddir_slash:=./} -args=() -modeok=false -tagok=false -for arg in "$[]@"; do - case "$arg" in - --mode=compile) modeok=true ;; - --tag=CC|--tag=CXX) tagok=true ;; - *) args+=("$arg") - esac -done -if $modeok && $tagok ; then - . ${top_builddir_slash}doltcompile "${args@<:@@@:>@}" -else - exec ${top_builddir_slash}libtool "$[]@" -fi -__DOLTLIBTOOL__EOF__ - -dnl Done writing out doltlibtool; substitute it for libtool. - chmod +x doltlibtool - LIBTOOL='$(top_builddir)/doltlibtool' -fi -AC_SUBST(LTCOMPILE) -AC_SUBST(LTCXXCOMPILE) -# end dolt -]) - -dnl as-compiler-flag.m4 0.1.0 - -dnl autostars m4 macro for detection of compiler flags - -dnl David Schleef <ds@schleef.org> - -dnl $Id: as-compiler-flag.m4,v 1.1 2005/12/15 23:35:19 ds Exp $ - -dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED]) -dnl Tries to compile with the given CFLAGS. -dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags, -dnl and ACTION-IF-NOT-ACCEPTED otherwise. - -AC_DEFUN([AS_COMPILER_FLAG], -[ - AC_MSG_CHECKING([to see if compiler understands $1]) - - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $1" - - AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) - CFLAGS="$save_CFLAGS" - - if test "X$flag_ok" = Xyes ; then - m4_ifvaln([$2],[$2]) - true - else - m4_ifvaln([$3],[$3]) - true - fi - AC_MSG_RESULT([$flag_ok]) -]) - -dnl AS_COMPILER_FLAGS(VAR, FLAGS) -dnl Tries to compile with the given CFLAGS. - -AC_DEFUN([AS_COMPILER_FLAGS], -[ - list=$2 - flags_supported="" - flags_unsupported="" - AC_MSG_CHECKING([for supported compiler flags]) - for each in $list - do - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $each" - AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) - CFLAGS="$save_CFLAGS" - - if test "X$flag_ok" = Xyes ; then - flags_supported="$flags_supported $each" - else - flags_unsupported="$flags_unsupported $each" - fi - done - AC_MSG_RESULT([$flags_supported]) - if test "X$flags_unsupported" != X ; then - AC_MSG_WARN([unsupported compiler flags: $flags_unsupported]) - fi - $1="$$1 $flags_supported" -]) - diff --git a/configure.ac b/configure.ac index 9245e69748..0d457a41fa 100644 --- a/configure.ac +++ b/configure.ac @@ -24,6 +24,7 @@ dnl Autoconf / Automake Initialization AC_PREREQ(2.58) AC_INIT([evolution],[evo_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=Evolution]) AM_INIT_AUTOMAKE([gnu 1.9]) +AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS(config.h) AC_CONFIG_SRCDIR(README) diff --git a/m4/as-compiler-flag.m4 b/m4/as-compiler-flag.m4 new file mode 100644 index 0000000000..1c74267a33 --- /dev/null +++ b/m4/as-compiler-flag.m4 @@ -0,0 +1,61 @@ +dnl as-compiler-flag.m4 0.1.0 + +dnl autostars m4 macro for detection of compiler flags + +dnl David Schleef <ds@schleef.org> + +dnl $Id: as-compiler-flag.m4,v 1.1 2005/12/15 23:35:19 ds Exp $ + +dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED]) +dnl Tries to compile with the given CFLAGS. +dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags, +dnl and ACTION-IF-NOT-ACCEPTED otherwise. + +AC_DEFUN([AS_COMPILER_FLAG], +[ + AC_MSG_CHECKING([to see if compiler understands $1]) + + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $1" + + AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) + CFLAGS="$save_CFLAGS" + + if test "X$flag_ok" = Xyes ; then + m4_ifvaln([$2],[$2]) + true + else + m4_ifvaln([$3],[$3]) + true + fi + AC_MSG_RESULT([$flag_ok]) +]) + +dnl AS_COMPILER_FLAGS(VAR, FLAGS) +dnl Tries to compile with the given CFLAGS. + +AC_DEFUN([AS_COMPILER_FLAGS], +[ + list=$2 + flags_supported="" + flags_unsupported="" + AC_MSG_CHECKING([for supported compiler flags]) + for each in $list + do + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $each" + AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) + CFLAGS="$save_CFLAGS" + + if test "X$flag_ok" = Xyes ; then + flags_supported="$flags_supported $each" + else + flags_unsupported="$flags_unsupported $each" + fi + done + AC_MSG_RESULT([$flags_supported]) + if test "X$flags_unsupported" != X ; then + AC_MSG_WARN([unsupported compiler flags: $flags_unsupported]) + fi + $1="$$1 $flags_supported" +]) diff --git a/m4/dolt.m4 b/m4/dolt.m4 new file mode 100644 index 0000000000..8f94582fb8 --- /dev/null +++ b/m4/dolt.m4 @@ -0,0 +1,177 @@ +dnl dolt, a replacement for libtool +dnl Copyright © 2007-2008 Josh Triplett <josh@freedesktop.org> +dnl Copying and distribution of this file, with or without modification, +dnl are permitted in any medium without royalty provided the copyright +dnl notice and this notice are preserved. +dnl +dnl To use dolt, invoke the DOLT macro immediately after the libtool macros. +dnl Optionally, copy this file into acinclude.m4, to avoid the need to have it +dnl installed when running autoconf on your project. + +AC_DEFUN([DOLT], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +# dolt, a replacement for libtool +# Josh Triplett <josh@freedesktop.org> +AC_PATH_PROG(DOLT_BASH, bash) +AC_MSG_CHECKING([if dolt supports this host]) +dolt_supported=yes +if test x$DOLT_BASH = x; then + dolt_supported=no +fi +if test x$GCC != xyes; then + dolt_supported=no +fi +case $host in +i?86-*-linux*|x86_64-*-linux*|powerpc-*-linux* \ +|amd64-*-freebsd*|i?86-*-freebsd*|ia64-*-freebsd*) + pic_options='-fPIC' + ;; +i?86-apple-darwin*) + pic_options='-fno-common' + ;; +*) + dolt_supported=no + ;; +esac +if test x$dolt_supported = xno ; then + AC_MSG_RESULT([no, falling back to libtool]) + LTCOMPILE='$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(COMPILE)' + LTCXXCOMPILE='$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXXCOMPILE)' +else + AC_MSG_RESULT([yes, replacing libtool]) + +dnl Start writing out doltcompile. + cat <<__DOLTCOMPILE__EOF__ >doltcompile +#!$DOLT_BASH +__DOLTCOMPILE__EOF__ + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +args=("$[]@") +for ((arg=0; arg<${#args@<:@@@:>@}; arg++)) ; do + if test x"${args@<:@$arg@:>@}" = x-o ; then + objarg=$((arg+1)) + break + fi +done +if test x$objarg = x ; then + echo 'Error: no -o on compiler command line' 1>&2 + exit 1 +fi +lo="${args@<:@$objarg@:>@}" +obj="${lo%.lo}" +if test x"$lo" = x"$obj" ; then + echo "Error: libtool object file name \"$lo\" does not end in .lo" 1>&2 + exit 1 +fi +objbase="${obj##*/}" +__DOLTCOMPILE__EOF__ + +dnl Write out shared compilation code. + if test x$enable_shared = xyes; then + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +libobjdir="${obj%$objbase}.libs" +if test ! -d "$libobjdir" ; then + mkdir_out="$(mkdir "$libobjdir" 2>&1)" + mkdir_ret=$? + if test "$mkdir_ret" -ne 0 && test ! -d "$libobjdir" ; then + echo "$mkdir_out" 1>&2 + exit $mkdir_ret + fi +fi +pic_object="$libobjdir/$objbase.o" +args@<:@$objarg@:>@="$pic_object" +__DOLTCOMPILE__EOF__ + cat <<__DOLTCOMPILE__EOF__ >>doltcompile +"\${args@<:@@@:>@}" $pic_options -DPIC || exit \$? +__DOLTCOMPILE__EOF__ + fi + +dnl Write out static compilation code. +dnl Avoid duplicate compiler output if also building shared objects. + if test x$enable_static = xyes; then + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +non_pic_object="$obj.o" +args@<:@$objarg@:>@="$non_pic_object" +__DOLTCOMPILE__EOF__ + if test x$enable_shared = xyes; then + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +"${args@<:@@@:>@}" >/dev/null 2>&1 || exit $? +__DOLTCOMPILE__EOF__ + else + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +"${args@<:@@@:>@}" || exit $? +__DOLTCOMPILE__EOF__ + fi + fi + +dnl Write out the code to write the .lo file. +dnl The second line of the .lo file must match "^# Generated by .*libtool" + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +{ +echo "# $lo - a libtool object file" +echo "# Generated by doltcompile, not libtool" +__DOLTCOMPILE__EOF__ + + if test x$enable_shared = xyes; then + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +echo "pic_object='.libs/${objbase}.o'" +__DOLTCOMPILE__EOF__ + else + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +echo pic_object=none +__DOLTCOMPILE__EOF__ + fi + + if test x$enable_static = xyes; then + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +echo "non_pic_object='${objbase}.o'" +__DOLTCOMPILE__EOF__ + else + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +echo non_pic_object=none +__DOLTCOMPILE__EOF__ + fi + + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +} > "$lo" +__DOLTCOMPILE__EOF__ + +dnl Done writing out doltcompile; substitute it for libtool compilation. + chmod +x doltcompile + LTCOMPILE='$(top_builddir)/doltcompile $(COMPILE)' + LTCXXCOMPILE='$(top_builddir)/doltcompile $(CXXCOMPILE)' + +dnl automake ignores LTCOMPILE and LTCXXCOMPILE when it has separate CFLAGS for +dnl a target, so write out a libtool wrapper to handle that case. +dnl Note that doltlibtool does not handle inferred tags or option arguments +dnl without '=', because automake does not use them. + cat <<__DOLTLIBTOOL__EOF__ > doltlibtool +#!$DOLT_BASH +__DOLTLIBTOOL__EOF__ + cat <<'__DOLTLIBTOOL__EOF__' >>doltlibtool +top_builddir_slash="${0%%doltlibtool}" +: ${top_builddir_slash:=./} +args=() +modeok=false +tagok=false +for arg in "$[]@"; do + case "$arg" in + --mode=compile) modeok=true ;; + --tag=CC|--tag=CXX) tagok=true ;; + *) args@<:@${#args[@]}@:>@="$arg" ;; + esac +done +if $modeok && $tagok ; then + . ${top_builddir_slash}doltcompile "${args@<:@@@:>@}" +else + exec ${top_builddir_slash}libtool "$[]@" +fi +__DOLTLIBTOOL__EOF__ + +dnl Done writing out doltlibtool; substitute it for libtool. + chmod +x doltlibtool + LIBTOOL='$(top_builddir)/doltlibtool' +fi +AC_SUBST(LTCOMPILE) +AC_SUBST(LTCXXCOMPILE) +# end dolt +]) diff --git a/m4/evo_ldap_check.m4 b/m4/evo_ldap_check.m4 new file mode 100644 index 0000000000..a029ac70bf --- /dev/null +++ b/m4/evo_ldap_check.m4 @@ -0,0 +1,92 @@ +dnl EVO_LDAP_CHECK(default) +dnl Add --with-openldap and --with-static-ldap options. --with-openldap +dnl defaults to the given value if not specified. If LDAP support is +dnl configured, HAVE_LDAP will be defined and the automake conditional +dnl ENABLE_LDAP will be set. LDAP_CFLAGS and LDAP_LIBS will be set +dnl appropriately. +#serial 0.1 +AC_DEFUN([EVO_LDAP_CHECK],[ + default="$1" + AC_ARG_WITH([openldap], + [AS_HELP_STRING([--with-openldap], + [Enable LDAP support in evolution])]) + AC_ARG_WITH([static-ldap], + [AS_HELP_STRING([--with-static-ldap], + [Link LDAP support statically into evolution])]) + AC_CACHE_CHECK([for OpenLDAP], [ac_cv_with_openldap], [ac_cv_with_openldap="${with_openldap:=$default}"]) + case $ac_cv_with_openldap in + no|"") + with_openldap=no + ;; + yes) + with_openldap=/usr + ;; + *) + with_openldap=$ac_cv_with_openldap + LDAP_CFLAGS="-I$ac_cv_with_openldap/include" + LDAP_LDFLAGS="-L$ac_cv_with_openldap/lib" + ;; + esac + + if test "$with_openldap" != no; then + AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support]) + + case $with_static_ldap in + no|"") + with_static_ldap=no + ;; + *) + with_static_ldap=yes + ;; + esac + + AC_CACHE_CHECK([if OpenLDAP is version 2.x], [ac_cv_openldap_version2], [ + CPPFLAGS_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $LDAP_CFLAGS" + AC_EGREP_CPP(yes, [ + #include "ldap.h" + #if LDAP_VENDOR_VERSION > 20000 + yes + #endif + ], [ac_cv_openldap_version2=yes], [ac_cv_openldap_version2=no]) + CPPFLAGS="$CPPFLAGS_save" + ]) + if test "$ac_cv_openldap_version2" = no; then + AC_MSG_ERROR([evolution requires OpenLDAP version >= 2]) + fi + + AC_CHECK_LIB(resolv, res_query, [LDAP_LIBS="-lresolv"]) + AC_CHECK_LIB(socket, bind, [LDAP_LIBS="$LDAP_LIBS -lsocket"]) + AC_CHECK_LIB(nsl, gethostbyaddr, [LDAP_LIBS="$LDAP_LIBS -lnsl"]) + AC_CHECK_LIB(lber, ber_get_tag, [ + if test "$with_static_ldap" = "yes"; then + LDAP_LIBS="$with_openldap/lib/liblber.a $LDAP_LIBS" + + # libldap might depend on OpenSSL... We need to pull + # in the dependency libs explicitly here since we're + # not using libtool for the configure test. + if test -f $with_openldap/lib/libldap.la; then + LDAP_LIBS="`. $with_openldap/lib/libldap.la; echo $dependency_libs` $LDAP_LIBS" + fi + else + LDAP_LIBS="-llber $LDAP_LIBS" + fi + AC_CHECK_LIB(ldap, ldap_open, [ + if test $with_static_ldap = "yes"; then + LDAP_LIBS="$with_openldap/lib/libldap.a $LDAP_LIBS" + else + LDAP_LIBS="-lldap $LDAP_LIBS" + fi], + [LDAP_LIBS=""], [$LDAP_LDFLAGS $LDAP_LIBS]) + LDAP_LIBS="$LDAP_LDFLAGS $LDAP_LIBS" + ], [LDAP_LIBS=""], [$LDAP_LDFLAGS $LDAP_LIBS]) + + if test -z "$LDAP_LIBS"; then + AC_MSG_ERROR([could not find OpenLDAP libraries]) + fi + + AC_SUBST(LDAP_CFLAGS) + AC_SUBST(LDAP_LIBS) + fi + AM_CONDITIONAL(ENABLE_LDAP, test "$with_openldap" != "no") +]) diff --git a/m4/evo_pilot_link_check.m4 b/m4/evo_pilot_link_check.m4 new file mode 100644 index 0000000000..5c97fe2a1b --- /dev/null +++ b/m4/evo_pilot_link_check.m4 @@ -0,0 +1,117 @@ +dnl PILOT_LINK_CHECK +dnl Adds --with-pisock and determines the verion of the pisock +#serial 0.1 +AC_SUBST(PISOCK_CFLAGS) +AC_SUBST(PISOCK_LIBS) + +AC_DEFUN([PILOT_LINK_HOOK],[ + AC_ARG_WITH([pisock], + AS_HELP_STRING([--with-pisock=PREFIX], + [Specify prefix for pisock files]), + [ + if test x$withval = xyes; then + dnl Note that an empty true branch is not valid sh syntax. + ifelse([$1], [], :, [$1]) + else + PISOCK_CFLAGS="-I$withval/include" + incdir="$withval/include" + PISOCK_LIBS="-L$withval/lib -lpisock -lpisync" + AC_MSG_CHECKING([for existance of "$withval"/lib/libpisock.so]) + if test -r $withval/lib/libpisock.so; then + AC_MSG_RESULT([yes]) + else + AC_MSG_ERROR([Unable to find libpisock. Try http://www.pilot-link.org.]) + fi + fi + ]) + + if test x$PISOCK_CFLAGS = x; then + AC_CHECK_HEADER(pi-version.h, [incdir="/usr/include"], [ + AC_CHECK_HEADER(libpisock/pi-version.h, [PISOCK_CFLAGS="-I/usr/include/libpisock" + piversion_include="libpisock/pi-version.h" + incdir="/usr/include/libpisock" + ],[ + AC_CHECK_HEADER($prefix/include/pi-version.h, [PISOCK_CFLAGS="-I$prefix/include/libpisock" + piversion_include="$prefix/include/pi-version.h" + if test x$PISOCK_LIBDIR = x; then + incdir="$prefix/include" + PISOCK_LIBS="-L$prefix/lib -lpisock -lpisync" + fi + ], + AC_MSG_ERROR([Unable to find pi-version.h])) + ]) + ]) + fi + + if test "x$PISOCK_LIBS" = "x"; then + AC_CHECK_LIB(pisock, pi_accept, [ PISOCK_LIBS="-lpisock -lpisync"], + [ AC_MSG_ERROR([Unable to find libpisock. Try http://www.pilot-link.org.]) ]) + fi + + AC_ARG_ENABLE([pilotlinktest], + AS_HELP_STRING([--enable-pilotlinktest], + [Test for correct version of pilot-link]), + [testplversion="$enableval"],[testplversion=yes] + ) + + if test x$piversion_include = x; then + piversion_include="pi-version.h" + fi + + pi_major=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_VERSION'|sed 's/#define PILOT_LINK_VERSION \([[0-9]]*\)/\1/'` + pi_minor=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_MAJOR'|sed 's/#define PILOT_LINK_MAJOR \([[0-9]]*\)/\1/'` + pi_micro=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_MINOR'|sed 's/#define PILOT_LINK_MINOR \([[0-9]]*\)/\1/'` + pi_patch=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_PATCH'|sed 's/#define PILOT_LINK_PATCH \"\(.*\)\"/\1/'` + + PILOT_LINK_MAJOR="$pi_major" + PILOT_LINK_MINOR="$pi_minor" + PILOT_LINK_MICRO="$pi_micro" + PILOT_LINK_PATCH="$pi_patch" + PILOT_LINK_VERSION="$pi_major.$pi_minor.$pi_micro$pi_patch" + + if test x$testplversion = xyes; then + AC_MSG_CHECKING([for pilot-link version >= $1]) + pl_ma=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + pl_mi=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + pl_mc=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + CFLAGS_save="$CFLAGS" + CFLAGS="$CFLAGS $PISOCK_CFLAGS" + AC_TRY_RUN( + [ + #include <$piversion_include> + int main(int argc,char *argv[]) { + if (PILOT_LINK_VERSION == $pl_ma) { + if (PILOT_LINK_MAJOR == $pl_mi) { + if (PILOT_LINK_MINOR >= $pl_mc) { + return 0; + } + } else if (PILOT_LINK_MAJOR > $pl_mi) { + return 0; + } + } else if (PILOT_LINK_VERSION > $pl_ma) { + return 0; + } + return 1; + } + ], + [AC_MSG_RESULT([yes (found $PILOT_LINK_VERSION)])], + [AC_MSG_ERROR([pilot-link >= $1 required])], + [AC_MSG_WARN([No action taken for crosscompile])] + ) + CFLAGS="$CFLAGS_save" + fi + + unset piversion_include + unset pi_verion + unset pi_major + unset pi_minor + unset pi_patch + unset incdir + unset pl_mi + unset pl_ma + unset pl_ve +]) + +AC_DEFUN([PILOT_LINK_CHECK],[ + PILOT_LINK_HOOK($1,[],nofailure) +]) diff --git a/m4/evo_pthread_check.m4 b/m4/evo_pthread_check.m4 new file mode 100644 index 0000000000..5a96fc53e2 --- /dev/null +++ b/m4/evo_pthread_check.m4 @@ -0,0 +1,16 @@ +dnl EVO_PTHREAD_CHECK +#serial 0.1 +AC_DEFUN([EVO_PTHREAD_CHECK],[ + PTHREAD_LIB="" + AC_CHECK_LIB(pthread, pthread_create, [PTHREAD_LIB="-lpthread"], + [AC_CHECK_LIB(pthreads, pthread_create, [PTHREAD_LIB="-lpthreads"], + [AC_CHECK_LIB(c_r, pthread_create, [PTHREAD_LIB="-lc_r"], + [AC_CHECK_LIB(pthread, __pthread_attr_init_system, [PTHREAD_LIB="-lpthread"], + [AC_CHECK_FUNC(pthread_create)] + )] + )] + )] + ) + AC_SUBST(PTHREAD_LIB) + AC_PROVIDE([EVO_PTHREAD_CHECK]) +]) diff --git a/m4/evo_purify_support.m4 b/m4/evo_purify_support.m4 new file mode 100644 index 0000000000..b64f2ebc04 --- /dev/null +++ b/m4/evo_purify_support.m4 @@ -0,0 +1,23 @@ +dnl EVO_PURIFY_SUPPORT +dnl Add --enable-purify. If the user turns it on, subst PURIFY and set +dnl the automake conditional ENABLE_PURIFY +#serial 0.1 +AC_DEFUN([EVO_PURIFY_SUPPORT], + [AC_ARG_ENABLE([purify], + [AS_HELP_STRING([--enable-purify], + [Enable support for building executables with Purify.])], + [enable_purify=yes],[enable_purify=no]) + AC_PATH_PROG(PURIFY, purify, impure) + AC_ARG_WITH([purify-options], + [AS_HELP_STRING([--with-purify-options@<:@=OPTIONS@:>@], + [Options passed to the purify command line (defaults to PURIFYOPTIONS variable).])]) + if test "x$with_purify_options" = "xno"; then + with_purify_options="-always-use-cache-dir=yes -cache-dir=/gnome/lib/purify" + fi + if test "x$PURIFYOPTIONS" = "x"; then + PURIFYOPTIONS=$with_purify_options + fi + AC_SUBST(PURIFY) + AM_CONDITIONAL(ENABLE_PURIFY, [test x$enable_purify = xyes -a x$PURIFY != ximpure]) + PURIFY="$PURIFY $PURIFYOPTIONS" +]) diff --git a/m4/evo_sunldap_check.m4 b/m4/evo_sunldap_check.m4 new file mode 100644 index 0000000000..bd85534ed8 --- /dev/null +++ b/m4/evo_sunldap_check.m4 @@ -0,0 +1,94 @@ +dnl EVO_SUNLDAP_CHECK +dnl Add --with-sunldap and --with-static-sunldap options. --with-sunldap +dnl defaults to the given value if not specified. If LDAP support is +dnl configured, HAVE_LDAP will be defined and the automake conditional +dnl ENABLE_LDAP will be set. LDAP_CFLAGS and LDAP_LIBS will be set +dnl appropriately, and --with-sunldap and --with-openldap is mutually exclusive. +#serial 0.1 +AC_DEFUN([EVO_SUNLDAP_CHECK], [ + default="$1" + + AC_ARG_WITH([sunldap], + [AS_HELP_STRING([--with-sunldap], + [Enable SunLDAP support in evolution])]) + AC_ARG_WITH([static-sunldap], + [AS_HELP_STRING([--with-static-sunldap], + [Link SunLDAP support statically into evolution])]) + AC_CACHE_CHECK([for SunLDAP],[ac_cv_with_sunldap],[ac_cv_with_sunldap="${with_sunldap:=$default}"]) + case $ac_cv_with_sunldap in + no|"") + with_sunldap=no + ;; + yes) + with_sunldap=/usr + ;; + *) + with_sunldap=$ac_cv_with_sunldap + LDAP_CFLAGS="-I$ac_cv_with_sunldap/include" + LDAP_LDFLAGS="-L$ac_cv_with_sunldap/lib" + ;; + esac + + if test "$with_sunldap" != no; then + AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support]) + AC_DEFINE(SUNLDAP, 1, [Define if you use SunLDAP]) + + case $with_static_sunldap in + no|"") + with_static_sunldap=no + ;; + *) + with_static_sunldap=yes + ;; + esac + + AC_CACHE_CHECK([if SunLDAP is version 2.x], [ac_cv_sunldap_version2], [ + CPPFLAGS_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $LDAP_CFLAGS" + AC_EGREP_CPP(yes, [ + #include "ldap.h" + #if LDAP_VENDOR_VERSION >= 500 + yes + #endif + ],[ac_cv_sunldap_version2=yes],[ac_cv_sunldap_version2=no]) + CPPFLAGS="$CPPFLAGS_save" + ]) + if test "$ac_cv_sunldap_version2" = no; then + AC_MSG_ERROR([evolution requires SunLDAP version >= 2]) + fi + + AC_CHECK_LIB(resolv, res_query, [LDAP_LIBS="-lresolv"]) + AC_CHECK_LIB(socket, bind, [LDAP_LIBS="$LDAP_LIBS -lsocket"]) + AC_CHECK_LIB(nsl, gethostbyaddr, [LDAP_LIBS="$LDAP_LIBS -lnsl"]) + AC_CHECK_LIB(ldap, ldap_open, [ + if test $with_static_sunldap = "yes"; then + LDAP_LIBS="$with_sunldap/lib/libldap.a $LDAP_LIBS" + else + LDAP_LIBS="-lldap $LDAP_LIBS" + fi + if test `uname -s` != "SunOS" ; then + AC_CHECK_LIB(lber, ber_get_tag, [ + if test "$with_static_sunldap" = "yes"; then + LDAP_LIBS="$with_sunldap/lib/liblber.a $LDAP_LIBS" + # libldap might depend on OpenSSL... We need to pull + # in the dependency libs explicitly here since we're + # not using libtool for the configure test. + if test -f $with_sunldap/lib/libldap.la; then + LDAP_LIBS="`. $with_sunldap/lib/libldap.la; echo $dependency_libs` $LDAP_LIBS" + fi + else + LDAP_LIBS="-llber $LDAP_LIBS" + fi], [LDAP_LIBS=""], [$LDAP_LDFLAGS $LDAP_LIBS]) + fi + LDAP_LIBS="$LDAP_LDFLAGS $LDAP_LIBS" + ], [LDAP_LIBS=""], [$LDAP_LDFLAGS $LDAP_LIBS]) + + if test -z "$LDAP_LIBS"; then + AC_MSG_ERROR([could not find SunLDAP libraries]) + fi + + AC_SUBST(LDAP_CFLAGS) + AC_SUBST(LDAP_LIBS) + fi + AM_CONDITIONAL(ENABLE_LDAP, test "$with_sunldap" != "no") +]) |