]> code.ossystems Code Review - openembedded-core.git/commitdiff
xorg-driver: add xserver driver ABI dependencies
authorRoss Burton <ross.burton@intel.com>
Mon, 22 Oct 2012 09:37:25 +0000 (10:37 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 24 Oct 2012 11:47:28 +0000 (12:47 +0100)
At build time extract the xserver driver ABI versions that we're building
against and add RDEPENDs on them, so the driver isn't used against an xserver
with a different ABI (which won't work).

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
meta/recipes-graphics/xorg-driver/xorg-driver-input.inc
meta/recipes-graphics/xorg-driver/xorg-driver-video.inc

index 9a474b76de9c5181efd6ebce275446c89a7d785a..f9f25ffe954f4e42078c0087a1337b4d3ecc771c 100644 (file)
@@ -5,7 +5,7 @@ SECTION = "x11/drivers"
 LICENSE = "MIT-X"
 
 PE = "2"
-INC_PR = "r17"
+INC_PR = "r18"
 
 DEPENDS = "virtual/xserver xproto randrproto util-macros"
 
@@ -31,3 +31,18 @@ do_configure_prepend () {
 do_install_append() {
        find ${D}${libdir}/xorg/modules -regex ".*\.la$" | xargs rm -f --
 }
+
+# Function to add the relevant ABI dependency to drivers, which should be called
+# from a populate_packages append/prepend.
+def add_abi_depends(d, name):
+    # Map of ABI names exposed in the dependencies to pkg-config variables
+    abis = {
+      "video": "abi_videodrv",
+      "input": "abi_xinput"
+    }
+
+    output = os.popen("pkg-config xorg-server --variable=%s" % abis[name]).read()
+    abi = "xorg-abi-%s-%s" % (name, output.split(".")[0])
+
+    pn = d.getVar("PN", True)
+    d.appendVar('RDEPENDS_' + pn, ' ' + abi)
index bf4ca6cb77092126ceb62a72f6e22fdbab3c0288..a544d71bf251f652b1d798779aef4e782e92503e 100644 (file)
@@ -2,5 +2,9 @@ include xorg-driver-common.inc
 
 DEPENDS += "inputproto kbproto "
 
+python populate_packages_prepend() {
+    add_abi_depends(d, "input")
+}
+
 FILES_${PN} += " ${libdir}/xorg/modules/input/*.so"
 FILES_${PN}-dbg += " ${libdir}/xorg/modules/input/.debug"
index 57c80d1017362e222c6cddc407eeb3465d6960dd..4fe33491b7aa2260bcd93a9a6fa7054cbb4fd288 100644 (file)
@@ -2,3 +2,6 @@ include xorg-driver-common.inc
 
 DEPENDS =+ "renderproto videoproto xextproto fontsproto"
 
+python populate_packages_prepend() {
+    add_abi_depends(d, "video")
+}