build: add separate spice-protocol config option

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>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20210519053940.1888907-1-kraxel@redhat.com
Message-Id: <20210519053940.1888907-2-kraxel@redhat.com>
master
Gerd Hoffmann 2021-05-19 07:39:32 +02:00
parent e932e9f327
commit 58d3f3ff8d
2 changed files with 36 additions and 4 deletions

36
configure vendored
View File

@ -389,6 +389,7 @@ qom_cast_debug="yes"
trace_backends="log"
trace_file="trace"
spice="$default_feature"
spice_protocol="auto"
rbd="auto"
smartcard="$default_feature"
u2f="auto"
@ -1132,7 +1133,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"
;;
@ -1870,6 +1879,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
@ -4153,6 +4163,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>
@ -4161,13 +4184,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
@ -5836,9 +5859,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

View File

@ -458,11 +458,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