summaryrefslogtreecommitdiff
path: root/recipes/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/mesa')
-rw-r--r--recipes/mesa/README12
-rw-r--r--recipes/mesa/mesa-7.2.inc7
-rw-r--r--recipes/mesa/mesa-7.6.inc6
-rw-r--r--recipes/mesa/mesa-7.8.2.inc13
-rw-r--r--recipes/mesa/mesa-7.8.2/glamo.patch (renamed from recipes/mesa/mesa-dri-7.8.2/glamo.patch)0
-rw-r--r--recipes/mesa/mesa-common.inc20
-rw-r--r--recipes/mesa/mesa-dri.inc8
-rw-r--r--recipes/mesa/mesa-dri_7.2.bb29
-rw-r--r--recipes/mesa/mesa-dri_7.6.bb34
-rw-r--r--recipes/mesa/mesa-dri_7.8.2.bb40
-rw-r--r--recipes/mesa/mesa-dri_git.bb19
-rw-r--r--recipes/mesa/mesa-xlib-7.8.2/fix-progs-makefile.patch81
-rw-r--r--recipes/mesa/mesa-xlib.inc2
-rw-r--r--recipes/mesa/mesa-xlib_7.2.bb26
-rw-r--r--recipes/mesa/mesa-xlib_7.6.bb21
-rw-r--r--recipes/mesa/mesa-xlib_7.8.2.bb22
-rw-r--r--recipes/mesa/mesa/fix-progs-makefile.patch (renamed from recipes/mesa/mesa-dri-7.8.2/fix-progs-makefile.patch)0
17 files changed, 85 insertions, 255 deletions
diff --git a/recipes/mesa/README b/recipes/mesa/README
new file mode 100644
index 0000000000..3c6de3ee42
--- /dev/null
+++ b/recipes/mesa/README
@@ -0,0 +1,12 @@
+mesa-common.inc
+* Settings shared by ALL recipes
+
+mesa-${PV}.inc
+* Settings for particular version, mostly checksums and additional patches
+* Patches are stored mesa-${PV} dir and -dri and xlib has adjusted FILESPATHPKG
+
+mesa-dri.inc
+* Setting shared by ALL dri recipes - defines what is mesa-dri
+
+mesa-xlib.inc
+* Setting shared by ALL xlib recipes - defines what is mesa-xlib
diff --git a/recipes/mesa/mesa-7.2.inc b/recipes/mesa/mesa-7.2.inc
new file mode 100644
index 0000000000..88513ab91a
--- /dev/null
+++ b/recipes/mesa/mesa-7.2.inc
@@ -0,0 +1,7 @@
+SRC_URI = "${SOURCEFORGE_MIRROR}/mesa3d/MesaLib-${PV}.tar.bz2;name=archive \
+ ${SOURCEFORGE_MIRROR}/mesa3d/MesaDemos-${PV}.tar.bz2;name=demos "
+
+SRC_URI[archive.md5sum] = "04d379292e023df0b0266825cb0dbde5"
+SRC_URI[archive.sha256sum] = "a9cc62ab760afeebcb1319a193508734a2d470cab8effab2776a2d3c65bd9cd2"
+SRC_URI[demos.md5sum] = "22e03dc4038cd63f32c21eb60994892b"
+SRC_URI[demos.sha256sum] = "3d73988ad3e87f6084a4593cc6b3aac63aca3e893d3e9409d892a6f51558e4c4"
diff --git a/recipes/mesa/mesa-7.6.inc b/recipes/mesa/mesa-7.6.inc
new file mode 100644
index 0000000000..76b41c60b9
--- /dev/null
+++ b/recipes/mesa/mesa-7.6.inc
@@ -0,0 +1,6 @@
+SRC_URI[archive.md5sum] = "8c75f90cd0303cfac9e4b6d54f6759ca"
+SRC_URI[archive.sha256sum] = "782a7b2810b1c466b3a994eba96485b59b47cc1120c0caa24de1aecf1e013830"
+SRC_URI[demos.md5sum] = "0ede7adf217951acd90dbe4551210c07"
+SRC_URI[demos.sha256sum] = "2fdf09fd7967fb1946e7f6af07d39c9fb695c373e1bad3855d3c3fbece5badd0"
+
+EXTRA_OECONF += " --disable-gallium"
diff --git a/recipes/mesa/mesa-7.8.2.inc b/recipes/mesa/mesa-7.8.2.inc
new file mode 100644
index 0000000000..a20e2909fe
--- /dev/null
+++ b/recipes/mesa/mesa-7.8.2.inc
@@ -0,0 +1,13 @@
+SRC_URI += " \
+ file://fix-progs-makefile.patch \
+ file://glamo.patch \
+ "
+
+SRC_URI[archive.md5sum] = "6be2d343a0089bfd395ce02aaf8adb57"
+SRC_URI[archive.sha256sum] = "505bf418dceba05837f4ea1b1972b9620c35f8cb94bc4d1e6d573c15f562576d"
+SRC_URI[demos.md5sum] = "757d9e2e06f48b1a52848be9b0307ced"
+SRC_URI[demos.sha256sum] = "ea7b9ebfb7a80de2b275c0c9124c8a505382ec48411a2794ab82542f9885ac3c"
+
+DEFAULT_PREFERENCE_shr = "2"
+
+EXTRA_OECONF += " --disable-gallium"
diff --git a/recipes/mesa/mesa-dri-7.8.2/glamo.patch b/recipes/mesa/mesa-7.8.2/glamo.patch
index 52b4f3fa69..52b4f3fa69 100644
--- a/recipes/mesa/mesa-dri-7.8.2/glamo.patch
+++ b/recipes/mesa/mesa-7.8.2/glamo.patch
diff --git a/recipes/mesa/mesa-common.inc b/recipes/mesa/mesa-common.inc
index 3884112390..51f7873a7f 100644
--- a/recipes/mesa/mesa-common.inc
+++ b/recipes/mesa/mesa-common.inc
@@ -4,11 +4,17 @@ DESCRIPTION = "An open source implementation of the OpenGL spec"
HOMEPAGE = "http://mesa3d.org"
LICENSE = "MIT"
-INC_PR = "r7"
+INC_PR = "r8"
PE = "2"
-SRC_URI = "${SOURCEFORGE_MIRROR}/mesa3d/MesaLib-${PV}.tar.bz2;name=archive \
- ${SOURCEFORGE_MIRROR}/mesa3d/MesaDemos-${PV}.tar.bz2;name=demos "
+PROTO_DEPS = "xf86driproto glproto"
+LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
+
+DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
+
+SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=archive \
+ ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaDemos-${PV}.tar.bz2;name=demos \
+ "
S = "${WORKDIR}/Mesa-${PV}"
PROVIDES = "virtual/libgl"
@@ -25,8 +31,10 @@ inherit glx-use-tls
# Package contents vary according to ${MACHINE_DRI_MODULES}.
PACKAGE_ARCH = "${MACHINE}"
-PACKAGES =+ "libegl libegl-dev libglu libglu-dev libosmesa libosmesa-dev libgl libgl-dev"
-FILES_libegl = "${libdir}/libEGL.so.*"
+PACKAGES =+ "libegl libegl-dev libegl-dbg libglu libglu-dev libosmesa libosmesa-dev libgl libgl-dev ${PN}-xprogs"
+FILES_${PN} += "${libdir}/dri/*.so"
+FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
+FILES_libegl = "${libdir}/libEGL.so.* ${libdir}/egl/*.so"
FILES_libgl = "${libdir}/libGL.so.*"
FILES_libglu = "${libdir}/libGLU.so.*"
FILES_libosmesa = "${libdir}/libOSMesa.so.*"
@@ -36,6 +44,8 @@ FILES_libgl-dev = "${libdir}/libGL.* ${includedir}/GL"
FILES_libglu-dev = "${libdir}/libGLU.* ${includedir}/GL/glu*.h"
FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h"
+FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
+FILES_libegl-dbg += "${libdir}/egl/.debug/*"
do_stage() {
autotools_stage_all
diff --git a/recipes/mesa/mesa-dri.inc b/recipes/mesa/mesa-dri.inc
new file mode 100644
index 0000000000..33258c5729
--- /dev/null
+++ b/recipes/mesa/mesa-dri.inc
@@ -0,0 +1,8 @@
+DEPENDS += "dri2proto expat libdrm makedepend-native"
+
+FILESPATHPKG =. "mesa-${PV}:mesa:"
+
+# most of our targets do not have DRI so will use mesa-xlib
+DEFAULT_PREFERENCE = "-1"
+
+EXTRA_OECONF += " --with-driver=dri --with-dri-drivers=swrast,${MACHINE_DRI_MODULES}"
diff --git a/recipes/mesa/mesa-dri_7.2.bb b/recipes/mesa/mesa-dri_7.2.bb
index da402c3881..26b56e426c 100644
--- a/recipes/mesa/mesa-dri_7.2.bb
+++ b/recipes/mesa/mesa-dri_7.2.bb
@@ -1,27 +1,4 @@
-include mesa-common.inc
-
-PROTO_DEPS = "xf86driproto glproto dri2proto expat"
-LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
-
-DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
-
+require mesa-common.inc
+require mesa-${PV}.inc
+require mesa-dri.inc
PR = "${INC_PR}.0"
-
-# most of our targets do not have DRI so will use mesa-xlib
-DEFAULT_PREFERENCE = "-1"
-
-# ASUS EeePC 901 has DRI support so use mesa-dri by default
-DEFAULT_PREFERENCE_eee901 = "1"
-
-PACKAGES =+ "${PN}-xprogs"
-
-FILES_${PN} += "${libdir}/dri/*.so"
-FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
-FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
-
-EXTRA_OECONF += "--with-driver=dri --with-dri-drivers=swrast,${MACHINE_DRI_MODULES}"
-
-SRC_URI[archive.md5sum] = "04d379292e023df0b0266825cb0dbde5"
-SRC_URI[archive.sha256sum] = "a9cc62ab760afeebcb1319a193508734a2d470cab8effab2776a2d3c65bd9cd2"
-SRC_URI[demos.md5sum] = "22e03dc4038cd63f32c21eb60994892b"
-SRC_URI[demos.sha256sum] = "3d73988ad3e87f6084a4593cc6b3aac63aca3e893d3e9409d892a6f51558e4c4"
diff --git a/recipes/mesa/mesa-dri_7.6.bb b/recipes/mesa/mesa-dri_7.6.bb
index 33f4069bc5..26b56e426c 100644
--- a/recipes/mesa/mesa-dri_7.6.bb
+++ b/recipes/mesa/mesa-dri_7.6.bb
@@ -1,32 +1,4 @@
-include mesa-common.inc
-
-PROTO_DEPS = "xf86driproto glproto dri2proto expat"
-LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
-
-DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
-
-SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=archive \
- ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaDemos-${PV}.tar.bz2;name=demos \
- "
+require mesa-common.inc
+require mesa-${PV}.inc
+require mesa-dri.inc
PR = "${INC_PR}.0"
-
-# most of our targets do not have DRI so will use mesa-xlib
-DEFAULT_PREFERENCE = "-1"
-
-DEFAULT_PREFERENCE_om-gta01 = "2"
-
-# ASUS EeePC 901 has DRI support so use mesa-dri by default
-DEFAULT_PREFERENCE_eee901 = "1"
-
-PACKAGES =+ "${PN}-xprogs"
-
-FILES_${PN} += "${libdir}/dri/*.so"
-FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
-FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
-
-EXTRA_OECONF += "--disable-gallium --with-driver=dri --with-dri-drivers=swrast,${MACHINE_DRI_MODULES}"
-
-SRC_URI[archive.md5sum] = "8c75f90cd0303cfac9e4b6d54f6759ca"
-SRC_URI[archive.sha256sum] = "782a7b2810b1c466b3a994eba96485b59b47cc1120c0caa24de1aecf1e013830"
-SRC_URI[demos.md5sum] = "0ede7adf217951acd90dbe4551210c07"
-SRC_URI[demos.sha256sum] = "2fdf09fd7967fb1946e7f6af07d39c9fb695c373e1bad3855d3c3fbece5badd0"
diff --git a/recipes/mesa/mesa-dri_7.8.2.bb b/recipes/mesa/mesa-dri_7.8.2.bb
index 356c284edb..8c4cef66fd 100644
--- a/recipes/mesa/mesa-dri_7.8.2.bb
+++ b/recipes/mesa/mesa-dri_7.8.2.bb
@@ -1,41 +1,9 @@
-include mesa-common.inc
-
-PROTO_DEPS = "xf86driproto glproto dri2proto expat"
-LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
-
-DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} makedepend-native mesa-dri-glsl-native"
-
-SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=archive \
- ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaDemos-${PV}.tar.bz2;name=demos \
- file://fix-progs-makefile.patch \
- file://glamo.patch \
- "
-SRC_URI[archive.md5sum] = "6be2d343a0089bfd395ce02aaf8adb57"
-SRC_URI[archive.sha256sum] = "505bf418dceba05837f4ea1b1972b9620c35f8cb94bc4d1e6d573c15f562576d"
-SRC_URI[demos.md5sum] = "757d9e2e06f48b1a52848be9b0307ced"
-SRC_URI[demos.sha256sum] = "ea7b9ebfb7a80de2b275c0c9124c8a505382ec48411a2794ab82542f9885ac3c"
-
+require mesa-common.inc
+require mesa-${PV}.inc
+require mesa-dri.inc
PR = "${INC_PR}.0"
-# most of our targets do not have DRI so will use mesa-xlib
-DEFAULT_PREFERENCE = "-1"
-DEFAULT_PREFERENCE_shr = "2"
-
-# ASUS EeePC 901 has DRI support so use mesa-dri by default
-DEFAULT_PREFERENCE_eee901 = "1"
-
-PACKAGES =+ "${PN}-xprogs"
-
-FILES_${PN} += "${libdir}/dri/*.so \
- ${libdir}/egl/*.so"
-FILES_${PN}-dbg += "${libdir}/dri/.debug/* \
- ${libdir}/egl/.debug/*"
-FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
-
-EXTRA_OECONF += "--with-driver=dri --disable-glx-tls --with-dri-drivers=swrast,${MACHINE_DRI_MODULES}"
-EXTRA_OECONF_shr += "--with-driver=dri --disable-glx-tls --disable-gallium \
- --disable-gallium-intel --with-dri-drivers=swrast,${MACHINE_DRI_MODULES} \
- ${@base_conditional( 'MACHINE',"htcdream", "--disable-egl", "",d)} "
+DEPENDS += "mesa-dri-glsl-native"
# We need glsl-compile built for buildhost arch instead of target (is provided by mesa-dri-glsl-native)"
do_configure_prepend() {
diff --git a/recipes/mesa/mesa-dri_git.bb b/recipes/mesa/mesa-dri_git.bb
index 5f726418ec..61fb199dec 100644
--- a/recipes/mesa/mesa-dri_git.bb
+++ b/recipes/mesa/mesa-dri_git.bb
@@ -1,16 +1,11 @@
-include mesa-common.inc
-
-PROTO_DEPS = "xf86driproto glproto dri2proto"
-LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
-
-DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} makedepend-native mesa-dri-glsl-native"
+require mesa-common.inc
+require mesa-dri.inc
PV = "7.7.999"
PR = "${INC_PR}.0"
PR_append = "+gitr${SRCPV}"
DEFAULT_PREFERENCE = "-2"
-DEFAULT_PREFERENCE_shr = "2"
SRCREV = "196214bf2b677a83653d49f79d03752f29df44ec"
SRCREV_shr = "1ac166895fef47806c9e9286d2a6356b4db8398d"
@@ -22,15 +17,7 @@ SRC_URI_shr_append = " file://fix-progs-makefile.patch"
S = "${WORKDIR}/git"
-PACKAGES =+ " mesa-utils "
-
-FILES_${PN} += "${libdir}/dri/*.so"
-FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
-FILES_mesa-utils = "${bindir}/*"
-
-EXTRA_OECONF += "--with-driver=dri --disable-glx-tls --with-dri-drivers=swrast,${MACHINE_DRI_MODULES}"
-EXTRA_OECONF_om-gta02 += "--with-driver=dri --disable-glx-tls --disable-gallium --disable-gallium-intel --with-dri-drivers=swrast,${MACHINE_DRI_MODULES}"
-EXTRA_OECONF_om-gta01 += "--with-driver=dri --disable-glx-tls --disable-gallium --disable-gallium-intel --with-dri-drivers=swrast,${MACHINE_DRI_MODULES}"
+DEPENDS += "mesa-dri-glsl-native"
# We need glsl-compile built for buildhost arch instead of target (is provided by mesa-dri-glsl-native)"
do_configure_prepend() {
diff --git a/recipes/mesa/mesa-xlib-7.8.2/fix-progs-makefile.patch b/recipes/mesa/mesa-xlib-7.8.2/fix-progs-makefile.patch
deleted file mode 100644
index 40e6a1b16e..0000000000
--- a/recipes/mesa/mesa-xlib-7.8.2/fix-progs-makefile.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From e03daf13a562414f07230c17998edd39564b5f1b Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 4 Mar 2010 14:16:27 +0100
-Subject: [PATCH] fix libs
-
----
- progs/demos/Makefile | 2 +-
- progs/glsl/Makefile | 2 +-
- progs/redbook/Makefile | 2 +-
- progs/samples/Makefile | 2 +-
- progs/xdemos/Makefile | 2 +-
- 5 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/progs/demos/Makefile b/progs/demos/Makefile
-index 5b1d2a0..121b862 100644
---- a/progs/demos/Makefile
-+++ b/progs/demos/Makefile
-@@ -8,7 +8,7 @@ INCDIR = $(TOP)/include
- LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) \
- $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
-
--LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
-+LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lstdc++ \
- $(APP_LIB_DEPS)
-
- PROGS = \
-diff --git a/progs/glsl/Makefile b/progs/glsl/Makefile
-index 3b5a595..836c4ac 100644
---- a/progs/glsl/Makefile
-+++ b/progs/glsl/Makefile
-@@ -10,7 +10,7 @@ LIB_DEP = \
- $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) \
- $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
-
--LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) \
-+LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -lstdc++ \
- -l$(GL_LIB) $(APP_LIB_DEPS)
-
- # using : to avoid APP_CC pointing to CC loop
-diff --git a/progs/redbook/Makefile b/progs/redbook/Makefile
-index b41e488..95ed746 100644
---- a/progs/redbook/Makefile
-+++ b/progs/redbook/Makefile
-@@ -7,7 +7,7 @@ INCDIR = $(TOP)/include
-
- LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
-
--LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
-+LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lstdc++ $(APP_LIB_DEPS)
-
- PROGS = aaindex \
- aapoly \
-diff --git a/progs/samples/Makefile b/progs/samples/Makefile
-index 64fa47a..9f72c8b 100644
---- a/progs/samples/Makefile
-+++ b/progs/samples/Makefile
-@@ -7,7 +7,7 @@ INCDIR = $(TOP)/include
-
- LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
-
--LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
-+LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lstdc++ $(APP_LIB_DEPS)
-
- PROGS = accum bitmap1 bitmap2 blendeq blendxor copy cursor depth eval fog \
- font line logo nurb olympic overlay point prim rgbtoppm quad select \
-diff --git a/progs/xdemos/Makefile b/progs/xdemos/Makefile
-index f866a32..c0f4e06 100644
---- a/progs/xdemos/Makefile
-+++ b/progs/xdemos/Makefile
-@@ -11,7 +11,7 @@
- # Add X11 and pthread libs to satisfy GNU gold.
- APP_LIB_DEPS += -lX11 -lpthread
-
--LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(libdir) $(APP_LIB_DEPS)
-+LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(libdir) -lstdc++ $(APP_LIB_DEPS)
-
- PROGS = \
- corender \
---
-1.7.0
-
diff --git a/recipes/mesa/mesa-xlib.inc b/recipes/mesa/mesa-xlib.inc
new file mode 100644
index 0000000000..cabe6e5ec5
--- /dev/null
+++ b/recipes/mesa/mesa-xlib.inc
@@ -0,0 +1,2 @@
+FILESPATHPKG =. "mesa-${PV}:mesa:"
+EXTRA_OECONF += " --with-driver=xlib"
diff --git a/recipes/mesa/mesa-xlib_7.2.bb b/recipes/mesa/mesa-xlib_7.2.bb
index dfc0d7ce80..93bb8cd19b 100644
--- a/recipes/mesa/mesa-xlib_7.2.bb
+++ b/recipes/mesa/mesa-xlib_7.2.bb
@@ -1,24 +1,4 @@
-include mesa-common.inc
-
-PROTO_DEPS = "xf86driproto glproto"
-LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
-
-DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
-
+require mesa-common.inc
+require mesa-${PV}.inc
+require mesa-xlib.inc
PR = "${INC_PR}.0"
-
-EXTRA_OECONF += "--with-driver=xlib"
-
-PACKAGES =+ "${PN}-xprogs"
-
-FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
-
-do_install_append () {
- install -d ${D}/${bindir}
- install -m 0755 ${S}/progs/xdemos/{glxdemo,glxgears,glxheads,glxinfo} ${D}/${bindir}
-}
-
-SRC_URI[archive.md5sum] = "04d379292e023df0b0266825cb0dbde5"
-SRC_URI[archive.sha256sum] = "a9cc62ab760afeebcb1319a193508734a2d470cab8effab2776a2d3c65bd9cd2"
-SRC_URI[demos.md5sum] = "22e03dc4038cd63f32c21eb60994892b"
-SRC_URI[demos.sha256sum] = "3d73988ad3e87f6084a4593cc6b3aac63aca3e893d3e9409d892a6f51558e4c4"
diff --git a/recipes/mesa/mesa-xlib_7.6.bb b/recipes/mesa/mesa-xlib_7.6.bb
index e81c5857bf..93bb8cd19b 100644
--- a/recipes/mesa/mesa-xlib_7.6.bb
+++ b/recipes/mesa/mesa-xlib_7.6.bb
@@ -1,19 +1,4 @@
-include mesa-common.inc
-
-PROTO_DEPS = "xf86driproto glproto"
-LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
-
-DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
-
-SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=archive \
- ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaDemos-${PV}.tar.bz2;name=demos \
- "
-
+require mesa-common.inc
+require mesa-${PV}.inc
+require mesa-xlib.inc
PR = "${INC_PR}.0"
-
-EXTRA_OECONF += "--disable-gallium --with-driver=xlib"
-
-SRC_URI[archive.md5sum] = "8c75f90cd0303cfac9e4b6d54f6759ca"
-SRC_URI[archive.sha256sum] = "782a7b2810b1c466b3a994eba96485b59b47cc1120c0caa24de1aecf1e013830"
-SRC_URI[demos.md5sum] = "0ede7adf217951acd90dbe4551210c07"
-SRC_URI[demos.sha256sum] = "2fdf09fd7967fb1946e7f6af07d39c9fb695c373e1bad3855d3c3fbece5badd0"
diff --git a/recipes/mesa/mesa-xlib_7.8.2.bb b/recipes/mesa/mesa-xlib_7.8.2.bb
index 6c0e7ea461..93bb8cd19b 100644
--- a/recipes/mesa/mesa-xlib_7.8.2.bb
+++ b/recipes/mesa/mesa-xlib_7.8.2.bb
@@ -1,20 +1,4 @@
-include mesa-common.inc
-
-PROTO_DEPS = "xf86driproto glproto"
-LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
-
-DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
-
-SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=archive \
- ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaDemos-${PV}.tar.bz2;name=demos \
- file://fix-progs-makefile.patch \
- "
-
-SRC_URI[archive.md5sum] = "85cb891eecb89aae4fdd3499cccd934b"
-SRC_URI[archive.sha256sum] = "8c85db5844303b806b18fc6bd40a9dccb02d90b54878a94f910674673ba0aa35"
-SRC_URI[demos.md5sum] = "9fe8ec184c7f78691e43c4c0a7f97d56"
-SRC_URI[demos.sha256sum] = "5bf65f03ddcd04b02e9ca044285f8754decee67eb274191da1f31627f1d84b0e"
-
+require mesa-common.inc
+require mesa-${PV}.inc
+require mesa-xlib.inc
PR = "${INC_PR}.0"
-
-EXTRA_OECONF += "--disable-gallium --with-driver=xlib"
diff --git a/recipes/mesa/mesa-dri-7.8.2/fix-progs-makefile.patch b/recipes/mesa/mesa/fix-progs-makefile.patch
index f05d4b0519..f05d4b0519 100644
--- a/recipes/mesa/mesa-dri-7.8.2/fix-progs-makefile.patch
+++ b/recipes/mesa/mesa/fix-progs-makefile.patch