summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-06-09 21:27:13 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2009-06-09 21:27:13 +0100
commitf4d34a005ad6bedf7fd36c7a20f1ca9f7ac27e61 (patch)
tree9015f9cd4ec0985f7061dea06bfde8d09ea0c4e7
parent111ea0d5cc3246b2899a2db223882a1cce04b193 (diff)
downloadopenembedded-core-f4d34a005ad6bedf7fd36c7a20f1ca9f7ac27e61.tar.gz
openembedded-core-f4d34a005ad6bedf7fd36c7a20f1ca9f7ac27e61.tar.bz2
openembedded-core-f4d34a005ad6bedf7fd36c7a20f1ca9f7ac27e61.zip
qemugl: Use mesa-dri as the main gl provider and just swap libs at runtime
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r--meta/packages/mesa/qemugl/gl.pc12
-rw-r--r--meta/packages/mesa/qemugl/headers.tgzbin134048 -> 0 bytes
-rw-r--r--meta/packages/mesa/qemugl/versionfix.patch30
-rw-r--r--meta/packages/mesa/qemugl_git.bb32
4 files changed, 38 insertions, 36 deletions
diff --git a/meta/packages/mesa/qemugl/gl.pc b/meta/packages/mesa/qemugl/gl.pc
deleted file mode 100644
index 18cdb4e665..0000000000
--- a/meta/packages/mesa/qemugl/gl.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=/usr/lib
-includedir=/usr/include
-
-Name: gl
-Description: QEMU OpenGL library
-Requires.private: x11 xext xfixes
-Version: 7.3.0
-Libs: -L${libdir} -lGL
-Libs.private: -lm -lpthread -ldl
-Cflags: -I${includedir}
diff --git a/meta/packages/mesa/qemugl/headers.tgz b/meta/packages/mesa/qemugl/headers.tgz
deleted file mode 100644
index 79e4968288..0000000000
--- a/meta/packages/mesa/qemugl/headers.tgz
+++ /dev/null
Binary files differ
diff --git a/meta/packages/mesa/qemugl/versionfix.patch b/meta/packages/mesa/qemugl/versionfix.patch
new file mode 100644
index 0000000000..a3d33e8303
--- /dev/null
+++ b/meta/packages/mesa/qemugl/versionfix.patch
@@ -0,0 +1,30 @@
+Index: git/Makefile
+===================================================================
+--- git.orig/Makefile 2009-01-19 23:37:36.000000000 +0000
++++ git/Makefile 2009-06-09 20:30:37.000000000 +0100
+@@ -1,9 +1,9 @@
+ GL_CFLAGS := -Wall -g -O2 -fno-strict-aliasing
+
+-all: libGL.so
++all: libGL.so.1.2
+
+-libGL.so: client_stub.c opengl_client.c glgetv_cst.h opengl_func.h opengl_utils.h opengl_client_xfonts.c mesa_gl.h mesa_glext.h mesa_glx.h mesa_glxext.h
+- $(CC) -fPIC $(GL_CFLAGS) opengl_client.c -shared -o libGL.so -lX11 -lXfixes -lm -L$(D)/usr/X11R6/lib -lpthread -I.
++libGL.so.1.2: client_stub.c opengl_client.c glgetv_cst.h opengl_func.h opengl_utils.h opengl_client_xfonts.c mesa_gl.h mesa_glext.h mesa_glx.h mesa_glxext.h
++ $(CC) -fPIC $(GL_CFLAGS) opengl_client.c -shared -o libGL.so.1.2 -lX11 -lXfixes -lm -L$(D)/usr/X11R6/lib -lpthread -I.
+
+ opengl_func.h: gl_func.h
+
+Index: git/opengl_client.c
+===================================================================
+--- git.orig/opengl_client.c 2009-06-09 21:07:15.000000000 +0100
++++ git/opengl_client.c 2009-06-09 21:07:33.000000000 +0100
+@@ -11578,7 +11578,7 @@
+ tab_assoc = calloc(tabSize, sizeof(AssocProcAdress));
+
+ #ifndef WIN32
+- handle = dlopen(getenv("REAL_LIBGL") ? getenv("REAL_LIBGL") : "libGL.so" ,RTLD_LAZY);
++ handle = dlopen(getenv("REAL_LIBGL") ? getenv("REAL_LIBGL") : "libGL.so.1.2" ,RTLD_LAZY);
+ if (!handle) {
+ log_gl("%s\n", dlerror());
+ exit(1);
diff --git a/meta/packages/mesa/qemugl_git.bb b/meta/packages/mesa/qemugl_git.bb
index 272f47b898..bfc447392f 100644
--- a/meta/packages/mesa/qemugl_git.bb
+++ b/meta/packages/mesa/qemugl_git.bb
@@ -8,36 +8,20 @@ DEPENDS = "virtual/libx11 xproto glproto libxfixes"
COMPATIBLE_HOST = '(x86_64|i.86.*)-(linux|freebsd.*)'
SRC_URI = "git://git.o-hand.com/qemugl.git;protocol=git \
- file://headers.tgz \
- file://gl.pc"
+ file://versionfix.patch;patch=1"
S = "${WORKDIR}/git"
PV = "0.0+git${SRCREV}"
-PR = "r1"
-
-PROVIDES = "virtual/libgl"
+PR = "r5"
DEFAULT_PREFERENCE = "-1"
-# Multiple virtual/gl providers being built breaks staging
-EXCLUDE_FROM_WORLD = "1"
-
do_install () {
- install -d ${D}${libdir}
- install -m 0755 ${S}/libGL.so ${D}${libdir}/
- ln -s libGL.so ${D}${libdir}/libGL.so.1
- install -d ${D}{includedir}/GL/
- cp -pPR ${WORKDIR}/headers/* ${D}{includedir}/GL/
- install -d ${D}${libdir}/pkgconfig/
- cp ${WORKDIR}/gl.pc ${D}${libdir}/pkgconfig/
+ install -d ${D}${libdir}/
+ install -m 0755 ${S}/libGL.so.1.2 ${D}${libdir}/libGL-qemu.so.1.2
}
-do_stage () {
- install -d ${STAGING_LIBDIR}/
- install -m 0755 ${S}/libGL.so ${STAGING_LIBDIR}/
- ln -s libGL.so ${STAGING_LIBDIR}/libGL.so.1
- install -d ${STAGING_INCDIR}/GL/
- cp -pPR ${WORKDIR}/headers/* ${STAGING_INCDIR}/GL/
- install -d ${STAGING_LIBDIR}/pkgconfig/
- cp ${WORKDIR}/gl.pc ${STAGING_LIBDIR}/pkgconfig/
-}
+pkg_postinst_${PN} () {
+ rm -f $D${libdir}/libGL.so.1.2
+ ln -s libGL-qemu.so.1.2 $D${libdir}/libGL.so.1.2
+} \ No newline at end of file