]> granicus.if.org Git - php/commitdiff
Rewrite IMAP checks. This should solve the problems people had with
authorSascha Schumann <sas@php.net>
Tue, 29 Feb 2000 13:12:48 +0000 (13:12 +0000)
committerSascha Schumann <sas@php.net>
Tue, 29 Feb 2000 13:12:48 +0000 (13:12 +0000)
shared imap libs

ext/imap/config.m4

index 857ffdf4dabdf56dee1367334d3bf7f7d845db32..3ac7ece7ca4e301a5fafa8f4d0371da510ba4262 100644 (file)
@@ -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)