summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/qemu-0.15.1/opengl-disable-option.patch
blob: 8dc272a926da4be86619008d0e7495f23770094b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
Add an option gl-accel to disable GL acceleration:
* When enabled, configure try best to enable GL acceleration and fail when
  missing host dependency(libSDL and libGL), which is the default.
* When disabled, end user choose to turn off GL capability, thus remove the
  host dependence in building.

Upstream-Status: Inappropriate [other] - depends on GL patch

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>

Index: qemu-0.15.1/Makefile.target
===================================================================
--- qemu-0.15.1.orig/Makefile.target	2012-05-29 11:20:04.000000000 +0800
+++ qemu-0.15.1/Makefile.target	2012-05-29 11:20:04.000000000 +0800
@@ -80,13 +80,16 @@
 endif
 libobj-$(CONFIG_NEED_MMU) += mmu.o
 ifndef CONFIG_LINUX_USER
+ifdef CONFIG_GL_ACCEL
 libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o
 libobj-$(TARGET_X86_64) += helper_opengl.o opengl_exec.o
 else
-ifdef CONFIG_SDL
 libobj-$(TARGET_I386) += dummygl.o
 libobj-$(TARGET_X86_64) += dummygl.o
-endif
+endif #CONFIG_GL_ACCEL
+else
+libobj-$(TARGET_I386) += dummygl.o
+libobj-$(TARGET_X86_64) += dummygl.o
 endif #CONFIG_LINUX_USER
 libobj-$(TARGET_ARM) += dummygl.o
 libobj-$(TARGET_MIPS) += dummygl.o
@@ -262,8 +265,10 @@
 obj-i386-$(CONFIG_SPICE) += qxl.o qxl-logger.o qxl-render.o
 
 ifeq ($(TARGET_BASE_ARCH), i386)
+ifdef CONFIG_GL_ACCEL
 QEMU_CFLAGS += -DTARGET_OPENGL_OK
 endif
+endif
 
 # shared objects
 obj-ppc-y = ppc.o
@@ -409,8 +414,6 @@
 
 monitor.o: hmp-commands.h qmp-commands.h
 
-LIBS += -lGL -lGLU
-
 $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y): $(GENERATED_HEADERS)
 
 obj-y += $(addprefix ../, $(common-obj-y))
Index: qemu-0.15.1/configure
===================================================================
--- qemu-0.15.1.orig/configure	2012-05-29 11:20:03.000000000 +0800
+++ qemu-0.15.1/configure	2012-05-29 11:20:04.000000000 +0800
@@ -2021,6 +2021,39 @@
   fi
 fi
 
+#####################################################
+# GL acceleration probe depending on gl, glu and sdl
+if test "$gl_accel" != "no" ; then
+  if test "$sdl" = "no" ; then
+    gl_accel=no
+    echo "libSDL and header no found to build opengl acceleration for qemu-native.
+    Ubuntu package names are: libsdl1.2-dev.
+    Fedora package names are: SDL-devel."
+    exit 1;
+  fi
+
+  gl_accel_libs="-lGL -lGLU"
+  cat > $TMPC << EOF
+#include <X11/Xlib.h>
+#include <GL/gl.h>
+#include <GL/glx.h>
+#include <GL/glu.h>
+int main(void) { GL_VERSION; return 0; }
+EOF
+  if compile_prog "" "-lGL -lGLU" ; then
+    gl_accel=yes
+    libs_softmmu="$gl_accel_libs $libs_softmmu"
+  else
+    feature_not_found "gl_accel"
+    gl_accel=no
+    gl_accel_libs=
+    echo "libGL.so and libGLU.so not found to build opengl acceleration for qemu-native.
+    Ubuntu package names are: libgl1-mesa-dev, libglu1-mesa-dev and libsdl1.2-dev.
+    Fedora package names are: mesa-libGL mesa-libGLU SDL-devel."
+    exit 1;
+  fi
+fi
+
 #
 # Check for xxxat() functions when we are building linux-user
 # emulator.  This is done because older glibc versions don't
@@ -2722,6 +2755,7 @@
 echo "nss used          $smartcard_nss"
 echo "usb net redir     $usb_redir"
 echo "OpenGL support    $opengl"
+echo "GL acceleration support    $gl_accel"
 echo "build guest agent $guest_agent"
 
 if test $sdl_too_old = "yes"; then
@@ -3025,6 +3059,10 @@
   echo "CONFIG_OPENGL=y" >> $config_host_mak
 fi
 
+if test "$gl_accel" = "yes" ; then
+  echo "CONFIG_GL_ACCEL=y" >> $config_host_mak
+fi
+
 # XXX: suppress that
 if [ "$bsd" = "yes" ] ; then
   echo "CONFIG_BSD=y" >> $config_host_mak
Index: qemu-0.15.1/qemu-char.c
===================================================================
--- qemu-0.15.1.orig/qemu-char.c	2012-05-29 11:20:03.000000000 +0800
+++ qemu-0.15.1/qemu-char.c	2012-05-29 11:20:04.000000000 +0800
@@ -2387,7 +2387,6 @@
     return d->outbuf_size;
 }
 
-#define TARGET_OPENGL_OK
 #if defined(TARGET_OPENGL_OK)
 static uint8_t buffer[32];
 static int buffer_len;
@@ -2447,7 +2446,7 @@
     return chr;
 }
 #else
-#define qemu_chr_open_opengl() 0
+#define qemu_chr_open_opengl NULL
 #endif
 
 QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename)