diff options
Diffstat (limited to 'src/gtkext/bindings')
-rw-r--r-- | src/gtkext/bindings/Makefile.am | 42 | ||||
-rw-r--r-- | src/gtkext/bindings/generated-enums.c.template | 41 | ||||
-rw-r--r-- | src/gtkext/bindings/generated-enums.h.template | 23 |
3 files changed, 106 insertions, 0 deletions
diff --git a/src/gtkext/bindings/Makefile.am b/src/gtkext/bindings/Makefile.am new file mode 100644 index 0000000..71e770d --- /dev/null +++ b/src/gtkext/bindings/Makefile.am @@ -0,0 +1,42 @@ + +EXTRA_DIST = \ + generated-enums.c.template \ + generated-enums.h.template + + +noinst_LTLIBRARIES = libgtkextbindings.la + + +nodist_libgtkextbindings_la_SOURCES = \ + grid-enums.h grid-enums.c + +libgtkextbindings_la_CFLAGS = $(LIBGTK4_CFLAGS) + + +BUILT_SOURCES = $(nodist_libgtkextbindings_la_SOURCES) +CLEANFILES = $(nodist_libgtkextbindings_la_SOURCES) + + +devdir = $(includedir)/chrysalide/$(subdir:src/%=core/%) + +dev_HEADERS = $(nodist_libgtkextbindings_la_SOURCES:%c=) + + +grid-enums.c: ../../gtkext/grid.h generated-enums.c.template + $(AM_V_GEN)$(GLIB_MKENUMS) \ + --fhead "#include \"$(subst .c,.h,$@)\"\n" \ + --template=$(srcdir)/generated-enums.c.template \ + --output=$(srcdir)/$@ \ + $< + +grid-enums.h: ../../gtkext/grid.h generated-enums.h.template + $(AM_V_GEN)$(GLIB_MKENUMS) \ + --fhead "#ifndef _GTKEXT_BINDINGS_GRID_ENUM_H\n" \ + --fhead "#define _GTKEXT_BINDINGS_GRID_ENUM_H\n" \ + --fhead "\n" \ + --fhead "#include \"$<\"\n" \ + --fhead "\n" \ + --ftail "#endif /* _GTKEXT_BINDINGS_GRID_ENUM_H */\n" \ + --template=$(srcdir)/generated-enums.h.template \ + --output=$(srcdir)/$@ \ + $< diff --git a/src/gtkext/bindings/generated-enums.c.template b/src/gtkext/bindings/generated-enums.c.template new file mode 100644 index 0000000..8f54149 --- /dev/null +++ b/src/gtkext/bindings/generated-enums.c.template @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +// SPDX-FileCopyrightText: 2023 Bartosz Golaszewski <bartosz.golaszewski@linaro.org> + +/*** BEGIN file-header ***/ + +/*** END file-header ***/ + +/*** BEGIN file-production ***/ + +/* Enumerations de "@filename@" */ + +/*** END file-production ***/ + +/*** BEGIN value-header ***/ + +GType @enum_name@_get_type(void) +{ + static gsize static_g_@type@_type_id; + + if (g_once_init_enter(&static_g_@type@_type_id)) { + static const G@Type@Value values[] = { +/*** END value-header ***/ + +/*** BEGIN value-production ***/ + {@VALUENAME@, "@VALUENAME@", "@valuenick@"}, +/*** END value-production ***/ + +/*** BEGIN value-tail ***/ + { 0, NULL, NULL } + }; + + GType g_@type@_type_id = g_@type@_register_static( + g_intern_static_string("@EnumName@"), values); + + g_once_init_leave (&static_g_@type@_type_id, g_@type@_type_id); + } + + return static_g_@type@_type_id; +} + +/*** END value-tail ***/ diff --git a/src/gtkext/bindings/generated-enums.h.template b/src/gtkext/bindings/generated-enums.h.template new file mode 100644 index 0000000..58c772d --- /dev/null +++ b/src/gtkext/bindings/generated-enums.h.template @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +// SPDX-FileCopyrightText: 2023-2024 Bartosz Golaszewski <bartosz.golaszewski@linaro.org> + +/*** BEGIN file-header ***/ + +G_BEGIN_DECLS + +/*** END file-header ***/ + +/*** BEGIN file-production ***/ + +/*** END file-production ***/ + +/*** BEGIN value-header ***/ +GType @enum_name@_get_type(void) G_GNUC_CONST; +#define @ENUMPREFIX@_@ENUMSHORT@_TYPE (@enum_name@_get_type()) +/*** END value-header ***/ + +/*** BEGIN file-tail ***/ + +G_END_DECLS + +/*** END file-tail ***/ |