Commit Graph

98 Commits

Author SHA1 Message Date
Marc-André Lureau
52c3fb03b7 build-sys: define GL flags if enabled
The server too can use opengl, independently from client.
2012-07-16 17:36:52 +02:00
Nikolay Orlyuk
95253b0fb5 Added configure option --disable-xinerama
This parameter was added to be able to control dependency on
libXinerama. Which is really useful for package managers.
Fixes bug #51192
2012-06-19 11:56:28 +02:00
Alon Levy
5cbffe794f Release 0.11.0
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
2012-06-12 17:55:28 +03:00
Nahum Shalman
c3eae62872 cleanup x11 library detection for building client
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.
2012-05-04 14:51:11 +02:00
Daniel P. Berrange
91210c671f Ensure __STDC_FORMAT_MACROS is always defined first
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
2012-04-26 18:46:52 +01:00
Daniel P. Berrange
d986fb466b Enable many more compiler warnings
* m4/manywarnings.m4m, m4/warnings.m4: Import GNULIB warnings
  modules
* m4/spice-compile-warnings.m4: Define SPICE_COMPILE_WARNINGS
* configure.ac: Replace compile warning check with a call to
  SPICE_COMPILE_WARNINGS
* client/Makefile.am: Use WARN_CXXFLAGS instead of WARN_CFLAGS

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2012-04-25 09:49:25 +01: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
Dan McGee
0e3ff74b84 Add configure-time check for -Wl, --version-script option
This is supported by the GNU linker, but not the Solaris linker, which
is used as the default on that platform even when compiling with GCC.
Omit passing the option to the linker on platforms that do not support
it.

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
2012-02-21 10:20:44 +02: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
Erlon Cruz
9eb0e4b577 Fix mandatory -Werror option
Compilation was breaking due to warning errors even when configuring with
--enable-werror=no. This patch fix this.
2012-02-09 15:51:51 +01:00
Hans de Goede
8817549795 Release 0.10.1 2012-01-23 15:58:13 +01:00
Dan McGee
07b8d85cb6 Use found python binary to check for pyparsing
This matches what we do in client/Makefile.am to actually run the
python scripts, which is to use the python binary we find first,
preferring 'python2' over 'python'. This makes the compile work on odd
systems such as Arch Linux where the python binary is actually python3.

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
2012-01-23 12:28:59 +02:00
Daniel P. Berrange
51f1ad54ad Replace test XXX -a YYY with test XXX && test YYY
The '-a' and '-o' operators to test are not portable. Always
combine two invocations of 'test' using || or && instead.
2012-01-13 18:11:59 +02:00
Daniel P. Berrange
440ba5d8f0 Always quote first arg to AC_DEFINE
The first arg to AC_DEFINE should always be quoted
2012-01-13 18:11:59 +02:00
Yonit Halperin
ec0bf2488f configure: spice-protocol >= 0.10.1 (mini header support) 2012-01-12 16:33:35 +02:00
Arnon Gilboa
cc71891a02 client: add xinerama support
RHEL-6 Bugzilla: 695323

cherry-picked from qspice commit
 003667ac99beeec9b330a07bc3569c59a96d4588
 which fixes RHEL-5 541566

with merge of the one line qspice fix to SPICE_REQUIRES:
 9f3fe4755f11044a45c4b21148466a997fcbf735
 spice: fixed reference to xinerama pkg config file
 (Xinerama.pc=>xinerama.pc)
 Author: Yonit Halperin <yhalperi@redhat.com>
2011-11-14 15:10:23 +02:00
Alon Levy
c47bb16e90 Release 0.10.0 2011-11-10 16:58:28 +02:00
Yonit Halperin
aefe01c02c Release 0.9.2 2011-11-02 11:30:33 +02:00
Yonit Halperin
fc3aa53211 configure: spice-protocol >= 0.9.1 (semi-seamless migration protocol)
(cherry picked from commit 55ccc022ec branch 0.8)

Conflicts:

	configure.ac
