Message ID | 20210423083351.2096734-2-kraxel@redhat.com |
---|---|
State | New |
Headers | show |
Series | ui: add vdagent implementation and clipboard support. | expand |
On Fri, Apr 23, 2021 at 12:34 PM Gerd Hoffmann <kraxel@redhat.com> 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 <kraxel@redhat.com> > --- > 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 <marcandre.lureau@redhat.com>
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
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 <kraxel@redhat.com> --- configure | 36 ++++++++++++++++++++++++++++++++---- meson.build | 4 ++++ 2 files changed, 36 insertions(+), 4 deletions(-)