qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [PATCH 09/26] configure, meson: convert vte detection to meson
Date: Tue,  8 Jun 2021 13:22:44 +0200	[thread overview]
Message-ID: <20210608112301.402434-10-pbonzini@redhat.com> (raw)
In-Reply-To: <20210608112301.402434-1-pbonzini@redhat.com>

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure         | 35 ++++-------------------------------
 meson.build       | 22 ++++++++++++++++------
 meson_options.txt |  2 ++
 3 files changed, 22 insertions(+), 37 deletions(-)

diff --git a/configure b/configure
index 9a6217a3bf..d3351557e9 100755
--- a/configure
+++ b/configure
@@ -408,7 +408,7 @@ gnutls="auto"
 nettle="auto"
 gcrypt="auto"
 auth_pam="auto"
-vte="$default_feature"
+vte="auto"
 virglrenderer="$default_feature"
 tpm="$default_feature"
 libssh="$default_feature"
@@ -1395,9 +1395,9 @@ for opt do
   ;;
   --disable-pvrdma) pvrdma="no"
   ;;
-  --disable-vte) vte="no"
+  --disable-vte) vte="disabled"
   ;;
-  --enable-vte) vte="yes"
+  --enable-vte) vte="enabled"
   ;;
   --disable-virglrenderer) virglrenderer="no"
   ;;
@@ -2799,28 +2799,6 @@ EOF
   fi
 fi
 
-##########################################
-# VTE probe
-
-if test "$vte" != "no"; then
-    vteminversion="0.32.0"
-    if $pkg_config --exists "vte-2.91"; then
-      vtepackage="vte-2.91"
-    else
-      vtepackage="vte-2.90"
-    fi
-    if $pkg_config --exists "$vtepackage >= $vteminversion"; then
-        vte_cflags=$($pkg_config --cflags $vtepackage)
-        vte_libs=$($pkg_config --libs $vtepackage)
-        vteversion=$($pkg_config --modversion $vtepackage)
-        vte="yes"
-    elif test "$vte" = "yes"; then
-        feature_not_found "vte" "Install libvte-2.90/2.91 devel"
-    else
-        vte="no"
-    fi
-fi
-
 ##########################################
 # RDMA needs OpenFabrics libraries
 if test "$rdma" != "no" ; then
@@ -5486,11 +5464,6 @@ fi
 if test "$have_copy_file_range" = "yes" ; then
     echo "HAVE_COPY_FILE_RANGE=y" >> $config_host_mak
 fi
-if test "$vte" = "yes" ; then
-  echo "CONFIG_VTE=y" >> $config_host_mak
-  echo "VTE_CFLAGS=$vte_cflags" >> $config_host_mak
-  echo "VTE_LIBS=$vte_libs" >> $config_host_mak
-fi
 if test "$virglrenderer" = "yes" ; then
   echo "CONFIG_VIRGL=y" >> $config_host_mak
   echo "VIRGL_CFLAGS=$virgl_cflags" >> $config_host_mak
@@ -6154,7 +6127,7 @@ if test "$skip_meson" = no; then
         -Dkvm=$kvm -Dhax=$hax -Dwhpx=$whpx -Dhvf=$hvf -Dnvmm=$nvmm \
         -Dxen=$xen -Dxen_pci_passthrough=$xen_pci_passthrough -Dtcg=$tcg \
         -Dcocoa=$cocoa -Dgtk=$gtk -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \
-        -Dlibusb=$libusb -Dsmartcard=$smartcard -Dusb_redir=$usb_redir \
+        -Dlibusb=$libusb -Dsmartcard=$smartcard -Dusb_redir=$usb_redir -Dvte=$vte \
         -Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
         -Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f -Dvirtiofsd=$virtiofsd \
         -Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \
diff --git a/meson.build b/meson.build
index ae40bdf7c4..f3af9ee3cf 100644
--- a/meson.build
+++ b/meson.build
@@ -860,6 +860,7 @@ endif
 
 gtk = not_found
 gtkx11 = not_found
