On Fri, Apr 23, 2021 at 12:34 PM Gerd Hoffmann <[email protected]> wrote:
> When implementing spice vdagent protocol in qemu we only need the > spice-protocol package for that, spice-server is not needed. So > go split those two build dependencies. > > Signed-off-by: Gerd Hoffmann <[email protected]> > --- > configure | 36 ++++++++++++++++++++++++++++++++---- > meson.build | 4 ++++ > 2 files changed, 36 insertions(+), 4 deletions(-) > > diff --git a/configure b/configure > index 4f374b48890e..e6f959da2347 100755 > --- a/configure > +++ b/configure > @@ -388,6 +388,7 @@ qom_cast_debug="yes" > trace_backends="log" > trace_file="trace" > spice="$default_feature" > +spice_protocol="auto" > rbd="auto" > smartcard="$default_feature" > u2f="auto" > @@ -1129,7 +1130,15 @@ for opt do > ;; > --disable-spice) spice="no" > ;; > - --enable-spice) spice="yes" > + --enable-spice) > + spice_protocol="yes" > + spice="yes" > + ;; > + --disable-spice-protocol) > + spice_protocol="no" > + spice="no" > + ;; > + --enable-spice-protocol) spice_protocol="yes" > ;; > --disable-libiscsi) libiscsi="disabled" > ;; > @@ -1866,6 +1875,7 @@ disabled with --disable-FEATURE, default is enabled > if available > vhost-user-blk-server vhost-user-blk server support > vhost-vdpa vhost-vdpa kernel backend support > spice spice > + spice-protocol spice-protocol > rbd rados block device (rbd) > libiscsi iscsi support > libnfs nfs support > @@ -4149,6 +4159,19 @@ fi > > ########################################## > # spice probe > +if test "$spice_protocol" != "no" ; then > + spice_protocol_cflags=$($pkg_config --cflags spice-protocol 2>/dev/null) > + if $pkg_config --atleast-version=0.12.3 spice-protocol; then > + spice_protocol="yes" > + else > + if test "$spice_protocol" = "yes" ; then > + feature_not_found "spice_protocol" \ > + "Install spice-protocol(>=0.12.3) devel" > + fi > + spice_protocol="no" > + fi > +fi > + > if test "$spice" != "no" ; then > cat > $TMPC << EOF > #include <spice.h> > @@ -4157,13 +4180,13 @@ EOF > spice_cflags=$($pkg_config --cflags spice-protocol spice-server > 2>/dev/null) > spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null) > if $pkg_config --atleast-version=0.12.5 spice-server && \ > - $pkg_config --atleast-version=0.12.3 spice-protocol && \ > + test "$spice_protocol" = "yes" && \ > compile_prog "$spice_cflags" "$spice_libs" ; then > spice="yes" > else > if test "$spice" = "yes" ; then > feature_not_found "spice" \ > - "Install spice-server(>=0.12.5) and spice-protocol(>=0.12.3) > devel" > + "Install spice-server(>=0.12.5) devel" > fi > spice="no" > fi > @@ -5807,9 +5830,14 @@ fi > if test "$posix_memalign" = "yes" ; then > echo "CONFIG_POSIX_MEMALIGN=y" >> $config_host_mak > fi > + > +if test "$spice_protocol" = "yes" ; then > + echo "CONFIG_SPICE_PROTOCOL=y" >> $config_host_mak > + echo "SPICE_PROTOCOL_CFLAGS=$spice_protocol_cflags" >> $config_host_mak > +fi > if test "$spice" = "yes" ; then > echo "CONFIG_SPICE=y" >> $config_host_mak > - echo "SPICE_CFLAGS=$spice_cflags" >> $config_host_mak > + echo "SPICE_CFLAGS=$spice_cflags $spice_protocol_cflags" >> > $config_host_mak > echo "SPICE_LIBS=$spice_libs" >> $config_host_mak > fi > > diff --git a/meson.build b/meson.build > index c6f4b0cf5e8a..749259e7f29c 100644 > --- a/meson.build > +++ b/meson.build > @@ -446,11 +446,15 @@ if 'CONFIG_LIBJACK' in config_host > endif > spice = not_found > spice_headers = not_found > +spice_protocol = not_found > if 'CONFIG_SPICE' in config_host > spice = declare_dependency(compile_args: > config_host['SPICE_CFLAGS'].split(), > link_args: config_host['SPICE_LIBS'].split()) > spice_headers = declare_dependency(compile_args: > config_host['SPICE_CFLAGS'].split()) > endif > +if 'CONFIG_SPICE_PROTOCOL' in config_host > + spice_protocol = declare_dependency(compile_args: > config_host['SPICE_PROTOCOL_CFLAGS'].split()) > +endif > rt = cc.find_library('rt', required: false) > libdl = not_found > if 'CONFIG_PLUGIN' in config_host > -- > 2.30.2 > > We should be able to move more configure logic to meson.build, but for now: Reviewed-by: Marc-André Lureau <[email protected]>
