From: Martin Jansa <martin.jansa@gmail.com>
To: Ross Burton <ross.burton@intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] libxcb: fix rebuild when MACHINE changes
Date: Mon, 9 Dec 2013 18:35:51 +0100 [thread overview]
Message-ID: <20131209173551.GC3713@jama> (raw)
In-Reply-To: <1386608307-4348-1-git-send-email-ross.burton@intel.com>
[-- Attachment #1: Type: text/plain, Size: 4697 bytes --]
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@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@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@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
next prev parent reply other threads:[~2013-12-09 17:35 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-09 16:58 [PATCH] libxcb: fix rebuild when MACHINE changes Ross Burton
2013-12-09 17:35 ` Martin Jansa [this message]
2013-12-09 19:53 ` Burton, Ross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131209173551.GC3713@jama \
--to=martin.jansa@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=ross.burton@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.