spice/client
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
..
gui add missing "LGPLv2.1 or later" header to source files 2011-05-02 11:24:44 +02:00
tests add .gitignore for tests 2010-11-30 20:54:49 +02:00
windows autotools: refactor the whole build machinery 2011-05-03 14:44:10 +02:00
x11 autotools: refactor the whole build machinery 2011-05-03 14:44:10 +02:00
.gitignore gitignore: add generated_*, vim temps, pyc 2010-11-08 16:06:55 +02:00
application.cpp client: skip spaces in --host-subject 2011-04-18 12:55:41 +02:00
application.h client: --help should not need platform initialization 2011-01-27 17:19:05 +02:00
audio_channels.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
audio_devices.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
cache.hpp Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
canvas.cpp Client: Use the autogenerated demarshallers 2010-06-18 16:32:11 +02:00
canvas.h Remove unused method declarations 2010-07-08 14:19:45 +02:00
client_net_socket.cpp Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
client_net_socket.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
cmd_line_parser.cpp client: s/reqired/required in CmdLineParser 2011-04-18 12:38:44 +02:00
cmd_line_parser.h client: s/reqired/required in CmdLineParser 2011-04-18 12:38:44 +02:00
common.h client: fix broken vs2008 build 2011-01-27 17:19:06 +02:00
controller.cpp client: s/AVAILIBLE/AVAILABLE in CmdLineParser 2011-04-18 12:38:39 +02:00
controller.h controller: Make menu text utf-8 2010-10-25 11:36:35 +02:00
cursor_channel.cpp Make cursor data @as_ptr to avoid copying data 2010-06-18 20:27:32 +02:00
cursor_channel.h Make cursor data @as_ptr to avoid copying data 2010-06-18 20:27:32 +02:00
cursor.cpp Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
cursor.h Make all message structs internal to spice 2010-06-18 20:27:32 +02:00
debug.h Replace log4cpp with custom log function 2010-06-28 21:54:53 +02:00
demarshallers.h Generate marshaller/demarshallers for old protocol 2010-06-22 17:34:39 +02:00
display_channel.cpp opengl: fix compilation 2011-03-23 11:26:29 +01:00
display_channel.h detaching the screen when the primary surface is destoryed and closing the window if the primary surface is not recreated (the monitor has been detached). 2010-06-29 13:59:46 +02:00
event_sources.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
foreign_menu.cpp spicec: add foreign menu 2010-10-18 10:03:46 +02:00
foreign_menu.h spicec: add foreign menu 2010-10-18 10:03:46 +02:00
glz_decode_tmpl.c Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_decoded_image.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_decoder_config.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
glz_decoder_window.cpp spicec: Do not try to do accounting of pci memory 2010-10-09 22:27:53 +02:00
glz_decoder_window.h spicec: Do not try to do accounting of pci memory 2010-10-09 22:27:53 +02:00
glz_decoder.cpp client/glz_decoder.cpp: gcc 4.6.0 unused fixes 2011-01-25 17:29:31 +02:00
glz_decoder.h Move in spice/draw.h from spice-protocol to common/ 2010-07-08 13:56:01 +02:00
hot_keys.cpp client: gcc 4.6.0: two more unused variable fixes 2011-01-25 17:29:31 +02:00
hot_keys.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
icon.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
inputs_channel.cpp Fix keyb modifiers not syncing from client to client os (rhbz#679467) 2011-03-01 16:12:32 +02:00
inputs_channel.h client inputs: stop blinking keyboard when out of focus 2010-12-30 12:08:31 +02:00
inputs_handler.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
jpeg_decoder.cpp mingw32: refix to build on mingw.. 2010-12-30 12:16:31 +02:00
jpeg_decoder.h add eol after #ifdef in jpeg_encoder.h for n900 scratchbox compiler 2010-07-29 11:10:41 +03:00
Makefile.am autotools: refactor the whole build machinery 2011-05-03 14:44:10 +02:00
marshallers.h Fix build error due to member "SpiceMsgEmpty" same name as type 2010-06-28 12:45:07 +02:00
menu.cpp spicec: add menu id & find_sub() 2010-10-17 11:44:13 +02:00
menu.h spicec: add menu id & find_sub() 2010-10-17 11:44:13 +02:00
mjpeg_decoder.cpp mingw32: refix to build on mingw.. 2010-12-30 12:16:31 +02:00
mjpeg_decoder.h mingw32 build: fix signed/unsigned warnings as errors 2010-12-08 17:11:45 +02:00
monitor.cpp Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
monitor.h Fix inclusion of common files, no need for common/ part 2010-07-08 15:44:15 +02:00
pixels_source.h Fix inclusion of common files, no need for common/ part 2010-07-08 15:44:15 +02:00
platform.h spicec: Move setting of clipboard_owner to guest to platform code 2010-10-06 19:17:08 +02:00
playback_channel.cpp Make sound data @as_ptr to avoid copying data 2010-06-18 20:27:32 +02:00
process_loop.cpp client: fix broken vs2008 build 2011-01-27 17:19:06 +02:00
process_loop.h mingw32 build: fix signed/unsigned warnings as errors 2010-12-08 17:11:45 +02:00
read_write_mutex.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
record_channel.cpp Convert client to use indirect calls for message marshalling 2010-06-22 10:54:59 +02:00
red_channel.cpp spicec: do not call connect_secure when connect_unsecure fails due to protocol version mismatch (v2) 2010-12-07 14:34:22 +02:00
red_channel.h Fix various misspellings 2010-07-08 18:26:37 +02:00
red_client.cpp spice-client migration: fix minor for old migration support. 2011-01-27 18:26:09 +02:00
red_client.h mingw32 build: fixed using -1 as uninitialized value for unsigned variables 2010-12-08 17:11:45 +02:00
red_drawable.h Add helper to compare RedDrawable::Formats for copy compabible 2010-04-23 16:36:35 +02:00
red_gdi_canvas.cpp applying zlib compression over glz on WAN connection 2010-06-21 15:05:37 +02:00
red_gdi_canvas.h Make client canvas and pixmaps handle more formats and simplify 2010-04-23 16:36:35 +02:00
red_gl_canvas.cpp applying zlib compression over glz on WAN connection 2010-06-21 15:05:37 +02:00
red_gl_canvas.h Remove all mentions of "cairo" from the code 2010-05-03 12:38:02 +02:00
red_key.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
red_peer.cpp client: log subject-host mismatch, and raise ssl warnings to errors 2011-02-07 18:49:37 +02:00
red_peer.h Fix various misspellings 2010-07-08 18:26:37 +02:00
red_pixmap_gdi.h Remove all mentions of "cairo" from the code 2010-05-03 12:38:02 +02:00
red_pixmap_gl.h Make client canvas and pixmaps handle more formats and simplify 2010-04-23 16:36:35 +02:00
red_pixmap_sw.h Remove all mentions of "cairo" from the code 2010-05-03 12:38:02 +02:00
red_pixmap.h Add RedDrawable::Format get_format() 2010-04-23 16:36:35 +02:00
red_sw_canvas.cpp applying zlib compression over glz on WAN connection 2010-06-21 15:05:37 +02:00
red_sw_canvas.h Remove all mentions of "cairo" from the code 2010-05-03 12:38:02 +02:00
red_types.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
red_window.h client: Interpret the title control message as utf8 instead of unicode16 2010-10-21 13:19:51 +02:00
screen_layer.cpp Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
screen_layer.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
screen.cpp client: Interpret the title control message as utf8 instead of unicode16 2010-10-21 13:19:51 +02:00
screen.h spicec: Don't show a white screen if guest resolution does not fit fullscreen 2010-11-25 11:23:02 +01:00
shared_cache.hpp support for lossy images in the pixmap cache and fill bits 2010-06-09 11:41:01 +02:00
smartcard_channel.cpp add missing "LGPLv2.1 or later" header to source files 2011-05-02 11:24:44 +02:00
smartcard_channel.h add missing "LGPLv2.1 or later" header to source files 2011-05-02 11:24:44 +02:00
threads.cpp client: Fall back to gettimeofday if clock_gettime not found 2010-09-29 13:35:18 +02:00
threads.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
tunnel_channel.cpp codegen: Various cleanups 2010-07-19 16:28:22 +02:00
tunnel_channel.h mingw32 build: fix signed/unsigned warnings as errors 2010-12-08 17:11:45 +02:00
utils.cpp Remove no longer used wstring_printf functions 2010-10-21 13:22:01 +02:00
utils.h Remove no longer used wstring_printf functions 2010-10-21 13:22:01 +02:00
zlib_decoder.cpp add missing "LGPLv2.1 or later" header to source files 2011-05-02 11:24:44 +02:00
zlib_decoder.h mingw32 build: fix build errors 2010-12-08 17:11:45 +02:00