summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--acinclude.m440
-rw-r--r--ext/imap/config.m420
2 files changed, 43 insertions, 17 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 4ef76d5f44..fdf75ee1ea 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1788,7 +1788,20 @@ AC_DEFUN([PHP_SETUP_LIBXML], [
LIBXML_INCS=`$XML2_CONFIG --cflags`
PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
PHP_EVAL_INCLINE($LIBXML_INCS)
- AC_DEFINE(HAVE_LIBXML, 1, [ ])
+
+ dnl Check that build works with given libs
+ AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [
+ PHP_TEST_BUILD(xmlInitParser,
+ [
+ php_cv_libxml_build_works=yes
+ AC_DEFINE(HAVE_LIBXML, 1, [ ])
+ ], [
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([build test failed. Please check the config.log for details.])
+ ], [
+ [$]$1
+ ])
+ ])
$2
else
AC_MSG_ERROR([libxml2 version 2.5.10 or greater required.])
@@ -1880,3 +1893,28 @@ IFS="- /.
APACHE_VERSION=`expr [$]4 \* 1000000 + [$]5 \* 1000 + [$]6`
])
+
+dnl
+dnl PHP_TEST_BUILD(function, action-if-ok, action-if-not-ok [, extra-libs [, extra-source]])
+dnl This macro checks whether build works and given function exists.
+dnl
+AC_DEFUN(PHP_TEST_BUILD, [
+ old_LIBS=$LIBS
+ LIBS="$4 $LIBS"
+ AC_TRY_RUN([
+ $5
+ char $1();
+ int main() {
+ $1();
+ return 0;
+ }
+ ], [
+ LIBS=$old_LIBS
+ $2
+ ],[
+ LIBS=$old_LIBS
+ $3
+ ],[
+ LIBS=$old_LIBS
+ ])
+])
diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
index b653d83a41..d0bb00b14b 100644
--- a/ext/imap/config.m4
+++ b/ext/imap/config.m4
@@ -20,11 +20,10 @@ AC_DEFUN(IMAP_LIB_CHK,[
done
])
-dnl PHP_IMAP_TEST_BUILD(function, action-if-ok, action-if-not-ok [, extra-libs])
+dnl PHP_IMAP_TEST_BUILD(function, action-if-ok, action-if-not-ok, extra-libs)
AC_DEFUN(PHP_IMAP_TEST_BUILD, [
- old_LIBS=$LIBS
- LIBS="$4 $LIBS"
- AC_TRY_RUN([
+ PHP_TEST_BUILD([$1], [$2], [$3], [$4],
+ [
void mm_log(void){}
void mm_dlog(void){}
void mm_flags(void){}
@@ -40,17 +39,6 @@ AC_DEFUN(PHP_IMAP_TEST_BUILD, [
void mm_exists(void){}
void mm_searched(void){}
void mm_expunged(void){}
- char $1();
- int main() {
- $1();
- return 0;
- }
- ], [
- LIBS=$old_LIBS
- $2
- ],[
- LIBS=$old_LIBS
- $3
])
])
@@ -206,7 +194,7 @@ if test "$PHP_IMAP" != "no"; then
AC_DEFINE(HAVE_IMAP_AUTH_GSS, 1, [ ])
], [], $TST_LIBS)
- AC_MSG_CHECKING(whether IMAP works)
+ AC_MSG_CHECKING(whether build with IMAP works)
PHP_IMAP_TEST_BUILD(mail_newbody, [
AC_MSG_RESULT(yes)
], [