Commit Graph

31 Commits

Author SHA1 Message Date
Frediano Ziglio
77611e5490 build: Add missing file to distribution
Required to build using Meson.
Also add a check to "distcheck" job to test you can build with
Meson from distribution file.

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
2023-05-11 12:26:06 +01:00
Frediano Ziglio
cf729077e7 build: Add missing file to Autoconf distribution
Add doxygen.cfg, required to build Doxygen documentation.

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
2021-06-14 11:30:55 +01:00
Tomasz Kłoczko
79110cdf97 Add doxygen.sh to EXTRA_DIST
This commit fixes #56

Signed-off-by: Tomasz Kłoczko <kloczek@github.com>
2021-04-19 16:50:08 +01:00
Frediano Ziglio
f64ace4e34 build: Add Doxygen support
Add configuration file for Doxygen.
Add a "doxy" target to both Meson and Autoconf using a simple
shell script.

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Julien Ropé <jrope@gmail.com>
2020-06-25 09:12:37 +01:00
Frediano Ziglio
38c7964d53 build: Make building the test binaries optional under Autoconf
Following similar change for Meson.
Allow to save some time packaging and some dependencies.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2020-03-26 09:10:39 +00:00
Victor Toso
9136c639a2 sound: remove celt support
Follow up of spice-protocol's deprecation of celt mode.
See: https://gitlab.freedesktop.org/spice/spice-protocol/-/merge_requests/15

Signed-off-by: Victor Toso <victortoso@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2020-03-17 15:33:20 +00:00
Frediano Ziglio
c989769211 Do not generate ChangeLog file
People can read change logs from git log instead, version is enough.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2020-02-27 11:22:40 +00:00
Frediano Ziglio
533cf98e33 CHANGELOG: Use markdown
We will prefer CHANGELOG over NEWS just as matter of Gitlab's.
Followup patch will move NEWS content to CHANGELOG.

This patch renames NEWS -> CHANGELOG.md.
The change in configure.ac is necessary as GNU style requires
a NEWS file to be present.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2020-02-27 11:22:01 +00:00
Eduardo Lima (Etrunko)
495d1612c4 Add support for building with meson/ninja
In a comparison with current autotools build system, meson/ninja
provides a huge improvement in build speed, while keeping the same
functionalities currently available and being considered more user
friendly.

The new system coexists within the same repository with the current one,
so we can do more extensive testing of its functionality before deciding
if the old system can be removed, or for some reason, has to stay for
good.

- Meson: https://mesonbuild.com

  This is the equivalent of autogen/configure step in autotools. It
  generates the files that will be used by ninja to actually build the
  source code.

  The project has received lots of traction recently, with many GNOME
  projects willing to move to this new build system. The following wiki
  page has more details of the status of the many projects being ported:

    https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting

  Meson has a python-like syntax, easy to read, and the documentation
  on the project is very complete, with a dedicated page on how to port
  from autotools, explaining how most common use cases can be
  implemented using meson.

    http://mesonbuild.com/Porting-from-autotools.html

  Other important sources of information:

    http://mesonbuild.com/howtox.html
    http://mesonbuild.com/Syntax.html
    http://mesonbuild.com/Reference-manual.html

- Ninja: https://ninja-build.org

  Ninja is the equivalent of make in an autotools setup, which actually
  builds the source code. It has being used by large and complex
  projects such as Google Chrome, Android and LLVM. There is not much to
  say about ninja (other than it is much faster than make) because we
  won't interact directly with it as much, as meson does the middle man
  job here. The reasoning for creating ninja in the first place is
  explained on the following post:

    http://neugierig.org/software/chromium/notes/2011/02/ninja.html

  Also its manual provides more in-depth information about the design
  principles:

    https://ninja-build.org/manual.html

- Basic workflow:

  Meson package is available for most if not all distros, so, taking
  Fedora as an example, we only need to run:

    # dnf -y install meson ninja-build.

  With Meson, building in-tree is not possible at all, so we need to
  pass a directory as argument to meson where we want the build to be
  done. This has the advantage of creating builds with different options
  under the same parent directory, e.g.:

    $ meson ./build --prefix=/usr
    $ meson ./build-extra -Dextra-checks=true -Dalignment-checks=true

  After configuration is done, we call ninja to actually do the build.

    $ ninja -C ./build
    $ ninja -C ./build install

  Ninja defaults to parallel builds, and this can be changed with the -j
  flag.

    $ ninja -j 10 -C ./build

