From: "Jim C. Brown" <jma5@umd.edu>
To: Christian Bourque <christian.bourque@gmail.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] quick gtk2.c update
Date: Mon, 27 Jun 2005 21:04:19 -0400 [thread overview]
Message-ID: <20050628010419.GA21906@jbrown.mylinuxbox.org> (raw)
In-Reply-To: <a6ee49d305062714191d1eed3@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 577 bytes --]
On Mon, Jun 27, 2005 at 05:19:17PM -0400, Christian Bourque wrote:
> Hi Jim!
>
> Could you send a new Makefile.diff (the old one is not working with
> the latest cvs version of QEMU), I would like to test this code too...
>
> Thanks
>
> Christian
>
I just tested it myself. This patch was applied to latest CVS and it worked
perfectly. (The CVS was pure btw - freshly checked out into a new directory.)
If there are any rejects with this, please email the *.rej files to me.
--
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.
[-- Attachment #2: 2qemu-gtk-patch.diff --]
[-- Type: text/plain, Size: 6229 bytes --]
diff -u qemu.orig/vl.c qemu/vl.c
--- qemu.orig/vl.c Tue May 31 14:53:22 2005
+++ qemu/vl.c Tue May 31 14:52:55 2005
@@ -147,6 +147,7 @@
TextConsole *vga_console;
CharDriverState *serial_hds[MAX_SERIAL_PORTS];
CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];
+int use_gtk = 0;
#ifdef TARGET_I386
int win2k_install_hack = 0;
#endif
@@ -2877,6 +2878,7 @@
QEMU_OPTION_cirrusvga,
QEMU_OPTION_g,
QEMU_OPTION_std_vga,
+ QEMU_OPTION_use_gtk,
QEMU_OPTION_monitor,
QEMU_OPTION_serial,
QEMU_OPTION_parallel,
@@ -2947,6 +2949,7 @@
{ "localtime", 0, QEMU_OPTION_localtime },
{ "isa", 0, QEMU_OPTION_isa },
{ "std-vga", 0, QEMU_OPTION_std_vga },
+ { "use-gtk", 0, QEMU_OPTION_use_gtk },
{ "monitor", 1, QEMU_OPTION_monitor },
{ "serial", 1, QEMU_OPTION_serial },
{ "parallel", 1, QEMU_OPTION_parallel },
@@ -3345,6 +3348,9 @@
case QEMU_OPTION_std_vga:
cirrus_vga_enabled = 0;
break;
+ case QEMU_OPTION_use_gtk:
+ use_gtk = 1;
+ break;
case QEMU_OPTION_g:
{
const char *p;
@@ -3599,7 +3605,17 @@
if (nographic) {
dumb_display_init(ds);
} else {
+#if defined(CONFIG_GTK)
#if defined(CONFIG_SDL)
+ /* so we can choose */
+ if (use_gtk)
+ gtk2_display_init(ds, full_screen);
+ else
+ sdl_display_init(ds, full_screen);
+#else
+ gtk2_display_init(ds, full_screen);
+#endif
+#elif defined(CONFIG_SDL)
sdl_display_init(ds, full_screen);
#elif defined(CONFIG_COCOA)
cocoa_display_init(ds, full_screen);
diff -u qemu.orig/Makefile.target qemu/Makefile.target
--- qemu.orig/Makefile.target Mon May 30 19:42:28 2005
+++ qemu/Makefile.target Mon May 30 19:57:26 2005
@@ -357,6 +357,10 @@
ifdef CONFIG_SDL
VL_OBJS+=sdl.o
endif
+ifdef CONFIG_GTK
+VL_OBJS+=gtk2.o
+VL_OBJS+=fullscreen.o
+endif
ifdef CONFIG_COCOA
VL_OBJS+=cocoa.o
COCOA_LIBS=-F/System/Library/Frameworks -framework Cocoa
@@ -392,13 +396,19 @@
endif
$(QEMU_SYSTEM): $(VL_OBJS) libqemu.a
- $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS)
+ $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(GTK_LIBS) $(FS_LIBS) $(VL_LIBS)
cocoa.o: cocoa.m
$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
sdl.o: sdl.c keymaps.c sdl_keysym.h
$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+
+gtk2.o: gtk2.c keymaps.c gdk_keysym.h fullscreen.h
+ $(CC) $(CFLAGS) $(DEFINES) $(GTK_CFLAGS) -c -o $@ $<
+
+fullscreen.o: $(FSDRV) fullscreen.h
+ $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
sdlaudio.o: sdlaudio.c
$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
diff -u qemu.orig/configure qemu/configure
--- qemu.orig/configure Mon May 30 19:40:14 2005
+++ qemu/configure Mon May 30 20:10:11 2005
@@ -15,6 +15,7 @@
TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
+TMPF="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}-conf"
# default parameters
prefix=""
@@ -171,6 +172,10 @@
;;
--disable-sdl) sdl="no"
;;
+ --enable-gtk) gtk="yes"
+ ;;
+ --set-fs-driver=*) fsdrv=`echo $opt | cut -d '=' -f 2`
+ ;;
--enable-fmod) fmod="yes"
;;
--fmod-lib=*) fmod_lib=${opt#--fmod-lib=}
@@ -311,6 +316,62 @@
fi # cross compilation
fi # -z $sdl
+##########################################
+# GTK probe
+
+gtk_too_old=no
+
+if test -z "$gtk" ; then
+
+gtk=no
+
+# normal GTK probe
+cat > $TMPC << EOF
+#include <stdlib.h>
+#include <gtk/gtk.h>
+int main(int argc, char **argv) { gtk_init(&argc, &argv); return EXIT_SUCCESS; }
+EOF
+
+if $cc -o $TMPE `pkg-config --cflags --libs gtk+-2.0 2> /dev/null` $TMPC 2> /dev/null ; then
+_gtkversion=`pkg-config --modversion gtk+-2.0 | sed 's/[^0-9]//g'`
+if test "$_sdlversion" -lt 240 ; then
+ gtk_too_old=yes
+else
+ gtk=yes
+
+fi
+
+fi # gtk compile test
+
+fi # -z $gtk
+
+if [ "$gtk" = "yes" ]; then
+
+if [ "$fsdrv" = "" ] ; then
+
+if [ "$bsd" = "yes" -o "$linux" = "yes" ]; then
+ fsdrv=xvid_fs.c
+else
+ fsdrv=null_fs.c
+fi
+
+fi # fsdrv test
+
+if [ "$fsdrv" = "xvid_fs.c" -o "$fsdrv" = "null_fs.c" ]; then
+ echo "fsdrv=$fsdrv" >> $TMPF
+else
+ echo "Warning: unknown gtk fullscreen driver: $fsdrv - using null driver"
+ echo 'fsdrv=null_fs.c' >> $TMPF
+ fsdrv=null_fs.c
+fi
+
+if [ "$fsdrv" = "xvid_fs.c" ]; then
+ FS_LIBS="-lX11 -lXxf86vm -lXext -L/usr/X11R6/lib"
+ echo 'FS_LIBS="-lX11 -lXxf86vm -lXext -L/usr/X11R6/lib"' >> $TMPF
+fi
+
+fi # gtk=yes test
+
if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
cat << EOF
@@ -434,6 +495,8 @@
if test "$sdl" != "no" ; then
echo "SDL static link $sdl_static"
fi
+echo "GTK support $gtk"
+echo "GTK FS driver $fsdrv"
echo "mingw32 support $mingw32"
echo "Adlib support $adlib"
echo -n "FMOD support $fmod"
@@ -643,6 +706,8 @@
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
+. $TMPF
+
if test "$target_cpu" = "i386" ; then
echo "TARGET_ARCH=i386" >> $config_mak
echo "#define TARGET_ARCH \"i386\"" >> $config_h
@@ -720,6 +785,17 @@
fi
fi
+if test "$gtk" = "yes" ; then
+ . $TMPF
+ echo "#define CONFIG_GTK 1" >> $config_h
+ echo "CONFIG_GTK=yes" >> $config_mak
+ echo "GTK_LIBS=`pkg-config --libs gtk+-2.0`" >> $config_mak
+ echo "GTK_CFLAGS=`pkg-config --cflags gtk+-2.0`" >> $config_mak
+ echo "FSDRV=$fsdrv" >> $config_mak
+ echo "FS_LIBS=$FS_LIBS" >> $config_mak
+ echo "" >> $config_mak
+fi
+
if test "$cocoa" = "yes" ; then
echo "#define CONFIG_COCOA 1" >> $config_h
echo "CONFIG_COCOA=yes" >> $config_mak
@@ -739,4 +815,4 @@
done
fi
-rm -f $TMPO $TMPC $TMPE $TMPS
+rm -f $TMPO $TMPC $TMPE $TMPS $TMPF
diff -u qemu.orig/vl.h qemu/vl.h
--- qemu.orig/vl.h Mon May 30 19:40:14 2005
+++ qemu/vl.h Sat May 28 16:16:18 2005
@@ -579,6 +579,9 @@
/* sdl.c */
void sdl_display_init(DisplayState *ds, int full_screen);
+/* gtk2.c */
+void gtk2_display_init(DisplayState *ds, int full_screen);
+
/* cocoa.m */
void cocoa_display_init(DisplayState *ds, int full_screen);
next prev parent reply other threads:[~2005-06-28 1:08 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-27 21:19 [Qemu-devel] quick gtk2.c update Christian Bourque
2005-06-27 21:37 ` Brad Campbell
2005-06-28 1:04 ` Jim C. Brown [this message]
[not found] ` <a6ee49d305062720121d6fcc4e@mail.gmail.com>
[not found] ` <a6ee49d30506272028f772930@mail.gmail.com>
[not found] ` <20050628033526.GA23166@jbrown.mylinuxbox.org>
[not found] ` <a6ee49d3050628075662b7ec4c@mail.gmail.com>
2005-06-28 18:46 ` Jim C. Brown
-- strict thread matches above, loose matches on Subject: below --
2005-06-19 19:09 Jim C. Brown
2005-06-19 22:25 ` Sebastien Bechet
2005-06-20 0:01 ` Jim C. Brown
2005-06-19 22:57 ` jeebs
2005-06-19 23:53 ` Jim C. Brown
[not found] ` <002c01c57535$60064fb0$334d21d1@organiza3bfb0e>
2005-06-20 1:59 ` Jim C. Brown
2005-06-21 2:27 ` jeebs
2005-06-21 2:39 ` Jim C. Brown
2005-06-21 2:58 ` jeebs
2005-06-21 4:28 ` Jim C. Brown
2005-06-21 10:45 ` Jernej Simončič
2005-06-21 16:27 ` jeebs
2005-06-21 17:20 ` Jernej Simončič
2005-06-21 19:40 ` jeebs
2005-06-21 20:22 ` Jernej Simončič
2005-06-21 21:19 ` jeebs
2005-06-21 22:24 ` Jim C. Brown
2005-06-21 22:45 ` jeebs
2005-06-21 23:58 ` Jim C. Brown
2005-06-22 4:14 ` jeebs
2005-06-22 5:15 ` Damien Mascord
2005-06-22 9:31 ` Jernej Simončič
2005-06-22 12:31 ` Jim C. Brown
2005-06-22 9:16 ` Jernej Simončič
2005-06-22 13:17 ` Jim C. Brown
2005-06-22 18:36 ` Jim C. Brown
2005-06-22 18:53 ` Jim C. Brown
2005-06-22 20:59 ` Jim C. Brown
2005-06-23 2:26 ` jeebs
2005-06-24 0:32 ` Jim C. Brown
2005-06-26 16:13 ` Jim C. Brown
2005-06-27 17:11 ` jeebs
2005-06-27 18:15 ` Jim C. Brown
2005-06-22 13:22 ` Jim C. Brown
2005-06-22 3:53 ` Herbert Poetzl
2005-06-22 12:41 ` Jim C. Brown
2005-06-21 21:52 ` Jim C. Brown
2005-06-21 19:45 ` Jim C. Brown
2005-06-21 10:42 ` Jernej Simončič
2005-06-21 12:36 ` Jim C. Brown
2005-06-21 16:30 ` jeebs
2005-06-21 17:25 ` Jernej Simončič
2005-06-21 10:39 ` Jernej Simončič
2005-06-21 10:32 ` Jernej Simončič
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050628010419.GA21906@jbrown.mylinuxbox.org \
--to=jma5@umd.edu \
--cc=christian.bourque@gmail.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.