[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 12/16] configure: add option to explicitly enable/disable libgio
From: |
Paolo Bonzini |
Subject: |
[PULL 12/16] configure: add option to explicitly enable/disable libgio |
Date: |
Tue, 16 Mar 2021 17:15:27 -0400 |
From: Denis Plotnikov <den-plotnikov@yandex-team.ru>
Now, compilation of util/dbus is implicit and depends
on libgio presence on the building host.
The patch adds options to manage libgio dependencies explicitly.
Signed-off-by: Denis Plotnikov <den-plotnikov@yandex-team.ru>
Message-Id: <20210312151440.405776-1-den-plotnikov@yandex-team.ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 60 ++++++++++++++++++++++++++++++++++++-------------------
1 file changed, 39 insertions(+), 21 deletions(-)
diff --git a/configure b/configure
index f7d022a5db..847bc4d095 100755
--- a/configure
+++ b/configure
@@ -465,6 +465,7 @@ fuse_lseek="auto"
multiprocess="auto"
malloc_trim="auto"
+gio="$default_feature"
# parse CC options second
for opt do
@@ -1560,6 +1561,10 @@ for opt do
;;
--disable-multiprocess) multiprocess="disabled"
;;
+ --enable-gio) gio=yes
+ ;;
+ --disable-gio) gio=no
+ ;;
*)
echo "ERROR: unknown option $opt"
echo "Try '$0 --help' for more information"
@@ -1913,6 +1918,7 @@ disabled with --disable-FEATURE, default is enabled if
available
fuse FUSE block device export
fuse-lseek SEEK_HOLE/SEEK_DATA support for FUSE exports
multiprocess Out of process device emulation support
+ gio libgio support
NOTE: The object files are built at the place where configure is launched
EOF
@@ -3319,17 +3325,19 @@ if test "$static" = yes && test "$mingw32" = yes; then
glib_cflags="-DGLIB_STATIC_COMPILATION $glib_cflags"
fi
-if $pkg_config --atleast-version=$glib_req_ver gio-2.0; then
- gio_cflags=$($pkg_config --cflags gio-2.0)
- gio_libs=$($pkg_config --libs gio-2.0)
- gdbus_codegen=$($pkg_config --variable=gdbus_codegen gio-2.0)
- if [ ! -x "$gdbus_codegen" ]; then
- gdbus_codegen=
- fi
- # Check that the libraries actually work -- Ubuntu 18.04 ships
- # with pkg-config --static --libs data for gio-2.0 that is missing
- # -lblkid and will give a link error.
- cat > $TMPC <<EOF
+if ! test "$gio" = "no"; then
+ pass=no
+ if $pkg_config --atleast-version=$glib_req_ver gio-2.0; then
+ gio_cflags=$($pkg_config --cflags gio-2.0)
+ gio_libs=$($pkg_config --libs gio-2.0)
+ gdbus_codegen=$($pkg_config --variable=gdbus_codegen gio-2.0)
+ if [ ! -x "$gdbus_codegen" ]; then
+ gdbus_codegen=
+ fi
+ # Check that the libraries actually work -- Ubuntu 18.04 ships
+ # with pkg-config --static --libs data for gio-2.0 that is missing
+ # -lblkid and will give a link error.
+ cat > $TMPC <<EOF
#include <gio/gio.h>
int main(void)
{
@@ -3337,18 +3345,28 @@ int main(void)
return 0;
}
EOF
- if compile_prog "$gio_cflags" "$gio_libs" ; then
- gio=yes
- else
- gio=no
+ if compile_prog "$gio_cflags" "$gio_libs" ; then
+ pass=yes
+ else
+ pass=no
+ fi
+
+ if test "$pass" = "yes" &&
+ $pkg_config --atleast-version=$glib_req_ver gio-unix-2.0; then
+ gio_cflags="$gio_cflags $($pkg_config --cflags gio-unix-2.0)"
+ gio_libs="$gio_libs $($pkg_config --libs gio-unix-2.0)"
+ fi
fi
-else
- gio=no
-fi
-if $pkg_config --atleast-version=$glib_req_ver gio-unix-2.0; then
- gio_cflags="$gio_cflags $($pkg_config --cflags gio-unix-2.0)"
- gio_libs="$gio_libs $($pkg_config --libs gio-unix-2.0)"
+ if test "$pass" = "no"; then
+ if test "$gio" = "yes"; then
+ feature_not_found "gio" "Install libgio >= 2.0"
+ else
+ gio=no
+ fi
+ else
+ gio=yes
+ fi
fi
# Sanity check that the current size_t matches the
--
2.26.2
- [PULL 02/16] tests/qtest: Only run fuzz-virtio-scsi when virtio-scsi is available, (continued)
- [PULL 02/16] tests/qtest: Only run fuzz-virtio-scsi when virtio-scsi is available, Paolo Bonzini, 2021/03/16
- [PULL 07/16] fuzz: add instructions for building reproducers, Paolo Bonzini, 2021/03/16
- [PULL 03/16] MAINTAINERS: Cover fuzzer reproducer tests within 'Device Fuzzing', Paolo Bonzini, 2021/03/16
- [PULL 04/16] fuzz: fix the pro100 generic-fuzzer config, Paolo Bonzini, 2021/03/16
- [PULL 06/16] fuzz: add a script to build reproducers, Paolo Bonzini, 2021/03/16
- [PULL 05/16] fuzz: don't leave orphan llvm-symbolizers around, Paolo Bonzini, 2021/03/16
- [PULL 09/16] memory: add a sparse memory device for fuzzing, Paolo Bonzini, 2021/03/16
- [PULL 08/16] fuzz: add a am53c974 generic-fuzzer config, Paolo Bonzini, 2021/03/16
- [PULL 10/16] fuzz: configure a sparse-mem device, by default, Paolo Bonzini, 2021/03/16
- [PULL 13/16] Revert "accel: kvm: Add aligment assert for kvm_log_clear_one_slot", Paolo Bonzini, 2021/03/16
- [PULL 12/16] configure: add option to explicitly enable/disable libgio,
Paolo Bonzini <=
- [PULL 11/16] fuzz: move some DMA hooks, Paolo Bonzini, 2021/03/16
- [PULL 14/16] scsi: fix sense code for EREMOTEIO, Paolo Bonzini, 2021/03/16
- [PULL 15/16] hw/i8254: fix vmstate load, Paolo Bonzini, 2021/03/16
- [PULL 16/16] qemu-timer: allow freeing a NULL timer, Paolo Bonzini, 2021/03/16
- Re: [PULL 00/16] Fuzzing + bugfix patches for QEMU 6.0 soft freeze, Peter Maydell, 2021/03/18