mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2025-12-26 22:48:19 +00:00
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.
264 lines
5.8 KiB
Makefile
264 lines
5.8 KiB
Makefile
NULL =
|
|
|
|
bin_PROGRAMS = spicec
|
|
|
|
BUILT_SOURCES = \
|
|
generated_demarshallers.cpp \
|
|
generated_marshallers.cpp \
|
|
generated_demarshallers1.cpp \
|
|
generated_marshallers1.cpp \
|
|
$(NULL)
|
|
|
|
generated_demarshallers.cpp: $(top_srcdir)/spice.proto
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-demarshallers --client --include common.h --include messages.h $(top_srcdir)/spice.proto generated_demarshallers.cpp
|
|
|
|
generated_demarshallers1.cpp: $(top_srcdir)/spice1.proto
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-demarshallers --client --include common.h --include messages.h --prefix 1 --ptrsize 8 $(top_srcdir)/spice1.proto generated_demarshallers1.cpp
|
|
|
|
generated_marshallers.cpp: $(top_srcdir)/spice.proto
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers -P --include "common.h" --include messages.h --include marshallers.h --client $(top_srcdir)/spice.proto generated_marshallers.cpp
|
|
|
|
generated_marshallers1.cpp: $(top_srcdir)/spice1.proto
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers -P --include "common.h" --include messages.h --include marshallers.h --client --prefix 1 --ptrsize 8 $(top_srcdir)/spice1.proto generated_marshallers1.cpp
|
|
|
|
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
|
|
|
|
spicec_SOURCES = \
|
|
application.cpp \
|
|
application.h \
|
|
audio_channels.h \
|
|
audio_devices.h \
|
|
cache.hpp \
|
|
canvas.cpp \
|
|
canvas.h \
|
|
client_net_socket.cpp \
|
|
client_net_socket.h \
|
|
cmd_line_parser.cpp \
|
|
cmd_line_parser.h \
|
|
common.h \
|
|
controller.cpp \
|
|
controller.h \
|
|
cursor.cpp \
|
|
cursor.h \
|
|
cursor_channel.cpp \
|
|
cursor_channel.h \
|
|
debug.h \
|
|
demarshallers.h \
|
|
display_channel.cpp \
|
|
display_channel.h \
|
|
event_sources.h \
|
|
foreign_menu.cpp \
|
|
foreign_menu.h \
|
|
glz_decoded_image.h \
|
|
glz_decoder.cpp \
|
|
glz_decoder.h \
|
|
glz_decoder_config.h \
|
|
glz_decoder_window.cpp \
|
|
glz_decoder_window.h \
|
|
hot_keys.cpp \
|
|
hot_keys.h \
|
|
icon.h \
|
|
inputs_channel.cpp \
|
|
inputs_channel.h \
|
|
inputs_handler.h \
|
|
jpeg_decoder.cpp \
|
|
jpeg_decoder.h \
|
|
marshallers.h \
|
|
menu.cpp \
|
|
menu.h \
|
|
mjpeg_decoder.cpp \
|
|
mjpeg_decoder.h \
|
|
monitor.cpp \
|
|
monitor.h \
|
|
pixels_source.h \
|
|
platform.h \
|
|
playback_channel.cpp \
|
|
process_loop.cpp \
|
|
process_loop.h \
|
|
read_write_mutex.h \
|
|
record_channel.cpp \
|
|
red_canvas_base.h \
|
|
red_channel.cpp \
|
|
red_channel.h \
|
|
red_client.cpp \
|
|
red_client.h \
|
|
red_drawable.h \
|
|
red_key.h \
|
|
red_peer.cpp \
|
|
red_peer.h \
|
|
red_pixmap.h \
|
|
red_pixmap_sw.h \
|
|
red_sw_canvas.cpp \
|
|
red_sw_canvas.h \
|
|
red_types.h \
|
|
red_window.h \
|
|
screen.cpp \
|
|
screen.h \
|
|
screen_layer.cpp \
|
|
screen_layer.h \
|
|
shared_cache.hpp \
|
|
threads.cpp \
|
|
threads.h \
|
|
utils.cpp \
|
|
utils.h \
|
|
zlib_decoder.cpp \
|
|
zlib_decoder.h \
|
|
$(BUILT_SOURCES) \
|
|
$(NULL)
|
|
|
|
if OS_WIN32
|
|
spicec_SOURCES += \
|
|
red_gdi_canvas.cpp \
|
|
red_gdi_canvas.h \
|
|
red_pixmap_gdi.h \
|
|
windows/atomic_count.h \
|
|
windows/event_sources_p.cpp \
|
|
windows/main.cpp \
|
|
windows/my_getopt.cpp \
|
|
windows/named_pipe.cpp \
|
|
windows/named_pipe.h \
|
|
windows/pixels_source.cpp \
|
|
windows/pixels_source_p.h \
|
|
windows/platform.cpp \
|
|
windows/platform_utils.cpp \
|
|
windows/platform_utils.h \
|
|
windows/playback.cpp \
|
|
windows/playback.h \
|
|
windows/record.cpp \
|
|
windows/record.h \
|
|
windows/red_drawable.cpp \
|
|
windows/red_pixmap.cpp \
|
|
windows/red_pixmap_gdi.cpp \
|
|
windows/red_pixmap_sw.cpp \
|
|
windows/red_window.cpp \
|
|
windows/red_window_p.h \
|
|
windows/resource.h \
|
|
windows/stdint.h \
|
|
windows/win_platform.h \
|
|
$(NULL)
|
|
else
|
|
spicec_SOURCES += \
|
|
x11/atomic_count.h \
|
|
x11/event_sources_p.cpp \
|
|
x11/event_sources_p.h \
|
|
x11/main.cpp \
|
|
x11/named_pipe.cpp \
|
|
x11/named_pipe.h \
|
|
x11/pixels_source.cpp \
|
|
x11/pixels_source_p.h \
|
|
x11/platform.cpp \
|
|
x11/platform_utils.cpp \
|
|
x11/platform_utils.h \
|
|
x11/playback.cpp \
|
|
x11/playback.h \
|
|
x11/record.cpp \
|
|
x11/record.h \
|
|
x11/red_drawable.cpp \
|
|
x11/red_pixmap.cpp \
|
|
x11/red_pixmap_sw.cpp \
|
|
x11/red_window.cpp \
|
|
x11/red_window_p.h \
|
|
x11/res.cpp \
|
|
x11/res.h \
|
|
x11/resource.h \
|
|
x11/x_icon.cpp \
|
|
x11/x_icon.h \
|
|
x11/x_platform.h \
|
|
$(NULL)
|
|
endif
|
|
|
|
if SUPPORT_TUNNEL
|
|
spicec_SOURCES += \
|
|
tunnel_channel.cpp \
|
|
tunnel_channel.h \
|
|
$(NULL)
|
|
endif
|
|
|
|
if SUPPORT_GUI
|
|
spicec_SOURCES += \
|
|
gui/gui.cpp \
|
|
gui/gui.h \
|
|
gui/resource_provider.cpp \
|
|
gui/resource_provider.h \
|
|
gui/softrenderer.cpp \
|
|
gui/softrenderer.h \
|
|
gui/softtexture.cpp \
|
|
gui/softtexture.h \
|
|
$(NULL)
|
|
endif
|
|
|
|
if SUPPORT_GL
|
|
spicec_SOURCES += \
|
|
red_gl_canvas.cpp \
|
|
red_gl_canvas.h \
|
|
red_pixmap_gl.h \
|
|
$(NULL)
|
|
|
|
if !OS_WIN32
|
|
spicec_SOURCES += x11/red_pixmap_gl.cpp
|
|
endif
|
|
|
|
endif
|
|
|
|
if SUPPORT_SMARTCARD
|
|
spicec_SOURCES += \
|
|
smartcard_channel.cpp \
|
|
smartcard_channel.h \
|
|
$(NULL)
|
|
endif
|
|
|
|
|
|
INCLUDES = \
|
|
-D__STDC_LIMIT_MACROS \
|
|
-I$(top_srcdir)/client/x11 \
|
|
-I$(top_srcdir)/common \
|
|
$(ALSA_CFLAGS) \
|
|
$(CEGUI_CFLAGS) \
|
|
$(CEGUI06_CFLAGS) \
|
|
$(CELT051_CFLAGS) \
|
|
$(GL_CFLAGS) \
|
|
$(MISC_X_CFLAGS) \
|
|
$(PIXMAN_CFLAGS) \
|
|
$(PROTOCOL_CFLAGS) \
|
|
$(SPICE_NONPKGCONFIG_CFLAGS) \
|
|
$(SMARTCARD_CFLAGS) \
|
|
$(SSL_CFLAGS) \
|
|
$(XRANDR_CFLAGS) \
|
|
$(XFIXES_CFLAGS) \
|
|
$(WARN_CFLAGS) \
|
|
$(NULL)
|
|
|
|
spicec_LDFLAGS = $(SPICEC_STATIC_LINKAGE_BSTATIC)
|
|
|
|
spicec_LDADD = \
|
|
$(top_builddir)/common/libspice-common.la \
|
|
$(ALSA_LIBS) \
|
|
$(CEGUI_LIBS) \
|
|
$(CEGUI06_LIBS) \
|
|
$(CELT051_LIBS) \
|
|
$(GL_LIBS) \
|
|
$(JPEG_LIBS) \
|
|
$(MISC_X_LIBS) \
|
|
$(PIXMAN_LIBS) \
|
|
$(SMARTCARD_LIBS) \
|
|
$(SPICE_NONPKGCONFIG_LIBS) \
|
|
$(SSL_LIBS) \
|
|
$(XFIXES_LIBS) \
|
|
$(XRANDR_LIBS) \
|
|
$(Z_LIBS) \
|
|
$(NULL)
|
|
|
|
EXTRA_DIST = \
|
|
glz_decode_tmpl.c \
|
|
x11/images/red_icon.c \
|
|
x11/images/alt_image.c \
|
|
gui/commonv2c.ttf.c \
|
|
gui/commonwealth-10.font.c \
|
|
gui/dejavu_sans-10.font.c \
|
|
gui/dejavu_sans.ttf.c \
|
|
gui/taharez_look.imageset.c \
|
|
gui/taharez_look.looknfeel.c \
|
|
gui/taharez_look.scheme.c \
|
|
gui/taharez_look.tga.c \
|
|
$(NULL)
|