Annotation of embedaddon/php/ext/imap/config.m4, revision 1.1

1.1     ! misho       1: dnl
        !             2: dnl $Id: config.m4 294699 2010-02-07 13:06:54Z pajoye $
        !             3: dnl
        !             4: 
        !             5: AC_DEFUN([IMAP_INC_CHK],[if test -r "$i$1/c-client.h"; then
        !             6:     AC_DEFINE(HAVE_IMAP2000, 1, [ ])
        !             7:     IMAP_DIR=$i
        !             8:     IMAP_INC_DIR=$i$1
        !             9:     break
        !            10:   elif test -r "$i$1/rfc822.h"; then 
        !            11:     IMAP_DIR=$i; 
        !            12:     IMAP_INC_DIR=$i$1
        !            13:        break
        !            14: ])
        !            15: 
        !            16: AC_DEFUN([IMAP_LIB_CHK],[
        !            17:   str="$IMAP_DIR/$1/lib$lib.*"
        !            18:   for i in `echo $str`; do
        !            19:     test -r $i && IMAP_LIBDIR=$IMAP_DIR/$1 && break 2
        !            20:   done
        !            21: ])
        !            22: 
        !            23: dnl PHP_IMAP_TEST_BUILD(function, action-if-ok, action-if-not-ok, extra-libs)
        !            24: AC_DEFUN([PHP_IMAP_TEST_BUILD], [
        !            25:   PHP_TEST_BUILD([$1], [$2], [$3], [$4],
        !            26:   [
        !            27: #if defined(__GNUC__) && __GNUC__ >= 4
        !            28: # define PHP_IMAP_EXPORT __attribute__ ((visibility("default")))
        !            29: #else
        !            30: # define PHP_IMAP_EXPORT
        !            31: #endif
        !            32: 
        !            33:     PHP_IMAP_EXPORT void mm_log(void){}
        !            34:     PHP_IMAP_EXPORT void mm_dlog(void){}
        !            35:     PHP_IMAP_EXPORT void mm_flags(void){}
        !            36:     PHP_IMAP_EXPORT void mm_fatal(void){}
        !            37:     PHP_IMAP_EXPORT void mm_critical(void){}
        !            38:     PHP_IMAP_EXPORT void mm_nocritical(void){}
        !            39:     PHP_IMAP_EXPORT void mm_notify(void){}
        !            40:     PHP_IMAP_EXPORT void mm_login(void){}
        !            41:     PHP_IMAP_EXPORT void mm_diskerror(void){}
        !            42:     PHP_IMAP_EXPORT void mm_status(void){}
        !            43:     PHP_IMAP_EXPORT void mm_lsub(void){}
        !            44:     PHP_IMAP_EXPORT void mm_list(void){}
        !            45:     PHP_IMAP_EXPORT void mm_exists(void){}
        !            46:     PHP_IMAP_EXPORT void mm_searched(void){}
        !            47:     PHP_IMAP_EXPORT void mm_expunged(void){}
        !            48:   ])
        !            49: ])
        !            50: 
        !            51: AC_DEFUN([PHP_IMAP_KRB_CHK], [
        !            52:   if test "$PHP_KERBEROS" != "no"; then
        !            53:     PHP_SETUP_KERBEROS(IMAP_SHARED_LIBADD,
        !            54:     [
        !            55:       AC_DEFINE(HAVE_IMAP_KRB,1,[ ])
        !            56:     ], [
        !            57:       AC_MSG_ERROR([Kerberos libraries not found. 
        !            58:       
        !            59:       Check the path given to --with-kerberos (if no path is given, searches in /usr/kerberos, /usr/local and /usr )
        !            60:       ])
        !            61:     ])
        !            62:   else
        !            63:     AC_EGREP_HEADER(auth_gss, $IMAP_INC_DIR/linkage.h, [
        !            64:       AC_MSG_ERROR([This c-client library is built with Kerberos support. 
        !            65: 
        !            66:       Add --with-kerberos to your configure line. Check config.log for details.
        !            67:       ])
        !            68:     ])
        !            69:   fi
        !            70: ])
        !            71: 
        !            72: AC_DEFUN([PHP_IMAP_SSL_CHK], [
        !            73:   if test "$PHP_IMAP_SSL" != "no"; then
        !            74:     if test "$PHP_OPENSSL" = ""; then
        !            75:       PHP_OPENSSL='no'
        !            76:     fi
        !            77:     PHP_SETUP_OPENSSL(IMAP_SHARED_LIBADD,
        !            78:     [
        !            79:       AC_DEFINE(HAVE_IMAP_SSL,1,[ ])
        !            80:     ], [
        !            81:       AC_MSG_ERROR([OpenSSL libraries not found. 
        !            82:       
        !            83:       Check the path given to --with-openssl-dir and output in config.log)
        !            84:       ])
        !            85:     ])
        !            86:   elif test -f "$IMAP_INC_DIR/linkage.c"; then
        !            87:     AC_EGREP_HEADER(ssl_onceonlyinit, $IMAP_INC_DIR/linkage.c, [
        !            88:       AC_MSG_ERROR([This c-client library is built with SSL support. 
        !            89: 
        !            90:       Add --with-imap-ssl to your configure line. Check config.log for details.
        !            91:       ])
        !            92:     ])
        !            93:   fi
        !            94: ])
        !            95: 
        !            96: 
        !            97: PHP_ARG_WITH(imap,for IMAP support,
        !            98: [  --with-imap[=DIR]       Include IMAP support. DIR is the c-client install prefix])
        !            99: 
        !           100: PHP_ARG_WITH(kerberos,for IMAP Kerberos support,
        !           101: [  --with-kerberos[=DIR]     IMAP: Include Kerberos support. DIR is the Kerberos install prefix], no, no)
        !           102: 
        !           103: PHP_ARG_WITH(imap-ssl,for IMAP SSL support,
        !           104: [  --with-imap-ssl[=DIR]     IMAP: Include SSL support. DIR is the OpenSSL install prefix], no, no)
        !           105: 
        !           106: 
        !           107: if test "$PHP_IMAP" != "no"; then  
        !           108:     PHP_SUBST(IMAP_SHARED_LIBADD)
        !           109:     PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared)
        !           110:     AC_DEFINE(HAVE_IMAP,1,[ ])
        !           111: 
        !           112:     for i in $PHP_IMAP /usr/local /usr; do
        !           113:       IMAP_INC_CHK()
        !           114:       el[]IMAP_INC_CHK(/include/c-client)
        !           115:       el[]IMAP_INC_CHK(/include/imap)
        !           116:       el[]IMAP_INC_CHK(/include)
        !           117:       el[]IMAP_INC_CHK(/imap)
        !           118:       el[]IMAP_INC_CHK(/c-client)
        !           119:       fi
        !           120:     done
        !           121: 
        !           122:     dnl Check for c-client version 2004
        !           123:     AC_EGREP_HEADER(mail_fetch_overview_sequence, $IMAP_INC_DIR/mail.h, [
        !           124:       AC_DEFINE(HAVE_IMAP2004,1,[ ])
        !           125:     ])
        !           126: 
        !           127:     dnl Check for new version of the utf8_mime2text() function
        !           128:     old_CFLAGS=$CFLAGS
        !           129:     CFLAGS="-I$IMAP_INC_DIR"
        !           130:     AC_CACHE_CHECK(for utf8_mime2text signature, ac_cv_utf8_mime2text,
        !           131:       AC_TRY_COMPILE([
        !           132: #include <stdio.h>
        !           133: #include <c-client.h>
        !           134:       ],[
        !           135:         SIZEDTEXT *src, *dst;
        !           136:         utf8_mime2text(src, dst);
        !           137:       ],[
        !           138:         ac_cv_utf8_mime2text=old
        !           139:       ],[
        !           140:         ac_cv_utf8_mime2text=new
        !           141:       ])
        !           142:     )
        !           143:     if test "$ac_cv_utf8_mime2text" = "new"; then
        !           144:       AC_DEFINE(HAVE_NEW_MIME2TEXT, 1, [Whether utf8_mime2text() has new signature])
        !           145:     fi
        !           146:     CFLAGS=$old_CFLAGS
        !           147: 
        !           148:     old_CFLAGS=$CFLAGS
        !           149:     CFLAGS="-I$IMAP_INC_DIR"
        !           150:     AC_CACHE_CHECK(for U8T_DECOMPOSE, ac_cv_u8t_canonical,
        !           151:       AC_TRY_COMPILE([
        !           152: #include <c-client.h>
        !           153:       ],[
        !           154:          int i = U8T_CANONICAL;
        !           155:       ],[
        !           156:          ac_cv_u8t_decompose=yes
        !           157:       ],[
        !           158:          ac_cv_u8t_decompose=no
        !           159:       ])
        !           160:     )
        !           161:     CFLAGS=$old_CFLAGS
        !           162: 
        !           163:     if test "$ac_cv_u8t_decompose" = "no" && test "$ac_cv_utf8_mime2text" = "new"; then
        !           164:                AC_MSG_ERROR([utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.])
        !           165:     fi
        !           166:     if test "$ac_cv_u8t_decompose" = "yes" && test "$ac_cv_utf8_mime2text" = "old"; then
        !           167:                AC_MSG_ERROR([utf8_mime2text() has old signature, but U8T_CANONICAL is present. This should not happen. Check config.log for additional information.])
        !           168:     fi
        !           169: 
        !           170:     dnl Check for c-client version 2001
        !           171:     old_CPPFLAGS=$CPPFLAGS
        !           172:     CPPFLAGS=-I$IMAP_INC_DIR
        !           173:     AC_EGREP_CPP(this_is_true, [
        !           174: #include "imap4r1.h"
        !           175: #if defined(IMAPSSLPORT)
        !           176:       this_is_true
        !           177: #endif
        !           178:     ],[
        !           179:       AC_DEFINE(HAVE_IMAP2001, 1, [ ])
        !           180:     ],[])
        !           181:     CPPFLAGS=$old_CPPFLAGS
        !           182: 
        !           183:     PHP_CHECK_LIBRARY(pam, pam_start, 
        !           184:     [
        !           185:       PHP_ADD_LIBRARY(pam,, IMAP_SHARED_LIBADD)
        !           186:       AC_DEFINE(HAVE_LIBPAM,1,[ ])
        !           187:     ])
        !           188: 
        !           189:     PHP_CHECK_LIBRARY(crypt, crypt, 
        !           190:     [
        !           191:       PHP_ADD_LIBRARY(crypt,, IMAP_SHARED_LIBADD)
        !           192:       AC_DEFINE(HAVE_LIBCRYPT,1,[ ])
        !           193:     ])
        !           194:            
        !           195:     PHP_EXPAND_PATH($IMAP_DIR, IMAP_DIR)
        !           196: 
        !           197:     if test -z "$IMAP_DIR"; then
        !           198:       AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.)
        !           199:     fi
        !           200: 
        !           201:     if test -r "$IMAP_DIR/c-client/c-client.a"; then
        !           202:       ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1
        !           203:     elif test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then
        !           204:       ln -s "$IMAP_DIR/$PHP_LIBDIR/c-client.a" "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" >/dev/null 2>&1
        !           205:     fi
        !           206: 
        !           207:     for lib in c-client4 c-client imap; do
        !           208:       IMAP_LIB=$lib
        !           209:       IMAP_LIB_CHK($PHP_LIBDIR)
        !           210:       IMAP_LIB_CHK(c-client)
        !           211:     done
        !           212: 
        !           213:     if test -z "$IMAP_LIBDIR"; then
        !           214:       AC_MSG_ERROR(Cannot find imap library (libc-client.a). Please check your c-client installation.)
        !           215:     fi
        !           216: 
        !           217:     PHP_ADD_INCLUDE($IMAP_INC_DIR)
        !           218:     PHP_ADD_LIBRARY_DEFER($IMAP_LIB,, IMAP_SHARED_LIBADD)
        !           219:     PHP_ADD_LIBPATH($IMAP_LIBDIR, IMAP_SHARED_LIBADD)
        !           220:     PHP_IMAP_KRB_CHK
        !           221:     PHP_IMAP_SSL_CHK
        !           222: 
        !           223:     dnl Test the build in the end
        !           224:     TST_LIBS="$DLIBS $IMAP_SHARED_LIBADD"
        !           225: 
        !           226:     dnl Check if auth_gss exists
        !           227:     PHP_IMAP_TEST_BUILD(auth_gssapi_valid, [
        !           228:       AC_DEFINE(HAVE_IMAP_AUTH_GSS, 1, [ ])
        !           229:     ], [], $TST_LIBS)
        !           230: 
        !           231:     dnl Check if utf8_to_mutf7 exists
        !           232:     PHP_IMAP_TEST_BUILD(utf8_to_mutf7, [
        !           233:       AC_DEFINE(HAVE_IMAP_MUTF7, 1, [ ])
        !           234:     ], [], $TST_LIBS)
        !           235: 
        !           236:     AC_MSG_CHECKING(whether rfc822_output_address_list function present)
        !           237:     PHP_TEST_BUILD(foobar, [
        !           238:       AC_MSG_RESULT(yes)
        !           239:       AC_DEFINE(HAVE_RFC822_OUTPUT_ADDRESS_LIST, 1, [ ])
        !           240:     ], [
        !           241:       AC_MSG_RESULT(no)
        !           242:        ], [
        !           243:       $TST_LIBS
        !           244:     ], [
        !           245: #if defined(__GNUC__) && __GNUC__ >= 4
        !           246: # define PHP_IMAP_EXPORT __attribute__ ((visibility("default")))
        !           247: #else
        !           248: # define PHP_IMAP_EXPORT
        !           249: #endif
        !           250: 
        !           251:       PHP_IMAP_EXPORT void mm_log(void){}
        !           252:       PHP_IMAP_EXPORT void mm_dlog(void){}
        !           253:       PHP_IMAP_EXPORT void mm_flags(void){}
        !           254:       PHP_IMAP_EXPORT void mm_fatal(void){}
        !           255:       PHP_IMAP_EXPORT void mm_critical(void){}
        !           256:       PHP_IMAP_EXPORT void mm_nocritical(void){}
        !           257:       PHP_IMAP_EXPORT void mm_notify(void){}
        !           258:       PHP_IMAP_EXPORT void mm_login(void){}
        !           259:       PHP_IMAP_EXPORT void mm_diskerror(void){}
        !           260:       PHP_IMAP_EXPORT void mm_status(void){}
        !           261:       PHP_IMAP_EXPORT void mm_lsub(void){}
        !           262:       PHP_IMAP_EXPORT void mm_list(void){}
        !           263:       PHP_IMAP_EXPORT void mm_exists(void){}
        !           264:       PHP_IMAP_EXPORT void mm_searched(void){}
        !           265:       PHP_IMAP_EXPORT void mm_expunged(void){}
        !           266:       void rfc822_output_address_list(void);
        !           267:       void (*f)(void);
        !           268:       char foobar () {f = rfc822_output_address_list;}
        !           269:     ])
        !           270: 
        !           271:     AC_MSG_CHECKING(whether build with IMAP works)
        !           272:     PHP_IMAP_TEST_BUILD(mail_newbody, [
        !           273:       AC_MSG_RESULT(yes)
        !           274:     ], [
        !           275:       AC_MSG_RESULT(no)
        !           276:       AC_MSG_ERROR([build test failed. Please check the config.log for details.])
        !           277:     ], $TST_LIBS)
        !           278: fi

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>