diff options
author | Christophe Fergeau <cfergeau@redhat.com> | 2011-04-20 17:50:22 +0200 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-03-20 15:25:51 +0100 |
commit | d88b144f1bc450b00c1b78ac58d88ef2e46a5868 (patch) | |
tree | dd850bd55767b1633b49c0a9c34400a90cd2db6c /common/canvas_base.h | |
parent | 4fafa210df5b106614246b04e4d31877bb47476a (diff) | |
download | spice-common-d88b144f1bc450b00c1b78ac58d88ef2e46a5868.tar.gz spice-common-d88b144f1bc450b00c1b78ac58d88ef2e46a5868.tar.xz spice-common-d88b144f1bc450b00c1b78ac58d88ef2e46a5868.zip |
autotools: correctly build canvas-related code
spice client and spice server shares code from
common/{gdi,gl,sw}_canvas.[ch]. However, while most of the code is
shared, the server code wants a canvas compiled with
SW_CANVAS_IMAGE_CACHE defined while the client code wants a canvas
compiled with SW_CANVAS_CACHE.
The initial autotools refactoring didn't take that into account,
this is now fixed by this commit. After this commit, the canvas
files from common/ are no longer compiled as part of the
libspice-common.la convenience library. Instead, there are "proxy"
canvas source files in client/ and server/ which #include the
appropriate C files after defining the relevant #define for the
binary that is being built.
To prevent misuse of the canvas c files and headers in common/,
SPICE_CANVAS_INTERNAL must be set when including the canvas headers
from common/ or when building the c files from common/ otherwise
the build will error out.
Diffstat (limited to 'common/canvas_base.h')
-rw-r--r-- | common/canvas_base.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/common/canvas_base.h b/common/canvas_base.h index ff0f972..7c5f275 100644 --- a/common/canvas_base.h +++ b/common/canvas_base.h @@ -19,6 +19,9 @@ #ifndef _H_CANVAS_BASE #define _H_CANVAS_BASE +#ifndef SPICE_CANVAS_INTERNAL +#error "This header shouldn't be included directly" +#endif #include "pixman_utils.h" #include "lz.h" |