[oe] [meta-oe][PATCHv3] php 5.4.14: use pkg-config for libxml2 detection

Richard Purdie richard.purdie at linuxfoundation.org
Fri Jun 20 12:57:19 UTC 2014


On Thu, 2014-06-19 at 08:54 +0200, Koen Kooi wrote:
> Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
> ---
> 
> Changes since v3:
> 	* swapped fi/$i lines
> 
> This finally fixes the build!
> 
>  meta-oe/recipes-devtools/php/php.inc               |  2 -
>  ...cinclude-use-pkgconfig-for-libxml2-config.patch | 90 ++++++++++++++++++++++
>  meta-oe/recipes-devtools/php/php_5.4.14.bb         |  4 +-
>  3 files changed, 93 insertions(+), 3 deletions(-)
>  create mode 100644 meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch
> 
> diff --git a/meta-oe/recipes-devtools/php/php.inc b/meta-oe/recipes-devtools/php/php.inc
> index b1bf79c..030c090 100644
> --- a/meta-oe/recipes-devtools/php/php.inc
> +++ b/meta-oe/recipes-devtools/php/php.inc
> @@ -31,12 +31,10 @@ EXTRA_OECONF = "--enable-mbstring \
>                  --with-imap-ssl=${STAGING_DIR_HOST} \
>                  --with-zlib=${STAGING_LIBDIR}/.. \
>                  --with-iconv=${STAGING_LIBDIR}/.. \
> -                --with-libxml-dir=${STAGING_BINDIR_CROSS} \
>                  ${COMMON_EXTRA_OECONF} \
>  "
>  EXTRA_OECONF_virtclass-native = " \
>                  --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
> -                --with-libxml-dir=${STAGING_BINDIR_NATIVE} \
>                  ${COMMON_EXTRA_OECONF} \
>  "
>  
> diff --git a/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch b/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch
> new file mode 100644
> index 0000000..823007e
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch
> @@ -0,0 +1,90 @@
> +From 0ff5d4adc9f5950d66738272b3ba88ef74f69117 Mon Sep 17 00:00:00 2001
> +From: Koen Kooi <koen.kooi at linaro.org>
> +Date: Tue, 17 Jun 2014 09:53:00 +0200
> +Subject: [PATCH] acinclude: use pkgconfig for libxml2 config
> +
> +Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
> +Upstream-Status: pending
> +---
> + acinclude.m4 | 63 ++++++++++++++++++++++--------------------------------------
> + 1 file changed, 23 insertions(+), 40 deletions(-)
> +
> +diff --git a/acinclude.m4 b/acinclude.m4
> +index 9c7a305..211dbd3 100644
> +--- a/acinclude.m4
> ++++ b/acinclude.m4
> +@@ -2529,48 +2529,31 @@ dnl
> + dnl Common setup macro for libxml
> + dnl
> + AC_DEFUN([PHP_SETUP_LIBXML], [
> +-AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
> +-[
> +-
> +-      ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
> +-
> ++PKG_CHECK_MODULES([LIBXML], [libxml-2.0 > 2.6.11], [
> ++  PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
> ++  PHP_EVAL_INCLINE($LIBXML_CFLAGS)
> ++
> ++  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_MSG_RESULT(yes)
> ++    ], [
> ++      AC_MSG_RESULT(no)
> ++      AC_MSG_ERROR([build test failed.  Please check the config.log for details.])
> ++    ], [
> ++      [$]$1
> ++    ])
> ++  ])
> ++  if test "$php_cv_libxml_build_works" = "yes"; then
> ++    AC_DEFINE(HAVE_LIBXML, 1, [ ])
> ++  fi
> ++  $2
> ++], [
> ++  AC_MSG_ERROR([$LIBXML_PKG_ERRORS])
> + ])
> + 
> +-  if test -x "$ac_cv_php_xml2_config_path"; then
> +-    XML2_CONFIG="$ac_cv_php_xml2_config_path"
> +-    libxml_full_version=`$XML2_CONFIG --version`
> +-    ac_IFS=$IFS
> +-    IFS="."
> +-    set $libxml_full_version
> +-    IFS=$ac_IFS
> +-    LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
> +-    if test "$LIBXML_VERSION" -ge "2006011"; then
> +-      LIBXML_LIBS=`$XML2_CONFIG --libs`
> +-      LIBXML_INCS=`$XML2_CONFIG --cflags`
> +-      PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
> +-      PHP_EVAL_INCLINE($LIBXML_INCS)
> +-
> +-      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_MSG_RESULT(no)
> +-          AC_MSG_ERROR([build test failed.  Please check the config.log for details.])
> +-        ], [
> +-          [$]$1
> +-        ])
> +-      ])
> +-      if test "$php_cv_libxml_build_works" = "yes"; then
> +-        AC_DEFINE(HAVE_LIBXML, 1, [ ])
> +-      fi
> +-      $2
> +-    else
> +-      AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
> +-    fi
> +-ifelse([$3],[],,[else $3])
> +-  fi
> + ])
> + 

Dropping the ifelse([$3],[],,[else $3]) isn't quite right, 

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/tree/meta-oe/recipes-devtools/php/php/pkgconfig.patch?h=rpurdie/meta-oe&id=ffd98ac82cc69a1fa1d7fbc197f247aeea221b4b

is a fractional improvement.

Cheers,

Richard




More information about the Openembedded-devel mailing list