mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-common
synced 2025-12-26 14:18:36 +00:00
Code generated for demarshallers define and declare some types and functions. However these types and functions are also declared separately in other headers (currently spice-common/client_demarshallers.h and spice/server/demarshallers.h) resulting in potential ABI mismatch if the different declarations do not match. Using a common header shared between generated code and code using these functions prevent potentially multiple different declarations. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Christophe Fergeau <cfergeau@redhat.com>
133 lines
4.0 KiB
Makefile
133 lines
4.0 KiB
Makefile
NULL =
|
|
|
|
# Avoid need for python(pyparsing) by end users
|
|
CLIENT_MARSHALLERS = \
|
|
generated_client_demarshallers.c \
|
|
generated_client_marshallers.c \
|
|
generated_client_marshallers.h \
|
|
$(NULL)
|
|
|
|
SERVER_MARSHALLERS = \
|
|
generated_server_demarshallers.c \
|
|
generated_server_marshallers.c \
|
|
generated_server_marshallers.h \
|
|
$(NULL)
|
|
|
|
BUILT_SOURCES = $(CLIENT_MARSHALLERS) $(SERVER_MARSHALLERS)
|
|
|
|
noinst_LTLIBRARIES = libspice-common.la libspice-common-server.la libspice-common-client.la
|
|
libspice_common_la_SOURCES = \
|
|
backtrace.c \
|
|
backtrace.h \
|
|
canvas_utils.c \
|
|
canvas_utils.h \
|
|
demarshallers.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 \
|
|
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 \
|
|
snd_codec.c \
|
|
snd_codec.h \
|
|
verify.h \
|
|
$(NULL)
|
|
|
|
# These 2 files are not build as part of spice-common
|
|
# build system, but modules using spice-common will build
|
|
# them with the appropriate options. We need to let automake
|
|
# know that these are source files so that it can properly
|
|
# track these files dependencies
|
|
EXTRA_libspice_common_la_SOURCES = \
|
|
sw_canvas.c \
|
|
sw_canvas.h \
|
|
$(NULL)
|
|
|
|
libspice_common_client_la_SOURCES = \
|
|
client_marshallers.h \
|
|
ssl_verify.c \
|
|
ssl_verify.h \
|
|
$(CLIENT_MARSHALLERS) \
|
|
$(NULL)
|
|
|
|
libspice_common_server_la_SOURCES = \
|
|
$(SERVER_MARSHALLERS) \
|
|
$(NULL)
|
|
|
|
AM_CPPFLAGS = \
|
|
-I$(top_srcdir) \
|
|
-I$(top_builddir) \
|
|
$(SPICE_COMMON_CFLAGS) \
|
|
$(PROTOCOL_CFLAGS) \
|
|
$(NULL)
|
|
|
|
libspice_common_la_LIBADD = \
|
|
$(SPICE_COMMON_LIBS) \
|
|
$(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 common/messages.h $< $@ >/dev/null
|
|
|
|
generated_client_marshallers.h: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
|
|
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers -P --client --include common/messages.h -H $< $@ >/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 client_marshallers.h --client $< $@ >/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 common/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 common/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 common/messages.h -H $< $@ >/dev/null
|
|
|
|
EXTRA_DIST = \
|
|
$(CLIENT_MARSHALLERS) \
|
|
$(SERVER_MARSHALLERS) \
|
|
meson.build \
|
|
canvas_base.c \
|
|
canvas_base.h \
|
|
lz_compress_tmpl.c \
|
|
lz_decompress_tmpl.c \
|
|
quic_family_tmpl.c \
|
|
quic_tmpl.c \
|
|
snd_codec.h \
|
|
$(NULL)
|
|
|
|
-include $(top_srcdir)/git.mk
|