Besides the code factorization, this will allow smartcard support to be
automatically enabled if libcacard is present and --disable-smartcard is
not used.
configure.ac currently errors out when trying to build on
non-x86/non-ARM CPUs. Since the previous commits improved
big endian support a lot, this commit replaces the error
with a warning at configure time to make testing on big
endian platforms easier.
- Add lz4 encoder to compress an image of type LZ4 (see spice_common).
- Add code in red_worker to use LZ4 when it is enabled, and the client
supports it through its display capability, or fallback to LZ.
- Add enable_lz4 switch in the configure script. Show LZ4 support at the
end.
SPICE_REQUIRES is only used to generate the Requires.private line of
spice-server.pc. The server code is not using xinerama, so we don't need
to list xinerama in Requires.private.
Xinerama support is only used for the X11 client, but is currently
being checked even for server only builds. This commit ensures Xinerama
is not checked for/added to spice-server.pc when not building the
client.
Editing the hexadecimal value of spice-version and keeping it in sync
with actual release is a bit tedious. Let's generate it
automatically (although handling of bumps will need temporarily static
versions, when 0.12 -> 1.0 for example)
This fixes the following errors when configure run in dash:
./configure: 17366: ./configure: SPICE_NONPKGCONFIG_LIBS+= -pthread -lm -lrt: not found
./configure: 17974: ./configure: SPICE_REQUIRES+= glib-2.0 >= 2.22: not found
./configure: 18069: ./configure: SPICE_REQUIRES+= pixman-1 >= 0.17.7: not found
./configure: 18165: ./configure: SPICE_REQUIRES+= celt051 >= 0.5.1.1: not found
./configure: 18369: ./configure: SPICE_REQUIRES+= openssl: not found
./configure: 18477: ./configure: SPICE_NONPKGCONFIG_LIBS+= : not found
./configure: 18948: ./configure: SPICE_REQUIRES+= xinerama: not found
./configure: 20377: test: no: unexpected operator
./configure: 20409: test: no: unexpected operator
./configure: 23423: test: xno: unexpected operator
./configure: 23443: test: no: unexpected operator
Fixing this is a matter of picking the spice-common fix to generate the
(de)marshaller source files in the right place, and to adjust the compiler
flags to look for includes in the build directory as well.
This manual documents how to enable/use various SPICE features when
creating a VM by running QEMU directly, or when using libvirt, or when
using virt-manager.
This is based on work by Lubos Kocman
Hey guys,
the alsa libraries/header seem to be required only when configured with
--enable-client so I wrote a patch to make configure respect it.
--
Regards,
Christian Ruppert
From 53683cc75ba092799f856f710cb45b2aacfb6123 Mon Sep 17 00:00:00 2001
From: Christian Ruppert <idl0r@gentoo.org>
Date: Sun, 3 Nov 2013 18:36:26 +0100
Subject: [PATCH] Require alsa only with --enable-client
It's depending on an unmaintained package (slirp), and I don't
think anyone uses that code. It's not tested upstream nor in fedora,
so let's remove it.
This commit reuse several macros from libvirt to test for
support for "-Wl,-z -Wl,relro", "-Wl,-z -Wl,now" and
"-Wl,--no-copy-dt-needed-entries", and use them if available.
The ioctl on sockets is actually named SIOCOUTQ though its value
is identical to TIOCOUTQ which is for terminals.
SIOCOUTQ is linux specific so we add a header check and ifdef based
on the presence of the header
This prevents bogus ioctls on non-Linux platforms
New API: spice_server_set_ws_ports
This adds an optional dependency on libwebsockets. You need to get my
patched 0.0.3 version here:
git://people.freedesktop.org/~alon/libwebsockets
There is no qemu patches yet, to test change in reds.c the default value
of spice_ws_port to 5959 (for the default of spice-html5).
For testing there is an online client at
http://spice-space.org/spice-html5/spice.html
Known issues:
1. The tester (server/tests/test_display_no_ssl) gets into dropping all
data after a few seconds, I think it's an issue with the implemented
watches, but haven't figured it out.
2. libwebsocket's read interface is inverted to what our code expects,
i.e. there is no libwebsocket_read, so there is an additional copy
involved (see RedsWebSocket). This can be fixed.
3. Listening on a separate port. Since the headers are different, we
could listen on the same port (first three bytes RED/GET). I don't know
if we want to?
Todos:
1. SSL not implemented yet. Needs some thought as to how.
2. Serve spice-html5 when accessed as a http server. Nice to have.
The following patch enables it to build on ARM platforms that support
atomics. Tested on an armv7hl on an ARMv7 device running Fedora 18. Using
firefox connecting to a RHEV-M instance I could launch consoles in
spice-xpi and login so basic support works!
Resolves: rhbz#613529
Current bumped and age bumped for new intefaces only (no backward
incompatible changes).
New libtool version is 2.0.1, using --version-info instead of
--version-name. Doing the version change and --version-name to
--version-info change here to avoid changing the libtool version twice.
Added interfaces:
spice_server_set_name
spice_server_set_uuid
spice_server_set_listen_socket_fd
spice_server_is_server_mouse
New library name in linux:
libspice-server.so.1.1.0
Old:
libspice-server.so.1.0.2
Consolidate two separate chunks of library hunting that depend on the
same check.
Check if we're actually building the client before looking for
client only libraries.
Hide some of the final output if we're not building the client.
The client/common.h file defines __STDC_FORMAT_MACROS before
including inttypes.h so that the PRI* macros get defined in
C++. This is ignoring the possibility that other global
includes may have already pulled in inttypes.h
We need __STDC_FORMAT_MACROS to be defined before any header
files are included. Putting it in config.h satisfies this,
since config.h is always the first header