diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2013-02-20 07:43:20 -0600 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-02-21 16:34:48 -0600 |
commit | a4ccabcf6deaeb42c65d5d6d84ba0ceff8003876 (patch) | |
tree | 026ef8d21f381dd0aeeab50a84ba166d75fdc851 /configure | |
parent | d82831dbc5471d72785c49b33710436af49bf9ca (diff) | |
download | qemu-a4ccabcf6deaeb42c65d5d6d84ba0ceff8003876.tar.gz qemu-a4ccabcf6deaeb42c65d5d6d84ba0ceff8003876.tar.bz2 qemu-a4ccabcf6deaeb42c65d5d6d84ba0ceff8003876.zip |
ui: add basic GTK gui (v5)
This is minimalistic and just contains the basic widget infrastructure. The GUI
consists of a menu and a GtkNotebook. To start with, the notebook has its tabs
hidden which provides a UI that looks very similar to SDL with the exception of
the menu bar.
The menu bar allows a user to toggle the visibility of the tabs. Cairo is used
for rendering.
I used gtk-vnc as a reference. gtk-vnc solves the same basic problems as QEMU
since it was originally written as a remote display for QEMU. So for the most
part, the approach to rendering and keyboard handling should be pretty solid for
GTK.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Message-id: 1361367806-4599-4-git-send-email-aliguori@us.ibm.com
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -226,6 +226,7 @@ coroutine="" seccomp="" glusterfs="" virtio_blk_data_plane="" +gtk="" # parse CC options first for opt do @@ -897,6 +898,10 @@ for opt do ;; --enable-virtio-blk-data-plane) virtio_blk_data_plane="yes" ;; + --disable-gtk) gtk="no" + ;; + --enable-gtk) gtk="yes" + ;; *) echo "ERROR: unknown option $opt"; show_help="yes" ;; esac @@ -1636,6 +1641,26 @@ if test "$sparse" != "no" ; then fi ########################################## +# GTK probe + +if test "$gtk" != "no"; then + if $pkg_config gtk+-2.0 --modversion >/dev/null 2>/dev/null && \ + $pkg_config vte --modversion >/dev/null 2>/dev/null; then + gtk_cflags=`$pkg_config --cflags gtk+-2.0 2>/dev/null` + gtk_libs=`$pkg_config --libs gtk+-2.0 2>/dev/null` + vte_cflags=`$pkg_config --cflags vte 2>/dev/null` + vte_libs=`$pkg_config --libs vte 2>/dev/null` + libs_softmmu="$gtk_libs $vte_libs $libs_softmmu" + gtk="yes" + else + if test "$gtk" = "yes" ; then + feature_not_found "gtk" + fi + gtk="no" + fi +fi + +########################################## # SDL probe # Look for sdl configuration program (pkg-config or sdl-config). Try @@ -3301,6 +3326,7 @@ if test "$darwin" = "yes" ; then fi echo "pixman $pixman" echo "SDL support $sdl" +echo "GTK support $gtk" echo "curses support $curses" echo "curl support $curl" echo "mingw32 support $mingw32" @@ -3591,6 +3617,11 @@ if test "$bluez" = "yes" ; then echo "BLUEZ_CFLAGS=$bluez_cflags" >> $config_host_mak fi echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak +if test "$gtk" = "yes" ; then + echo "CONFIG_GTK=y" >> $config_host_mak + echo "GTK_CFLAGS=$gtk_cflags" >> $config_host_mak + echo "VTE_CFLAGS=$vte_cflags" >> $config_host_mak +fi if test "$xen" = "yes" ; then echo "CONFIG_XEN_BACKEND=y" >> $config_host_mak echo "CONFIG_XEN_CTRL_INTERFACE_VERSION=$xen_ctrl_version" >> $config_host_mak |