aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2012-10-22 10:37:25 +0100
committerMarcin Juszkiewicz <marcin.juszkiewicz@linaro.org>2012-11-29 12:00:24 +0100
commit50eb292af4ffddd198144bd4b13f3d668e438aa5 (patch)
tree7c1c6ab5bd482cd7cc47c3d3947cc85069c8b88b
parent6f3e54df5882e302d3254b2d2cec3ef0026a22fc (diff)
downloadopenembedded-core-contrib-50eb292af4ffddd198144bd4b13f3d668e438aa5.tar.gz
xorg-driver: add xserver driver ABI dependencies
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>
-rw-r--r--meta/recipes-graphics/xorg-driver/xorg-driver-common.inc17
-rw-r--r--meta/recipes-graphics/xorg-driver/xorg-driver-input.inc4
-rw-r--r--meta/recipes-graphics/xorg-driver/xorg-driver-video.inc3
3 files changed, 23 insertions, 1 deletions
diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
index 9a474b76de..f9f25ffe95 100644
--- a/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
+++ b/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
@@ -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)
diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc
index bf4ca6cb77..a544d71bf2 100644
--- a/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc
+++ b/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc
@@ -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"
diff --git a/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc b/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc
index 57c80d1017..4fe33491b7 100644
--- a/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc
+++ b/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc
@@ -2,3 +2,6 @@ include xorg-driver-common.inc
DEPENDS =+ "renderproto videoproto xextproto fontsproto"
+python populate_packages_prepend() {
+ add_abi_depends(d, "video")
+}