- Hacking:

  * meson.build: Mandatory for the project root and usually found under
                 each directory you want something to be built.

  * meson_options.txt: Options that can interfere with the result of the
                       build.

Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2018-08-30 11:10:45 -03:00
Eduardo Lima (Etrunko)
b0e141b387 build: Move spice-common to subprojects/ directory
The reason for this commit is that Meson expects all submodules to be
placed in this subdirectory, and since autotools build is more flexible
in this case, we make some small adjustments to configure.ac and
Makefile.am files to accommodate for this change.

Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2018-07-23 14:49:19 -03:00
Frediano Ziglio
cf9bdd532d build: Remove unsupported --enable-automated-tests option on make distcheck
--enable-automated-tests option was removed in commit 6517ea5cbb
("test-display-base: Always compile with AUTOMATED_TESTS enabled").

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe de Dinechin <dinechin@redhat.com>
2018-06-18 16:28:33 +01:00
Christophe Fergeau
5d942a47da build: Explicitly disable celt051 when running make distcheck
With spice-common commit 72b0d603e12, SPICE_CHECK_CELT051 will error out
if celt051-devel is installed, but neither --enable-celt051 nor
--disable-celt051 are specified. This could be a problem when running
make distcheck, so this commit adds --disable-celt051 so that we never
hit that error.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2018-06-18 14:44:15 +01:00
Christophe Fergeau
844544f8be build-sys: Add make check-valgrind target
This allows to run automatically our test-suite with valgrind to test
for memory leaks.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2017-03-21 16:34:56 +01:00
Frediano Ziglio
a0fcf4975b Add reds_stat to compiled software
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2016-10-19 07:13:59 +01:00
Marc-André Lureau
0dc98956ef build-sys: remove --enable-opengl
OpenGL was removed in commit c5c176a5c7, enabling it on discheck will
fail to link with spice-common gl-enabled library

Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
2015-11-27 20:19:59 +01:00
Christophe Fergeau
1876971442 client: Remove client code
The client has been superseded by virt-viewer (
http://virt-manager.org/download/sources/virt-viewer/ ) and is no longer
being maintained.
2014-12-03 11:31:17 +01:00
Christophe Fergeau
7095563153 Add reference manual
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
2014-01-20 12:18:15 +01:00
Christophe Fergeau
2c6fbad8c5 Add .version to EXTRA_DIST
Newer versions of git-version-gen document that it should be done, and
builddir != srcdir builds are broken if it's not present in the tarball as
we'd attempt to generate this file in the read-only source directory (if
the source dir is read-only)
2013-12-11 16:31:05 +01:00
Alon Levy
761ce02406 add git-version-gen and gitlog-to-changelog 2012-10-19 14:15:06 +02:00
Marc-André Lureau
e234982a44 build-sys: remove cegui/slirp and mandatory client from dist-check
The spicec client is no longer actively maintained.

By removing cegui from distcheck, we can avoid extra build time and
dependencies (>150Mb extra cegui/boost on fedora)

Slirp is not available in most distributions, afaict, making it hard
to build consistantly accross various systems.

The client is still build if the dependencies are present.
2012-07-16 17:36:52 +02:00
Marc-André Lureau
359fc1cb5d Use the spice-common submodule
This patch will replace the common/ directory with the spice-common
project. It is for now a simple project subdirectory shared with
spice-gtk, but the goal is to make it a proper library later on.

With this change, the spice-server build is broken. The following
commits fix the build, and have been seperated to ease the review.

v2
- moves all the generated marshallers to spice-common library
- don't attempt to fix windows VS build, which should somehow be
  splitted with spice-common (or built from tarball only to avoid
  generation tools/libs deps)
v3
- uses libspice-common-client
- fix a mutex.h inclusion reported by Alon
2012-03-25 18:59:10 +02:00
Marc-André Lureau
5d57fb4d1b build-sys: use spice-protocol as submodule 2012-03-01 16:24:10 +01:00
Marc-André Lureau
5077ab60f8 build-sys: cleanup, use autoreconf 2012-03-01 16:24:10 +01:00
Fabiano Fidêncio
1e8e2f9ee0 Adding support to automated tests
As suggested by Alon, a simple automated test to try to find
    regressions in Spice code.
    To use this, compile Spice with --enable-automated-tests and
    run test_display_streaming passing --automated-tests as parameter.
2012-02-14 14:53:44 +02:00
Christophe Fergeau
d89991165a add SASL and smartcard to distcheck flags 2011-07-22 10:24:30 +02:00
Christophe Fergeau
06c83ca994 client: make building client optional 2011-05-02 11:24:44 +02:00
Alexander Larsson
ceff16cad6 Make distcheck work 2010-07-08 20:20:35 +02:00
Alexander Larsson
2788b2ec46 Generate marshaller/demarshallers for old protocol 2010-06-22 17:34:39 +02:00
Alexander Larsson
b228d18d5c Add python code to automake system 2010-06-18 16:32:11 +02:00
Alexander Larsson
fa3dddc0db rename spice.pc to spice-server.pc 2010-03-24 15:08:57 +01:00
Yaniv Kamay
c1b79eb035 fresh start 2009-10-14 15:06:41 +02:00