[Spice-devel] [PATCH 04/10] Generate GTypes for spice-server enums
Victor Toso
lists at victortoso.com
Thu Sep 1 08:47:44 UTC 2016
Hi,
On Wed, Aug 31, 2016 at 11:54:40AM -0500, Jonathon Jongsma wrote:
> ---
> server/Makefile.am | 31 +++++++++++++++++++++++++++++++
> 1 file changed, 31 insertions(+)
>
> diff --git a/server/Makefile.am b/server/Makefile.am
> index 968829a..771b33f 100644
> --- a/server/Makefile.am
> +++ b/server/Makefile.am
> @@ -68,6 +68,8 @@ libspice_serverinclude_HEADERS = \
> spice.h \
> $(NULL)
>
> +spice_built_sources = spice-server-enums.h spice-server-enums.c
> +
> libserver_la_SOURCES = \
> $(libspice_serverinclude_HEADERS) \
> agent-msg-filter.c \
> @@ -155,6 +157,7 @@ libserver_la_SOURCES = \
> dcc-private.h \
> image-encoders.c \
> image-encoders.h \
> + $(spice_built_sources) \
> $(NULL)
>
> if HAVE_LZ4
> @@ -186,6 +189,34 @@ endif
> libspice_server_la_LIBADD = libserver.la
> libspice_server_la_SOURCES =
>
> +spice-server-enums.c: spice-server.h
> + $(AM_V_GEN)glib-mkenums --fhead "#include \"config.h\"\n\n" \
> + --fhead "#include <glib-object.h>\n" \
> + --fhead "#include \"spice-server-enums.h\"\n\n" \
> + --fprod "\n#include \"spice-server.h\"\n" \
> + --vhead "static const G at Type@Value _ at enum_name@_values[] = {" \
> + --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
> + --vtail " { 0, NULL, NULL }\n};\n\n" \
> + --vtail "GType\n at enum_name@_get_type (void)\n{\n" \
> + --vtail " static GType type = 0;\n" \
> + --vtail " static volatile gsize type_volatile = 0;\n\n" \
> + --vtail " if (g_once_init_enter(&type_volatile)) {\n" \
> + --vtail " type = g_ at type@_register_static (\"@EnumName@\", _ at enum_name@_values);\n" \
> + --vtail " g_once_init_leave(&type_volatile, type);\n" \
> + --vtail " }\n\n" \
> + --vtail " return type;\n}\n\n" \
> + $^ > $@
> +
> +spice-server-enums.h: spice-server.h
> + $(AM_V_GEN)glib-mkenums --fhead "#ifndef SPICE_SERVER_ENUMS_H\n" \
> + --fhead "#define SPICE_SERVER_ENUMS_H\n\n" \
> + --fhead "G_BEGIN_DECLS\n\n" \
> + --ftail "G_END_DECLS\n\n" \
> + --ftail "#endif /* SPICE_SERVER_ENUMS_H */\n" \
> + --eprod "#define SPICE_TYPE_ at ENUMSHORT@ @enum_name at _get_type()\n" \
> + --eprod "GType @enum_name at _get_type (void);\n" \
> + $^ > $@
> +
I think make clean should clean $(spice_built_sources) and we should add
them in .gitignore too.
Reviewed-by: Victor Toso <victortoso at redhat.com>
> EXTRA_DIST = \
> spice-bitmap-utils.tmpl.c \
> cache-item.tmpl.c \
> --
> 2.7.4
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list