glib/gobject/glib-enumtypes.c.template
Simon McVittie a4d084e975 gio, gobject: Improve reproducibility of enumtypes headers
`@filename@` expands to the (absolute or relative) path from the
build directory to the source directory, which can be rather verbose.
In practice Meson usually (always?) generates a relative path, but
even so, the resulting installed header is not necessarily reproducible
if using different build directories outside the source directory.

We don't really need a full path here anyway: the basename is enough
of a hint to point a reader towards the file where the underlying
enum was defined.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-12-13 23:40:32 +00:00

48 lines
1.0 KiB
Plaintext

/*** BEGIN file-header ***/
#include "config.h"
#include "glib-enumtypes.h"
#include <glib-object.h>
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/*** END file-header ***/
/*** BEGIN file-tail ***/
G_GNUC_END_IGNORE_DEPRECATIONS
/*** END file-tail ***/
/*** BEGIN file-production ***/
/* enumerations from "@basename@" */
/*** END file-production ***/
/*** BEGIN value-header ***/
GType
@enum_name@_get_type (void)
{
static GType static_g_define_type_id = 0;
if (g_once_init_enter_pointer (&static_g_define_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_define_type_id =
g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
g_once_init_leave_pointer (&static_g_define_type_id, g_define_type_id);
}
return static_g_define_type_id;
}
/*** END value-tail ***/