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

Ross Burton ross.burton at intel.com
Mon Dec 9 16:58:27 UTC 2013


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.

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




More information about the Openembedded-core mailing list