2011-11-02 11:20:38 +02:00
Hans de Goede
75dacb8d62 Release 0.9.1 2011-08-25 14:55:52 +02:00
Christophe Fergeau
29b09d1a98 set version number to 0.9.0 2011-07-22 10:24:30 +02:00
Christophe Fergeau
4531c065ba configure.ac: fix pyparsing check
2>&1 was typo'ed 2&>1 which caused an empty '1' file to be created
when running this test.
2011-07-22 10:24:30 +02:00
Alon Levy
4db8f5efdd bump required spice-protocol to 0.8.1 for qxl_dev async and s3 updates 2011-07-20 16:00:19 +03:00
Alon Levy
a3cde2d971 common: add backtrace via gstack or glibc backtrace
Add a backtrace printing function copied from xserver os/backtrace.c
that uses gstack, and if that isn't found then glibc's backtrace.
Used in ASSERT, tested on F15.
2011-07-19 20:33:25 +03:00
Christophe Fergeau
df95fc65fb add check for pyparsing
Check both in configure.ac (after checking if we need to rebuild
the marshalling files) and in the python script using pyparsing
(for people modifying .proto files in tarballs)
2011-06-22 16:24:32 +02:00
Marc-André Lureau
dc1d4bdb68 common: mem.h add alloca definition
We don't support the autoconf ALLOCA/C_ALLOC fallback. If one day,
someone cares for a weird platform, he can fix it.
2011-05-03 16:49:56 +02:00
Marc-André Lureau
aae0357023 build: require c99
Because we use c99: stdbool.h, inttypes.h, bool, variadic macros, // comments, ...
2011-05-03 16:49:43 +02:00
Christophe Fergeau
12b9654bf4 configure.ac: remove setting default C(XX)FLAGS
automake/autoconf already set them for us to -g -O2 if there are
no flags defined.
2011-05-03 14:44:11 +02:00
Christophe Fergeau
e0c20725c8 s/USE_OGL/USE_OPENGL
This is more explicit about what it does, and not much longer
2011-05-03 14:44:11 +02:00
Christophe Fergeau
c1b7ecac3f use AC_DEFINE instead of hardcoding preprocessor flags
Now that all source files include config.h, we can use AC_DEFINE
to enable/disable optional features (opengl, cegui). This is
cleaner than directly appending -Dxxx directives to the preprocessor
flags. This also guarantees that everything will be appropriately
rebuilt when using the same source tree to build first with opengl
support and then without (the config.h timestamp will change,
triggering a rebuild of the files including it)
2011-05-03 14:44:11 +02:00
Christophe Fergeau
253aa0c960 configure.ac: remove unused AC_SUBST 2011-05-03 14:44:10 +02:00
Christophe Fergeau
2a4614ea94 autotools: refactor the whole build machinery
spice Makefile.am setup is a bit confusing, with source file
names being listed several times in different Makefile.am
(generally, once in EXTRA_DIST and another time in another
Makefile.am in _SOURCES). The client binaries are built
by client/x11/Makefile.am, which means recursing into client,
then into x11 to finally build spicec. This Makefile.am is
also referencing files from common/ and client/, which is
a bit unusual with autotools.

This patch attempts to simplify the build process to get
something more usual from an autotools point of view.
The source from common/ are compiled into a libtool convenience
library, which the server and the client links against which avoids
referencing source files from common/ when building the server and
the client. The client is built in client/Makefile.am and directly
builds files from x11/ windows/ and gui/ if needed (without
recursing in these subdirectories).

This makes the build simpler to understand, and also makes it
possible to list source files once, which avoids potential
make distcheck breakage when adding new files.

There is a regression in this patch with respect to
sw_canvas/gl_canvas/gdi_canvas. They should be built with
different preprocessor #defines resulting in different behaviour
of the canvas for the client and the server. However, this is not
currently the case, both the client and the server will use the same
code for now (which probably means one of them is broken). This will
be fixed in a subsequent commit.

