Go to file
Frediano Ziglio a32b4b5084 Exclude a warning causing new compiler to fail
Due to 0-size array you can have warnings like

c++ -Iserver/libspice-server.so.1.14.1.p -Iserver -I../server -I. -I.. -Isubprojects/spice-common -I../subprojects/spice-common -Isubprojects/spice-common/common -I/usr/include/spice-1 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/pixman-1 -I/usr/include/opus -I/usr/include/cacard -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/PCSC -I/usr/include/gstreamer-1.0 -I/usr/include/orc-0.4 -fvisibility=hidden -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Werror -O3 -DSPICE_SERVER_INTERNAL '-DG_LOG_DOMAIN="Spice"' -Wno-sign-compare -Wno-unused-parameter -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_38 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_38 -fno-exceptions -Wno-suggest-final-methods -Wno-suggest-final-types -Wno-array-bounds -Wno-narrowing -Wno-missing-field-initializers -Wno-deprecated-declarations -Wshadow -fPIC -pthread -MD -MQ server/libspice-server.so.1.14.1.p/red-channel-client.cpp.o -MF server/libspice-server.so.1.14.1.p/red-channel-client.cpp.o.d -o server/libspice-server.so.1.14.1.p/red-channel-client.cpp.o -c ../server/red-channel-client.cpp
In file included from /usr/include/c++/12/bits/shared_ptr_atomic.h:33,
                 from /usr/include/c++/12/memory:78,
                 from ../server/utils.hpp:24,
                 from ../server/red-pipe-item.h:27,
                 from ../server/red-channel-client.h:24,
                 from ../server/red-channel-client.cpp:37:
In member function 'std::__atomic_base<_IntTp>::__int_type std::__atomic_base<_IntTp>::operator++() [with _ITp = int]',
    inlined from 'void red::shared_ptr_add_ref(shared_ptr_counted*)' at ../server/utils.hpp:280:5,
    inlined from 'red::shared_ptr<T>::shared_ptr(T*) [with T = RedChannelClient]' at ../server/utils.hpp:143:31,
    inlined from 'void RedChannelClient::receive()' at ../server/red-channel-client.cpp:1123:52,
    inlined from 'void red_channel_client_event(int, int, RedChannelClient*)' at ../server/red-channel-client.cpp:739:21:
/usr/include/c++/12/bits/atomic_base.h:385:34: error: 'unsigned int __atomic_add_fetch_4(volatile void*, unsigned int, int)' writing 4 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=]
  385 |       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
      |                ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
2022-07-19 10:10:26 +01:00
build-aux build: Remove some useless file from Meson distribution 2021-06-14 11:30:55 +01:00
docs docs: Fix building manual with Meson from tarball 2021-04-19 17:05:29 +01:00
m4 Exclude a warning causing new compiler to fail 2022-07-19 10:10:26 +01:00
server Fix std::array<> has initializer but incomplete type 2022-07-19 10:04:51 +01:00
subprojects Update spice-common submodule 2022-07-19 10:07:06 +01:00
tests migrate.py: By default try to search system qemu executable 2020-03-09 12:28:45 +00:00
tools Fix compatibility with mremap and Darwin 2020-05-19 10:01:47 +01:00
uncrustify_cfg fresh start 2009-10-14 15:06:41 +02:00
.gitignore docs: update Makefile to match meson dist 2019-10-14 13:49:18 +01:00
.gitlab-ci.yml ci: Workaround a bug in Fedora 35 mingw64-make script 2022-03-24 12:37:26 +00:00
.gitmodules build: Move spice-common to subprojects/ directory 2018-07-23 14:49:19 -03:00
.mailmap syntax-check: Fix missing AUTHORS 2016-12-05 13:48:28 +00:00
.travis.yml Remove Celt support 2020-03-17 17:15:51 +00:00
AUTHORS Fix build with gstreamer 1.20.x 2022-03-23 13:39:52 +00:00
autogen.sh build-sys: Pass --enable-python-checks when running autogen.sh 2015-04-23 10:38:24 +02:00
cfg.mk Converting Spice_for_newbies.odt to AsciiDoctor format 2019-05-31 15:06:10 +01:00
CHANGELOG.md build: Prepare for 0.15 release 2021-04-16 12:06:21 +01:00
configure.ac build: Fix undefined pthread references 2021-05-18 08:30:15 +01:00
COPYING Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
doxygen.cfg build: Add Doxygen support 2020-06-25 09:12:37 +01:00
doxygen.sh build: Add Doxygen support 2020-06-25 09:12:37 +01:00
GNUmakefile syntax-check: Update gnufiles 2016-11-18 12:06:53 +00:00
maint.mk syntax-check: Update gnufiles 2016-11-18 12:06:53 +00:00
Makefile.am build: Add missing file to Autoconf distribution 2021-06-14 11:30:55 +01:00
meson_options.txt build: Make building the test binaries optional under Meson 2020-03-24 08:38:49 +00:00
meson.build Exclude a warning causing new compiler to fail 2022-07-19 10:10:26 +01:00
README Update spice-protocol version 2019-04-26 11:45:12 +01:00
README.Windows.md Add some notes for the Windows port 2019-05-07 10:14:35 +01:00
spice-server.pc.in build: Change Autotools pkg-config name field to match Meson 2020-04-10 15:28:16 +01:00
TODO.multiclient Remove trailing whitespace from end of lines 2012-01-13 18:11:59 +02:00

   SPICE: Simple Protocol for Independent Computing Environments
   =============================================================

SPICE is a remote display system built for virtual environments which
allows you to view a computing 'desktop' environment not only on the
machine where it is running, but from anywhere on the Internet and
from a wide variety of machine architectures.

Installation
------------

The SPICE package uses GNU autotools, so the build install process
follows the standard process documented in the INSTALL file. As a
quick start you can do

  ./configure --prefix=/usr --sysconfdir=/etc \
        --localstatedir=/var --libdir=/usr/lib
  make
  sudo make install

Or to install into a private user specific location

  ./configure --prefix=$HOME/spice
  make
  make install

The following mandatory dependencies are required in order to
build SPICE

    Spice protocol >= 0.14.0
    Pixman         >= 0.17.7
    OpenSSL
    libjpeg
    zlib

The following optional dependencies increase the available
functionality

    Cyrus-SASL
    libcacard      >= 2.5.1             (Smartcard support)
    Opus           >= 1.0.0             (Opus audio encoding support)
    LZ4                                 (LZ4 compression support)
    GStreamer      >= 1.0.0

Communication
-------------

To communicate with the development team, or to post patches
there is a technical mailing list:

   http://lists.freedesktop.org/mailman/listinfo/spice-devel

There is also a mailing list for new release announcements:

   http://lists.freedesktop.org/archives/spice-announce/

To view known bugs, or report new bugs, in SPICE visit

   https://gitlab.freedesktop.org/spice/spice/issues/new?

Bugs found when using an OS distribution's binary packages should
be reported to the OS vendors' own bug tracker first.

The latest SPICE code can be found in GIT at:

   https://gitlab.freedesktop.org/spice/

Licensing
---------

SPICE is provided under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

Please see the COPYING file for the complete LGPLv2+ license
terms, or visit <http://www.gnu.org/licenses/>.

Experimental Features
---------------------
To enable multiple client connections, set:
SPICE_DEBUG_ALLOW_MC=1

-- End of readme