summaryrefslogtreecommitdiff
path: root/ext/imap/config.m4
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>2000-02-29 13:12:48 +0000
committerSascha Schumann <sas@php.net>2000-02-29 13:12:48 +0000
commita05db57374df2956c68b0a540d6884bd82ca9cbf (patch)
tree1d13458c2af02ac4603a878279572bd94874ab1f /ext/imap/config.m4
parentc5977f650317d903f12c4abdb4fcec013787182c (diff)
downloadphp-git-a05db57374df2956c68b0a540d6884bd82ca9cbf.tar.gz
Rewrite IMAP checks. This should solve the problems people had with
shared imap libs
Diffstat (limited to 'ext/imap/config.m4')
-rw-r--r--ext/imap/config.m4100
1 files changed, 45 insertions, 55 deletions
diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
index 857ffdf4da..3ac7ece7ca 100644
--- a/ext/imap/config.m4
+++ b/ext/imap/config.m4
@@ -1,63 +1,53 @@
dnl $Id$
+RESULT=no
AC_MSG_CHECKING(for IMAP support)
AC_ARG_WITH(imap,
[ --with-imap[=DIR] Include IMAP support. DIR is the IMAP include
and c-client.a directory.],
[
- if test "$withval" = "yes"; then
- if test -f /usr/local/include/mail.h; then
- withval=/usr/local
- elif test -f /usr/include/mail.h; then
- withval=/usr
- elif test -f /usr/include/imap/mail.h; then
- withval=/usr
- elif test -f /usr/include/c-client/mail.h; then
- withval=/usr
- fi
- fi
- if test "$withval" != "no" && test "$withval" != "yes"; then
- IMAP_DIR=$withval
- if test -f $IMAP_DIR/include/imap/mail.h; then
- IMAP_INC_DIR=$IMAP_DIR/include/imap
- elif test -f $IMAP_DIR/include/c-client/mail.h; then
- IMAP_INC_DIR=$IMAP_DIR/include/c-client
- else
- IMAP_INC_DIR=$withval/include
- fi
- if test ! -f $IMAP_INC_DIR/mail.h; then
- AC_MSG_ERROR(could not find mail.h in $IMAP_INC_DIR !)
- fi
- if test ! -f $IMAP_INC_DIR/rfc822.h; then
- AC_MSG_ERROR(could not find rfc822.h in $IMAP_INC_DIR !)
- fi
- if test ! -f $IMAP_INC_DIR/linkage.h; then
- AC_MSG_ERROR(could not find linkage.h in $IMAP_INC_DIR !)
- fi
- if test -f $IMAP_DIR/lib/libimap.a; then
- IMAP_LIBDIR="$IMAP_DIR/lib"
- IMAP_LIB="imap"
- elif test ! -f $IMAP_DIR/lib/libc-client.a; then
- if test ! -f $IMAP_DIR/lib/libc-client4.so; then
- AC_MSG_ERROR(You need to copy or link $IMAP_DIR/lib/c-client.a to $IMAP_DIR/lib/libc-client.a)
- else
- IMAP_LIBDIR="$IMAP_DIR/lib"
- IMAP_LIB="c-client4"
- fi
- else
- IMAP_LIBDIR="$IMAP_DIR/lib"
- IMAP_LIB="c-client"
- fi
- AC_ADD_LIBRARY_WITH_PATH($IMAP_LIB, $IMAP_LIBDIR)
- AC_ADD_INCLUDE($IMAP_INC_DIR)
- AC_DEFINE(HAVE_IMAP,1,[ ])
- AC_MSG_RESULT(yes)
- PHP_EXTENSION(imap)
- else
- AC_MSG_ERROR(could not find imap library!)
- fi
-],[
- AC_MSG_RESULT(no)
-])
-
+ if test "$withval" != "no"; then
+ for i in /usr/local /usr $withval; do
+ if test -f $i/rfc822.h; then
+ IMAP_DIR=$i
+ IMAP_INC_DIR=$i
+ elif test -f $i/imap/rfc822.h; then
+ IMAP_DIR=$i
+ IMAP_INC_DIR=$i/imap
+ elif test -f $i/c-client/rfc822.h; then
+ IMAP_DIR=$i
+ IMAP_INC_DIR=$i/c-client
+ fi
+ done
+
+ AC_EXPAND_PATH($IMAP_DIR, IMAP_DIR)
+
+ if test -z "$IMAP_DIR"; then
+ AC_MSG_ERROR(Cannot find rfc822.h. Please check your IMAP installation)
+ fi
+
+ for lib in imap c-client c-client4; do
+ IMAP_LIB=$lib
+ if eval test -r "$IMAP_DIR/lib/lib$lib*"; then
+ IMAP_LIB_DIR=$IMAP_DIR/lib
+ break
+ fi
+ if eval test -r "$IMAP_DIR/c-client/lib$lib*"; then
+ IMAP_LIB_DIR=$IMAP_DIR/c-client
+ break 2
+ fi
+ done
+ if test -z "$IMAP_LIB_DIR"; then
+ AC_MSG_ERROR(Cannot find imap library. Please check your IMAP installation)
+ fi
+
+ AC_ADD_INCLUDE($IMAP_INC_DIR)
+ AC_ADD_LIBPATH($IMAP_LIB_DIR)
+ AC_ADD_LIBRARY_DEFER($IMAP_LIB)
+
+ AC_DEFINE(HAVE_IMAP,1,[ ])
+ RESULT=yes
+ fi
+])
+AC_MSG_RESULT($RESULT)