[OE-core] [PATCH] libxcb: fix rebuild when MACHINE changes

Martin Jansa martin.jansa at gmail.com
Mon Dec 9 17:35:51 UTC 2013


On Mon, Dec 09, 2013 at 04:58:27PM +0000, Ross Burton wrote:
> This recipe was patching the sysroot path directly into configure.ac, which
> fails when the same source tree is re-used for another machine.
> 
> Instead, patch in $PKG_CONFIG_SYSROOT_DIR which is already exported for use by
> pkg-config.

Does it make libxcb signature MACHINE-specific or is sysroot path
excluded from PKG_CONFIG_SYSROOT_DIR like with STAGING_DIR_HOST?

Maybe I fail to see how it fixes the issue with re-used configured
directory.

> Also remove some commented-out lines that have no purpose.
> 
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
>  meta/recipes-graphics/xorg-lib/libxcb.inc          |   16 ++------------
>  .../xorg-lib/libxcb/xcbincludedir.patch            |   23 ++++++++++++++++----
>  2 files changed, 21 insertions(+), 18 deletions(-)
> 
> diff --git a/meta/recipes-graphics/xorg-lib/libxcb.inc b/meta/recipes-graphics/xorg-lib/libxcb.inc
> index 91df1be..7f9b0af 100644
> --- a/meta/recipes-graphics/xorg-lib/libxcb.inc
> +++ b/meta/recipes-graphics/xorg-lib/libxcb.inc
> @@ -12,10 +12,9 @@ LICENSE = "MIT-X"
>  
>  PARALLEL_MAKE = ""
>  DEPENDS = "xcb-proto xproto libxau libxslt-native xcb-proto-native libpthread-stubs"
> -# DEPENDS += "xsltproc-native gperf-native"
>  
> -SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.bz2"
> -#           file://xcbincludedir.patch"
> +SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.bz2 \
> +           file://xcbincludedir.patch"
>  
>  PACKAGES =+ "libxcb-composite libxcb-damage libxcb-dpms libxcb-glx \
>               libxcb-randr libxcb-record libxcb-render libxcb-res \
> @@ -25,7 +24,6 @@ PACKAGES =+ "libxcb-composite libxcb-damage libxcb-dpms libxcb-glx \
>               libxcb-dri2 libxcb-dri3 libxcb-present"
>  
>  FILES_${PN} = "${libdir}/libxcb.so.*"
> -#FILES_${PN}-dev = "${libdir}/libxcb.* ${libdir}/pkgconfig/*.pc ${includedir}/xcb/*.h"
>  FILES_libxcb-dri2 = "${libdir}/libxcb-dri2.so.*"
>  FILES_libxcb-dri3 = "${libdir}/libxcb-dri3.so.*"
>  FILES_libxcb-composite = "${libdir}/libxcb-composite.so.*"
> @@ -52,13 +50,3 @@ FILES_libxcb-xvmc = "${libdir}/libxcb-xvmc.so.*"
>  FILES_libxcb-present = "${libdir}/libxcb-present.so.*"
>  
>  inherit autotools pkgconfig pythonnative
> -
> -# XCBPROTO_XCBINCLUDEDIR is set based on `pkg-config --variable=xcbincludedir xcb-proto`
> -# but the xcbincludedir variable doesn't point into the staging area, so it needs some
> -# tweaking here:
> -do_configure_prepend () {
> -    sed -i "s|XCBPROTO_XCBINCLUDEDIR=\`|XCBPROTO_XCBINCLUDEDIR=${STAGING_DIR_HOST}/\`|" \
> -        ${S}/configure.ac
> -    sed -i "s|XCBPROTO_XCBPYTHONDIR=\`|XCBPROTO_XCBPYTHONDIR=${STAGING_DIR_HOST}/\`|" \
> -        ${S}/configure.ac
> -}
> diff --git a/meta/recipes-graphics/xorg-lib/libxcb/xcbincludedir.patch b/meta/recipes-graphics/xorg-lib/libxcb/xcbincludedir.patch
> index d858a63..46297c3 100644
> --- a/meta/recipes-graphics/xorg-lib/libxcb/xcbincludedir.patch
> +++ b/meta/recipes-graphics/xorg-lib/libxcb/xcbincludedir.patch
> @@ -1,8 +1,14 @@
> -Upstream-Status: Inappropriate [configuration]
> +As pkg-config --variable doesn't respect the sysroot, add the pkg-config sysroot
> +to the beginning of variables that are used later on the host.
>  
> ---- libxcb-1.0.orig/configure.ac	2006-11-23 15:33:01.000000000 +0000
> -+++ libxcb-1.0/configure.ac	2008-09-10 20:29:12.000000000 +0100
> -@@ -50,7 +50,7 @@
> +Upstream-Status: Pending
> +Signed-off-by: Ross Burton <ross.burton at intel.com>
> +
> +diff --git a/configure.ac b/configure.ac
> +index 94da4f7..d29cd6a 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -64,7 +64,7 @@ AC_SUBST(NEEDED)
>   
>   # Find the xcb-proto protocol descriptions
>   AC_MSG_CHECKING(XCBPROTO_XCBINCLUDEDIR)
> @@ -11,3 +17,12 @@ Upstream-Status: Inappropriate [configuration]
>   AC_MSG_RESULT($XCBPROTO_XCBINCLUDEDIR)
>   AC_SUBST(XCBPROTO_XCBINCLUDEDIR)
>   
> +@@ -74,7 +74,7 @@ AC_SUBST(XCBPROTO_VERSION)
> + 
> + # Find the xcbgen Python package
> + AC_MSG_CHECKING(XCBPROTO_XCBPYTHONDIR)
> +-XCBPROTO_XCBPYTHONDIR=`$PKG_CONFIG --variable=pythondir xcb-proto`
> ++XCBPROTO_XCBPYTHONDIR=$PKG_CONFIG_SYSROOT_DIR/`$PKG_CONFIG --variable=pythondir xcb-proto`
> + AC_MSG_RESULT($XCBPROTO_XCBPYTHONDIR)
> + AC_SUBST(XCBPROTO_XCBPYTHONDIR)
> + 
> -- 
> 1.7.10.4
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20131209/cf37018a/attachment-0002.sig>


More information about the Openembedded-core mailing list