diff options
author | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-02-14 23:30:17 +0000 |
---|---|---|
committer | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-02-14 23:30:17 +0000 |
commit | 83f324753d654d70508428ccac04b65419f6678d (patch) | |
tree | a8c755bd96572ad09a6a73d28b19f22002ab3ef2 /configure.ac | |
parent | 28c83a471288417041c7b144c9106fa5bc58a8bd (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.ac | 558 |
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 |