mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-common
synced 2025-12-27 07:01:41 +00:00
In addition to Laszlo's commit fixing rhbz#928973, we can add some compile-time assertion to lz_common.h to help catch similar bugs in the future. This uses gnulib's verify.h to make sure at compile-time that the various constant arrays used in lz_common.h are of the expected size. I've checked that before Laszlo's patch, the assert triggers, and that it's gone after it.
150 lines
4.7 KiB
Makefile
150 lines
4.7 KiB
Makefile
NULL =
|
|
|
|
# Avoid need for python(pyparsing) by end users
|
|
CLIENT_MARSHALLERS = \
|
|
$(srcdir)/generated_client_demarshallers.c \
|
|
$(srcdir)/generated_client_demarshallers1.c \
|
|
$(srcdir)/generated_client_marshallers.c \
|
|
$(srcdir)/generated_client_marshallers1.c \
|
|
$(NULL)
|
|
|
|
SERVER_MARSHALLERS = \
|
|
$(srcdir)/generated_server_demarshallers.c \
|
|
$(srcdir)/generated_server_marshallers.c \
|
|
$(srcdir)/generated_server_marshallers.h \
|
|
$(NULL)
|
|
|
|
BUILT_SOURCES = $(CLIENT_MARSHALLERS) $(SERVER_MARSHALLERS) $(top_srcdir)/spice-protocol/spice/enums.h
|
|
|
|
noinst_LTLIBRARIES = libspice-common.la libspice-common-server.la libspice-common-client.la
|
|
libspice_common_la_SOURCES = \
|
|
backtrace.c \
|
|
backtrace.h \
|
|
bitops.h \
|
|
canvas_utils.c \
|
|
canvas_utils.h \
|
|
client_demarshallers.h \
|
|
client_marshallers.h \
|
|
draw.h \
|
|
lines.c \
|
|
lines.h \
|
|
log.c \
|
|
log.h \
|
|
lz.c \
|
|
lz.h \
|
|
lz_common.h \
|
|
lz_config.h \
|
|
macros.h \
|
|
marshaller.c \
|
|
marshaller.h \
|
|
mem.c \
|
|
mem.h \
|
|
messages.h \
|
|
mutex.h \
|
|
pixman_utils.c \
|
|
pixman_utils.h \
|
|
quic.c \
|
|
quic.h \
|
|
quic_config.h \
|
|
rect.h \
|
|
region.c \
|
|
region.h \
|
|
ring.h \
|
|
rop3.c \
|
|
rop3.h \
|
|
spice_common.h \
|
|
ssl_verify.c \
|
|
ssl_verify.h \
|
|
verify.h \
|
|
$(NULL)
|
|
|
|
libspice_common_client_la_SOURCES = \
|
|
$(CLIENT_MARSHALLERS) \
|
|
$(NULL)
|
|
|
|
libspice_common_server_la_SOURCES = \
|
|
$(SERVER_MARSHALLERS) \
|
|
$(NULL)
|
|
|
|
libspice_common_server_la_CFLAGS = -DFIXME_SERVER_SMARTCARD
|
|
|
|
if SUPPORT_GL
|
|
libspice_common_la_SOURCES += \
|
|
gl_utils.h \
|
|
glc.c \
|
|
glc.h \
|
|
ogl_ctx.c \
|
|
ogl_ctx.h \
|
|
$(NULL)
|
|
endif
|
|
|
|
AM_CPPFLAGS = \
|
|
$(GL_CFLAGS) \
|
|
$(PIXMAN_CFLAGS) \
|
|
$(PROTOCOL_CFLAGS) \
|
|
$(SMARTCARD_CFLAGS) \
|
|
$(VISIBILITY_HIDDEN_CFLAGS) \
|
|
$(WARN_CFLAGS) \
|
|
-std=gnu99 \
|
|
$(NULL)
|
|
|
|
MARSHALLERS_DEPS = \
|
|
$(top_srcdir)/python_modules/__init__.py \
|
|
$(top_srcdir)/python_modules/codegen.py \
|
|
$(top_srcdir)/python_modules/demarshal.py \
|
|
$(top_srcdir)/python_modules/marshal.py \
|
|
$(top_srcdir)/python_modules/ptypes.py \
|
|
$(top_srcdir)/python_modules/spice_parser.py \
|
|
$(top_srcdir)/spice_codegen.py \
|
|
$(NULL)
|
|
|
|
# Note despite being autogenerated these are not part of CLEANFILES, they are
|
|
# actually a part of EXTRA_DIST, to avoid the need for pyparser by end users
|
|
generated_client_demarshallers.c: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-demarshallers --client --include messages.h $< $@ >/dev/null
|
|
|
|
generated_client_demarshallers1.c: $(top_srcdir)/spice1.proto $(MARSHALLERS_DEPS)
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-demarshallers --client --include messages.h --prefix 1 --ptrsize 8 $< $@ >/dev/null
|
|
|
|
generated_client_marshallers.c: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers -P --include messages.h --include client_marshallers.h --client $< $@ >/dev/null
|
|
|
|
generated_client_marshallers1.c: $(top_srcdir)/spice1.proto $(MARSHALLERS_DEPS)
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers -P --include messages.h --include client_marshallers.h --client --prefix 1 --ptrsize 8 $< $@ >/dev/null
|
|
|
|
generated_server_demarshallers.c: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-demarshallers --server --include messages.h $< $@ >/dev/null
|
|
|
|
STRUCTS = -M String -M Rect -M Point -M DisplayBase -M Fill -M Opaque -M Copy -M Blend -M Blackness -M Whiteness -M Invers -M Rop3 -M Stroke -M Text -M Transparent -M AlphaBlend -M Composite
|
|
generated_server_marshallers.c: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers $(STRUCTS) --server --include messages.h $< $@ >/dev/null
|
|
|
|
generated_server_marshallers.h: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers $(STRUCTS) --server --include messages.h -H $< $@ >/dev/null
|
|
|
|
# this is going to upset automake distcheck, since we try to write to
|
|
# readonly srcdir. To limit the fail chances, rebuild automatically
|
|
# enums.h only if the spice.proto has changed.
|
|
$(top_srcdir)/spice-protocol/spice/enums.h: $(top_srcdir)/spice.proto # $(MARSHALLERS_DEPS)
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-enums $< $@ >/dev/null
|
|
|
|
EXTRA_DIST = \
|
|
$(CLIENT_MARSHALLERS) \
|
|
$(SERVER_MARSHALLERS) \
|
|
canvas_base.c \
|
|
canvas_base.h \
|
|
gdi_canvas.c \
|
|
gdi_canvas.h \
|
|
gl_canvas.c \
|
|
gl_canvas.h \
|
|
lz_compress_tmpl.c \
|
|
lz_decompress_tmpl.c \
|
|
quic_family_tmpl.c \
|
|
quic_rgb_tmpl.c \
|
|
quic_tmpl.c \
|
|
sw_canvas.c \
|
|
sw_canvas.h \
|
|
$(NULL)
|
|
|
|
-include $(top_srcdir)/git.mk
|