aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-02-14 23:30:17 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-02-14 23:30:17 +0000
commit83f324753d654d70508428ccac04b65419f6678d (patch)
treea8c755bd96572ad09a6a73d28b19f22002ab3ef2 /configure.ac
parent28c83a471288417041c7b144c9106fa5bc58a8bd (diff)
Change to the configure logic regarding IMAP. Prior to this commit, if you wished to configure
Asterisk with IMAP support, you would use the --with-imap configure switch in one of the following two ways: --with-imap=/some/directory would look in the directory specified for a UW IMAP source installation --with-imap would assume that you had imap-2004g installed in .. relative to the Asterisk source With this set of changes the two above options still work the same, but there are two new behaviors, too. --with-imap=system will assume that you have -libc-client.so where you store your shared objects and will attempt to find c-client headers in your include path either in the imap or c-client directory. If either of the two original methods of specifying the imap option should fail, then the check for --with-imap =system will be performed in addition. It is only after this "system" check that failure can happen. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@103698 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac558
1 files changed, 408 insertions, 150 deletions
diff --git a/configure.ac b/configure.ac
index 81f48b3c4..64e97329f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -479,156 +479,414 @@ if test "${PBX_IKSEMEL}" = 1; then
fi
if test "${USE_IMAP_TK}" != "no"; then
- if test "${IMAP_TK_DIR}" = ""; then
- IMAP_TK_DIR=`pwd`"/../imap-2004g"
- if test -n "${IMAP_TK_MANDATORY}"; then
- AC_MSG_NOTICE([The --with-imap option does not search your system for installed])
- AC_MSG_NOTICE([c-client library/header files. Since you did not provide a path])
- AC_MSG_NOTICE([the configure script will assume you have placed built the c-client])
- AC_MSG_NOTICE([files at ${IMAP_TK_DIR}, as outlined in the doc/imapstorage.txt file.])
- fi
- fi
- AC_MSG_CHECKING(for UW IMAP Toolkit c-client library)
- saved_cppflags="${CPPFLAGS}"
- saved_libs="${LIBS}"
- if test -f ${IMAP_TK_DIR}/c-client/LDFLAGS ; then
- imap_ldflags=`cat ${IMAP_TK_DIR}/c-client/LDFLAGS`
- fi
- CPPFLAGS="${CPPFLAGS} -I${IMAP_TK_DIR}/c-client"
- LIBS="${LIBS} ${IMAP_TK_DIR}/c-client/c-client.a "`echo ${imap_ldflags}`
- AC_LINK_IFELSE(
- AC_LANG_PROGRAM(
- [#include "c-client.h"
- void mm_searched (MAILSTREAM *stream,unsigned long number)
- {
- }
- void mm_exists (MAILSTREAM *stream,unsigned long number)
- {
- }
- void mm_expunged (MAILSTREAM *stream,unsigned long number)
- {
- }
- void mm_flags (MAILSTREAM *stream,unsigned long number)
- {
- }
- void mm_notify (MAILSTREAM *stream,char *string,long errflg)
- {
- }
- void mm_list (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
- {
- }
- void mm_lsub (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
- {
- }
- void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status)
- {
- }
- void mm_log (char *string,long errflg)
- {
- }
- void mm_dlog (char *string)
- {
- }
- void mm_login (NETMBX *mb,char *user,char *pwd,long trial)
- {
- }
- void mm_critical (MAILSTREAM *stream)
- {
- }
- void mm_nocritical (MAILSTREAM *stream)
- {
- }
- long mm_diskerror (MAILSTREAM *stream,long errcode,long serious)
- {
- }
- void mm_fatal (char *string)
- {
- }],
- [
- MAILSTREAM *foo = mail_open(NULL, "", 0);
- ]
- ),
- [ac_cv_imap_tk="yes"],
- [ac_cv_imap_tk="no"]
- )
- if test "${ac_cv_imap_tk}" = "yes"; then
- AC_LINK_IFELSE(
- AC_LANG_PROGRAM(
- [#include "c-client.h"
- void mm_searched (MAILSTREAM *stream,unsigned long number)
- {
- }
- void mm_exists (MAILSTREAM *stream,unsigned long number)
- {
- }
- void mm_expunged (MAILSTREAM *stream,unsigned long number)
- {
- }
- void mm_flags (MAILSTREAM *stream,unsigned long number)
- {
- }
- void mm_notify (MAILSTREAM *stream,char *string,long errflg)
- {
- }
- void mm_list (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
- {
- }
- void mm_lsub (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
- {
- }
- void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status)
- {
- }
- void mm_log (char *string,long errflg)
- {
- }
- void mm_dlog (char *string)
- {
- }
- void mm_login (NETMBX *mb,char *user,char *pwd,long trial)
- {
- }
- void mm_critical (MAILSTREAM *stream)
- {
- }
- void mm_nocritical (MAILSTREAM *stream)
- {
- }
- long mm_diskerror (MAILSTREAM *stream,long errcode,long serious)
- {
- }
- void mm_fatal (char *string)
- {
- }],
- [
- long check = mail_expunge_full(NULL, "", 0);
- ]
- ),
- [ac_cv_imap_tk2006="yes"],
- [ac_cv_imap_tk2006="no"]
- )
- fi
- CPPFLAGS="${saved_cppflags}"
- LIBS="${saved_libs}"
- if test "${ac_cv_imap_tk}" = "yes"; then
- AC_MSG_RESULT(yes)
- IMAP_TK_LIB="${IMAP_TK_DIR}/c-client/c-client.a "`echo ${imap_ldflags}`
- IMAP_TK_INCLUDE="-I${IMAP_TK_DIR}/c-client"
- PBX_IMAP_TK=1
- AC_DEFINE([HAVE_IMAP_TK], 1, [Define if your system has the UW IMAP Toolkit c-client library.])
- if test "${ac_cv_imap_tk2006}" = "yes"; then
- AC_DEFINE([HAVE_IMAP_TK2006], 1, [Define if your system has the UW IMAP Toolkit c-client library version 2006 or greater.])
- fi
- elif test -n "${IMAP_TK_MANDATORY}"; then
- AC_MSG_RESULT(no)
- AC_MSG_NOTICE([***])
- AC_MSG_NOTICE([*** The UW IMAP Toolkit installation on this system appears to be broken.])
- AC_MSG_NOTICE([*** Either correct the installation, or run configure])
- AC_MSG_NOTICE([*** including --without-imap.])
- exit 1
- else
- AC_MSG_RESULT(no)
- fi
+ if test "${IMAP_TK_DIR}" = ""; then
+ IMAP_TK_DIR=`pwd`"/../imap-2004g"
+ fi
+ saved_cppflags="${CPPFLAGS}"
+ saved_libs="${LIBS}"
+ if test "${IMAP_TK_DIR}" != "system"; then
+ AC_MSG_CHECKING(for UW IMAP Toolkit c-client library)
+ if test -f "${IMAP_TK_DIR}/c-client/LDFLAGS"; then
+ imap_ldflags=`cat ${IMAP_TK_DIR}/c-client/LDFLAGS`
+ fi
+ imap_libs="${IMAP_TK_DIR}/c-client/c-client.a"
+ imap_include="-I${IMAP_TK_DIR}/c-client"
+ CPPFLAGS="${CPPFLAGS} ${imap_include}"
+ LIBS="${LIBS} ${imap_libs} "`echo ${imap_ldflags}`
+ AC_LINK_IFELSE(
+ AC_LANG_PROGRAM(
+ [#include "c-client.h"
+ void mm_searched (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_exists (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_expunged (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_flags (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_notify (MAILSTREAM *stream,char *string,long errflg)
+ {
+ }
+ void mm_list (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_lsub (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status)
+ {
+ }
+ void mm_log (char *string,long errflg)
+ {
+ }
+ void mm_dlog (char *string)
+ {
+ }
+ void mm_login (NETMBX *mb,char *user,char *pwd,long trial)
+ {
+ }
+ void mm_critical (MAILSTREAM *stream)
+ {
+ }
+ void mm_nocritical (MAILSTREAM *stream)
+ {
+ }
+ long mm_diskerror (MAILSTREAM *stream,long errcode,long serious)
+ {
+ }
+ void mm_fatal (char *string)
+ {
+ }],
+ [
+ MAILSTREAM *foo = mail_open(NULL, "", 0);
+ ]
+ ),
+ [ac_cv_imap_tk="yes"],
+ [ac_cv_imap_tk="no"]
+ )
+ if test "${ac_cv_imap_tk}" = "yes"; then
+ AC_LINK_IFELSE(
+ AC_LANG_PROGRAM(
+ [#include "c-client.h"
+ void mm_searched (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_exists (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_expunged (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_flags (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_notify (MAILSTREAM *stream,char *string,long errflg)
+ {
+ }
+ void mm_list (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_lsub (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status)
+ {
+ }
+ void mm_log (char *string,long errflg)
+ {
+ }
+ void mm_dlog (char *string)
+ {
+ }
+ void mm_login (NETMBX *mb,char *user,char *pwd,long trial)
+ {
+ }
+ void mm_critical (MAILSTREAM *stream)
+ {
+ }
+ void mm_nocritical (MAILSTREAM *stream)
+ {
+ }
+ long mm_diskerror (MAILSTREAM *stream,long errcode,long serious)
+ {
+ }
+ void mm_fatal (char *string)
+ {
+ }],
+ [
+ long check = mail_expunge_full(NULL, "", 0);
+ ]
+ ),
+ [ac_cv_imap_tk2006="yes"],
+ [ac_cv_imap_tk2006="no"]
+ )
+ fi
+ CPPFLAGS="${saved_cppflags}"
+ LIBS="${saved_libs}"
+ if test "${ac_cv_imap_tk}" = "yes"; then
+ AC_MSG_RESULT(yes)
+ IMAP_TK_LIB="${imap_libs} "`echo ${imap_ldflags}`
+ IMAP_TK_INCLUDE="${imap_include}"
+ PBX_IMAP_TK=1
+ AC_DEFINE([HAVE_IMAP_TK], 1, [Define if your system has the UW IMAP Toolkit c-client library.])
+ if test "${ac_cv_imap_tk2006}" = "yes"; then
+ AC_DEFINE([HAVE_IMAP_TK2006], 1, [Define if your system has the UW IMAP Toolkit c-client library version 2006 or greater.])
+ fi
+ else
+ AC_MSG_RESULT(no)
+ IMAP_TK_DIR="system"
+ fi
+ fi
+ if test "${IMAP_TK_DIR}" = "system"; then
+ #We will enter here if user specified "system" or if any of above checks failed
+ AC_MSG_CHECKING([for system c-client library...])
+ imap_ldflags=""
+ imap_libs="-lc-client"
+ imap_include="-DUSE_SYSTEM_IMAP" #Try the imap directory first
+ CPPFLAGS="${CPPFLAGS} ${imap_include}"
+ LIBS="${LIBS} ${imap_libs} "`echo ${imap_ldflags}`
+ AC_LINK_IFELSE(
+ AC_LANG_PROGRAM(
+ [#include <stdio.h>
+ #include <imap/c-client.h>
+ void mm_searched (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_exists (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_expunged (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_flags (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_notify (MAILSTREAM *stream,char *string,long errflg)
+ {
+ }
+ void mm_list (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_lsub (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status)
+ {
+ }
+ void mm_log (char *string,long errflg)
+ {
+ }
+ void mm_dlog (char *string)
+ {
+ }
+ void mm_login (NETMBX *mb,char *user,char *pwd,long trial)
+ {
+ }
+ void mm_critical (MAILSTREAM *stream)
+ {
+ }
+ void mm_nocritical (MAILSTREAM *stream)
+ {
+ }
+ long mm_diskerror (MAILSTREAM *stream,long errcode,long serious)
+ {
+ }
+ void mm_fatal (char *string)
+ {
+ }],
+ [
+ MAILSTREAM *foo = mail_open(NULL, "", 0);
+ ]
+ ),
+ [ac_cv_imap_tk="yes"],
+ [ac_cv_imap_tk="no"]
+ )
+ if test "${ac_cv_imap_tk}" = "yes"; then
+ AC_LINK_IFELSE(
+ AC_LANG_PROGRAM(
+ [#include <stdio.h>
+ #include <imap/c-client.h>
+ void mm_searched (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_exists (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_expunged (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_flags (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_notify (MAILSTREAM *stream,char *string,long errflg)
+ {
+ }
+ void mm_list (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_lsub (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status)
+ {
+ }
+ void mm_log (char *string,long errflg)
+ {
+ }
+ void mm_dlog (char *string)
+ {
+ }
+ void mm_login (NETMBX *mb,char *user,char *pwd,long trial)
+ {
+ }
+ void mm_critical (MAILSTREAM *stream)
+ {
+ }
+ void mm_nocritical (MAILSTREAM *stream)
+ {
+ }
+ long mm_diskerror (MAILSTREAM *stream,long errcode,long serious)
+ {
+ }
+ void mm_fatal (char *string)
+ {
+ }],
+ [
+ long check = mail_expunge_full(NULL, "", 0);
+ ]
+ ),
+ [ac_cv_imap_tk2006="yes"],
+ [ac_cv_imap_tk2006="no"]
+ )
+ else #looking in imap directory didn't work, try c-client
+ imap_ldflags=""
+ imap_libs="-lc-client"
+ imap_include="-DUSE_SYSTEM_CCLIENT"
+ CPPFLAGS="${saved_cppflags}"
+ LIBS="${saved_libs}"
+ CPPFLAGS="${CPPFLAGS} ${imap_include}"
+ LIBS="${LIBS} ${imap_libs} "`echo ${imap_ldflags}`
+ AC_LINK_IFELSE(
+ AC_LANG_PROGRAM(
+ [#include <stdio.h>
+ #include <c-client/c-client.h>
+ void mm_searched (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_exists (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_expunged (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_flags (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_notify (MAILSTREAM *stream,char *string,long errflg)
+ {
+ }
+ void mm_list (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_lsub (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status)
+ {
+ }
+ void mm_log (char *string,long errflg)
+ {
+ }
+ void mm_dlog (char *string)
+ {
+ }
+ void mm_login (NETMBX *mb,char *user,char *pwd,long trial)
+ {
+ }
+ void mm_critical (MAILSTREAM *stream)
+ {
+ }
+ void mm_nocritical (MAILSTREAM *stream)
+ {
+ }
+ long mm_diskerror (MAILSTREAM *stream,long errcode,long serious)
+ {
+ }
+ void mm_fatal (char *string)
+ {
+ }],
+ [
+ MAILSTREAM *foo = mail_open(NULL, "", 0);
+ ]
+ ),
+ [ac_cv_imap_tk="yes"],
+ [ac_cv_imap_tk="no"]
+ )
+ if test "${ac_cv_imap_tk}" = "yes"; then
+ AC_LINK_IFELSE(
+ AC_LANG_PROGRAM(
+ [#include <stdio.h>
+ #include <c-client/c-client.h>
+ void mm_searched (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_exists (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_expunged (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_flags (MAILSTREAM *stream,unsigned long number)
+ {
+ }
+ void mm_notify (MAILSTREAM *stream,char *string,long errflg)
+ {
+ }
+ void mm_list (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_lsub (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+ {
+ }
+ void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status)
+ {
+ }
+ void mm_log (char *string,long errflg)
+ {
+ }
+ void mm_dlog (char *string)
+ {
+ }
+ void mm_login (NETMBX *mb,char *user,char *pwd,long trial)
+ {
+ }
+ void mm_critical (MAILSTREAM *stream)
+ {
+ }
+ void mm_nocritical (MAILSTREAM *stream)
+ {
+ }
+ long mm_diskerror (MAILSTREAM *stream,long errcode,long serious)
+ {
+ }
+ void mm_fatal (char *string)
+ {
+ }],
+ [
+ long check = mail_expunge_full(NULL, "", 0);
+ ]
+ ),
+ [ac_cv_imap_tk2006="yes"],
+ [ac_cv_imap_tk2006="no"]
+ )
+ fi
+ fi
+ if test "${ac_cv_imap_tk}" = "yes"; then
+ AC_MSG_RESULT(yes)
+ CPPFLAGS="${saved_cppflags}"
+ LIBS="${saved_libs}"
+ IMAP_TK_LIB="${imap_libs} "`echo ${imap_ldflags}`
+ IMAP_TK_INCLUDE="${imap_include}"
+ PBX_IMAP_TK=1
+ AC_DEFINE([HAVE_IMAP_TK], 1, [Define if your system has the UW IMAP Toolkit c-client library.])
+ if test "${ac_cv_imap_tk2006}" = "yes"; then
+ AC_DEFINE([HAVE_IMAP_TK2006], 1, [Define if your system has the UW IMAP Toolkit c-client library version 2006 or greater.])
+ fi
+ elif test -n "${IMAP_TK_MANDATORY}"; then
+ AC_MSG_RESULT(no)
+ AC_MSG_NOTICE([***])
+ AC_MSG_NOTICE([*** The UW IMAP Toolkit installation on this system appears to be broken.])
+ AC_MSG_NOTICE([*** Either correct the installation, or run configure])
+ AC_MSG_NOTICE([*** including --without-imap.])
+ exit 1
+ else
+ AC_MSG_RESULT(no)
+ fi
+ fi
fi
# Needed by unixodbc