diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2009-06-09 21:27:13 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-06-09 21:27:13 +0100 |
commit | f4d34a005ad6bedf7fd36c7a20f1ca9f7ac27e61 (patch) | |
tree | 9015f9cd4ec0985f7061dea06bfde8d09ea0c4e7 | |
parent | 111ea0d5cc3246b2899a2db223882a1cce04b193 (diff) | |
download | openembedded-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.pc | 12 | ||||
-rw-r--r-- | meta/packages/mesa/qemugl/headers.tgz | bin | 134048 -> 0 bytes | |||
-rw-r--r-- | meta/packages/mesa/qemugl/versionfix.patch | 30 | ||||
-rw-r--r-- | meta/packages/mesa/qemugl_git.bb | 32 |
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 Binary files differdeleted file mode 100644 index 79e4968288..0000000000 --- a/meta/packages/mesa/qemugl/headers.tgz +++ /dev/null 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 |