make distcheck passes, but compilation on windows using the
autotools build system hasn't been tested, which means it's likely
to be broken. It shouldn't be too hard ot fix it though, just let
me know of any issues with this.
2011-05-03 14:44:10 +02:00
Christophe Fergeau
06c83ca994 client: make building client optional 2011-05-02 11:24:44 +02:00
Christophe Fergeau
afffe11e66 configure.ac: replace tab with spaces
This makes the "C++ Compiler:     ...." status output nicely
aligned with the other messages.
2011-05-02 11:24:43 +02:00
Christophe Fergeau
ae0a9fc1d3 configure.ac: remove unused dynamic linkage flag
configure.ac defines a SPICEC_STATIC_LINKAGE_BDYNAMIC variable
when --enable-static-linkage is not set, but it's never used.
SPICEC_STATIC_LINKAGE_BSTATIC is used in client/, but since we
are using libtool, it might be more appropriate to use
'make LDFLAGS="-all-static"' to achieve static link.
2011-05-02 11:24:43 +02:00
Christophe Fergeau
36292b0740 configure.ac: fix use of AC_ARG_ENABLE
Most uses of AC_ARG_ENABLE were buggy:
- when passing --disable-xxx, configure.ac would behave as if it
  was passed --enable-xxx
- passing --enable-xxx=foo would "leak" into the summary, ie the
  summary (at the end of configure) would say "xxx: foo" instead
  of "xxx: yes"

This patch fixes these 2 issues.
2011-05-02 11:24:43 +02:00
Christophe Fergeau
d3463ae9af configure.ac: remove detection of WARN_UNUSED_RESULT
spice configure.ac has some code to detect if the compiler has
a special attribute to tag some functions so that they generate a
warning when their return value isn't checked. However, this test
is broken (the gcc attribute name is "warn_unused_result", not
"__warn_unused_result__" and WARN_UNUSED_RESULT is unused anyway
since spice-protocol provides SPICE_GNUC_WARN_UNUSED_RESULT. Thus
we can just drop that block of code from configure.ac
2011-04-04 11:59:59 +02:00
Alon Levy
5fc7fb68ae configure.ac: fix message when missing SASL lib 2011-03-22 09:44:52 +02:00
Marc-André Lureau
414e1de720 build: add --with-sasl
Using cyrus SASL library (same as gtk-vnc/qemu).

https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-28 16:36:35 +01:00
Marc-André Lureau
0e64e2d02c build: make it silent
This patch make it easier to spot warnings in compilation.  It should
work with older versions of automake that don't support silent rules.

If you want verbose build, make V=1.

Signed-off-by: Uri Lublin <uril@redhat.com>

https://bugs.freedesktop.org/show_bug.cgi?id=34795
2011-02-27 16:55:22 +01:00
Alon Levy
3700eefcec update required minimal libcacard to 0.1.2 2011-02-09 15:18:01 +02:00
Alon Levy
e2d6e8ef4f configure.ac: use AC_LANG_SOURCE in AC_COMPILE_IFELSE, silence remaining warnings 2011-02-07 18:49:29 +02:00
Hans de Goede
3bc702c6db Drop unnecessary X11 and alsa requires from spice-server.pc 2011-01-21 15:16:11 +01:00
Hans de Goede
b4c82a2866 server: remove dep on CEGUI 2011-01-19 15:00:51 +01:00
Alon Levy
9c0db1c6c3 server: remove dep on libcacard
Only the client needs this, and erronously using SPICE_REQUIRES
results in libcacard dep in spice-server.pc, which is then dragged
into qemu when linking, beeing used instead of the builtin libcacard.
2011-01-11 17:00:31 +02:00
Alon Levy
64c330793e client: CEGUI: search for CEGUI-0.6 to work in F15 (rawhide) 2011-01-05 15:02:56 +02:00
Alon Levy
5f501a97f7 client/smartcard: external cac card library name and version changed 2010-12-11 16:07:19 +02:00
Gerd Hoffmann
3f2997411e mingw32 build: disable -fvisibility test for unsupported mingw32 target
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

v2: only disable for os_win32 (Hans)
2010-12-08 17:14:23 +02:00
Alon Levy
1bb1bcb9a0 mingw32 build: check for CXImage, disable if not found (only on mingw32)
v2:
 + simplify (Hans)
 + also report presence of cximage for mingw32 target
2010-12-08 17:13:52 +02:00