]> granicus.if.org Git - php/commitdiff
- Added PHP_TEST_BUILD macro which can be used to test whether build
authorfoobar <sniper@php.net>
Mon, 23 Feb 2004 03:24:58 +0000 (03:24 +0000)
committerfoobar <sniper@php.net>
Mon, 23 Feb 2004 03:24:58 +0000 (03:24 +0000)
  works / would work with current LIBS (+ additional extra-libs)

acinclude.m4
ext/imap/config.m4

index 4ef76d5f440e3979cffc69dca7dc83f1cb797678..fdf75ee1ea875353a03bdd5613ffc07b4deae830 100644 (file)
@@ -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
+  ])
+])
index b653d83a41d67114763ae1f0756d5a49d49b18e5..d0bb00b14b242248874d8255c4a2762c307fac29 100644 (file)
@@ -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)
     ], [