From 2db7212175c51f4121790bfd1fd677c0b77833d5 Mon Sep 17 00:00:00 2001 From: Christophe Fergeau Date: Wed, 20 Apr 2011 17:50:22 +0200 Subject: 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. --- client/red_gdi_canvas.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'client/red_gdi_canvas.h') diff --git a/client/red_gdi_canvas.h b/client/red_gdi_canvas.h index 643f3c6c..76de12bc 100644 --- a/client/red_gdi_canvas.h +++ b/client/red_gdi_canvas.h @@ -19,7 +19,11 @@ #define _H_GDICANVAS #include "canvas.h" +#define SPICE_CANVAS_INTERNAL +#define SW_CANVAS_CACHE #include "gdi_canvas.h" +#undef SW_CANVAS_CACHE +#undef SPICE_CANVAS_INTERNAL #include "red_pixmap_gdi.h" class RedPixmap; -- cgit