summaryrefslogtreecommitdiffstats
path: root/common/canvas_base.h
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2011-04-20 17:50:22 +0200
committerMarc-André Lureau <marcandre.lureau@gmail.com>2012-03-20 15:25:51 +0100
commitd88b144f1bc450b00c1b78ac58d88ef2e46a5868 (patch)
treedd850bd55767b1633b49c0a9c34400a90cd2db6c /common/canvas_base.h
parent4fafa210df5b106614246b04e4d31877bb47476a (diff)
downloadspice-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.h3
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"