]> code.ossystems Code Review - openembedded-core.git/commitdiff
qemugl: Use mesa-dri as the main gl provider and just swap libs at runtime
authorRichard Purdie <rpurdie@linux.intel.com>
Tue, 9 Jun 2009 20:27:13 +0000 (21:27 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 9 Jun 2009 20:27:13 +0000 (21:27 +0100)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
meta/packages/mesa/qemugl/gl.pc [deleted file]
meta/packages/mesa/qemugl/headers.tgz [deleted file]
meta/packages/mesa/qemugl/versionfix.patch [new file with mode: 0644]
meta/packages/mesa/qemugl_git.bb

diff --git a/meta/packages/mesa/qemugl/gl.pc b/meta/packages/mesa/qemugl/gl.pc
deleted file mode 100644 (file)
index 18cdb4e..0000000
+++ /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 (file)
index 79e4968..0000000
Binary files a/meta/packages/mesa/qemugl/headers.tgz and /dev/null differ
diff --git a/meta/packages/mesa/qemugl/versionfix.patch b/meta/packages/mesa/qemugl/versionfix.patch
new file mode 100644 (file)
index 0000000..a3d33e8
--- /dev/null
@@ -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);
index 272f47b898b7bab49931c29b5fe88ee810feb9ec..bfc447392f62e03d5d36939ff1cdb5fb8f2887c6 100644 (file)
@@ -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