+vte = not_found
 if not get_option('gtk').auto() or (have_system and not cocoa.found())
   gtk = dependency('gtk+-3.0', version: '>=3.22.0',
                    method: 'pkg-config',
@@ -871,14 +872,22 @@ if not get_option('gtk').auto() or (have_system and not cocoa.found())
                         required: false,
                         kwargs: static_kwargs)
     gtk = declare_dependency(dependencies: [gtk, gtkx11])
+
+    if not get_option('vte').auto() or have_system
+      vte = dependency('vte-2.91', version: '>=0.32.0',
+                       method: 'pkg-config',
+                       required: get_option('vte'),
+                       kwargs: static_kwargs)
+      if not vte.found()
+        vte = dependency('vte-2.90', version: '>=0.32.0',
+                         method: 'pkg-config',
+                         required: get_option('vte'),
+                         kwargs: static_kwargs)
+      endif
+    endif
   endif
 endif
 
-vte = not_found
-if 'CONFIG_VTE' in config_host
-  vte = declare_dependency(compile_args: config_host['VTE_CFLAGS'].split(),
-                           link_args: config_host['VTE_LIBS'].split())
-endif
 x11 = not_found
 if gtkx11.found()
   x11 = dependency('x11', method: 'pkg-config', required: gtkx11.found(),
@@ -1207,6 +1216,7 @@ if glusterfs.found()
   config_host_data.set('CONFIG_GLUSTERFS_IOCB_HAS_STAT', glusterfs_iocb_has_stat)
 endif
 config_host_data.set('CONFIG_GTK', gtk.found())
+config_host_data.set('CONFIG_VTE', vte.found())
 config_host_data.set('CONFIG_LIBATTR', have_old_libattr)
 config_host_data.set('CONFIG_LIBCAP_NG', libcap_ng.found())
 config_host_data.set('CONFIG_EBPF', libbpf.found())
@@ -2764,7 +2774,7 @@ summary_info += {'SDL image support': sdl_image.found()}
 summary_info += {'GTK support':       gtk.found()}
 summary_info += {'pixman':            pixman.found()}
 # TODO: add back version
-summary_info += {'VTE support':       config_host.has_key('CONFIG_VTE')}
+summary_info += {'VTE support':       vte.found()}
 # TODO: add back version
 summary_info += {'slirp support':     slirp_opt == 'disabled' ? false : slirp_opt}
 summary_info += {'libtasn1':          tasn1.found()}
diff --git a/meson_options.txt b/meson_options.txt
index f7ec9bee27..8af42987f4 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -118,6 +118,8 @@ option('vnc_png', type : 'feature', value : 'auto',
        description: 'PNG compression for VNC server')
 option('vnc_sasl', type : 'feature', value : 'auto',
        description: 'SASL authentication for VNC server')
+option('vte', type : 'feature', value : 'auto',
+       description: 'vte support for the gtk UI')
 option('xkbcommon', type : 'feature', value : 'auto',
        description: 'xkbcommon support')
 option('zstd', type : 'feature', value : 'auto',
-- 
2.31.1




  parent reply	other threads:[~2021-06-08 11:33 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-08 11:22 [PATCH 00/22] Convert more checks to Meson Paolo Bonzini
2021-06-08 11:22 ` [PATCH 01/26] meson: drop unused CONFIG_GCRYPT_HMAC Paolo Bonzini
2021-06-08 17:37   ` Richard Henderson
2021-06-15 13:53   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 02/26] configure: drop unused variables for xts Paolo Bonzini
2021-06-08 12:15   ` Philippe Mathieu-Daudé
2021-06-08 17:38   ` Richard Henderson
2021-06-15 13:55   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 03/26] configure, meson: convert crypto detection to meson Paolo Bonzini
2021-06-08 19:16   ` Richard Henderson
2021-06-15 14:01   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 04/26] configure, meson: convert libtasn1 " Paolo Bonzini
2021-06-08 19:32   ` Richard Henderson
2021-06-15 14:04   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 05/26] configure, meson: convert pam " Paolo Bonzini
2021-06-08 19:45   ` Richard Henderson
2021-06-08 19:47     ` Richard Henderson
2021-06-08 20:20     ` Daniel P. Berrangé
2021-06-09 15:46       ` Richard Henderson
2021-06-09 15:57         ` Daniel P. Berrangé
2021-06-09 16:47           ` Richard Henderson
2021-06-15 13:58             ` Paolo Bonzini
2021-06-15 14:05   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 06/26] configure, meson: convert libusb " Paolo Bonzini
2021-06-15 14:06   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 07/26] configure, meson: convert libcacard " Paolo Bonzini
2021-06-15 14:08   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 08/26] configure, meson: convert libusbredir " Paolo Bonzini
2021-06-15 14:09   ` Daniel P. Berrangé
2021-06-08 11:22 ` Paolo Bonzini [this message]
2021-06-15 14:24   ` [PATCH 09/26] configure, meson: convert vte " Daniel P. Berrangé
2021-06-15 15:12     ` Paolo Bonzini
2021-06-08 11:22 ` [PATCH 10/26] configure, meson: convert virgl " Paolo Bonzini
2021-06-15 14:25   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 11/26] configure, meson: convert libdaxctl " Paolo Bonzini
2021-06-15 14:37   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 12/26] configure, meson: convert libpmem " Paolo Bonzini
2021-06-15 14:37   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 13/26] configure, meson: convert liburing " Paolo Bonzini
2021-06-15 14:38   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 14/26] configure, meson: convert libxml2 " Paolo Bonzini
2021-06-15 14:44   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 15/26] meson: sort header tests Paolo Bonzini
2021-06-08 12:15   ` Philippe Mathieu-Daudé
2021-06-15 14:47   ` Daniel P. Berrangé
2021-06-15 15:16     ` Paolo Bonzini
2021-06-15 15:50       ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 16/26] meson: remove preadv from summary Paolo Bonzini
2021-06-15 14:48   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 17/26] configure, meson: move CONFIG_IVSHMEM to meson Paolo Bonzini
2021-06-15 14:50   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 18/26] configure: convert HAVE_BROKEN_SIZE_MAX " Paolo Bonzini
2021-06-15 14:51   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 19/26] configure: convert compiler tests to meson, part 1 Paolo Bonzini
2021-06-15 14:59   ` Daniel P. Berrangé
2021-06-15 15:15     ` Paolo Bonzini
2021-06-08 11:22 ` [PATCH 20/26] meson: store dependency('threads') in a variable Paolo Bonzini
2021-06-15 15:02   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 21/26] configure: convert compiler tests to meson, part 2 Paolo Bonzini
2021-06-15 15:03   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 22/26] configure: convert compiler tests to meson, part 3 Paolo Bonzini
2021-06-15 15:08   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 23/26] configure: convert CONFIG_STATIC_ASSERT tests to meson Paolo Bonzini
2021-06-08 12:17   ` Philippe Mathieu-Daudé
2021-06-15 15:08   ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 24/26] configure: convert compiler tests to meson, part 4 Paolo Bonzini
2021-06-15 15:13   ` Daniel P. Berrangé
2021-06-08 11:23 ` [PATCH 25/26] configure: convert compiler tests to meson, part 5 Paolo Bonzini
2021-06-15 15:15   ` Daniel P. Berrangé
2021-06-08 11:23 ` [PATCH 26/26] configure: convert compiler tests to meson, part 6 Paolo Bonzini
2021-06-15 15:17   ` Daniel P. Berrangé

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=20210608112301.402434-10-pbonzini@redhat.com \
    --to=pbonzini@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).