From 0bf907b1e6a08fe3190615c1d9d3e7724ccfb6a2 Mon Sep 17 00:00:00 2001 From: foobar Date: Mon, 23 Feb 2004 03:24:58 +0000 Subject: [PATCH] - Added PHP_TEST_BUILD macro which can be used to test whether build works / would work with current LIBS (+ additional extra-libs) --- acinclude.m4 | 40 +++++++++++++++++++++++++++++++++++++++- ext/imap/config.m4 | 20 ++++---------------- 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) ], [ -- 2.40.0