Merge branch 'wayland-scanner-defines' into 'main'

scanner: add defines for wayland interface versions

See merge request wayland/wayland!389
This commit is contained in:
Dudemanguy 2026-03-24 20:53:50 +00:00
commit 937f564fba
9 changed files with 262 additions and 0 deletions

View file

@ -1118,6 +1118,16 @@ format_text_to_comment(const char *text, bool standalone_comment)
printf(" */\n\n");
}
static void
emit_max_interface_version(struct interface *interface)
{
printf("/**\n * @ingroup iface_%s\n */\n", interface->name);
printf("#define %s_MAX_VERSION %d\n",
interface->uppercase_name, interface->version);
printf("\n");
}
static void
emit_opcodes(struct wl_list *message_list, struct interface *interface)
{
@ -1793,12 +1803,14 @@ emit_header(struct protocol *protocol, enum side side)
if (side == SERVER) {
emit_structs(&i->request_list, i, side);
emit_max_interface_version(i);
emit_opcodes(&i->event_list, i);
emit_opcode_versions(&i->event_list, i);
emit_opcode_versions(&i->request_list, i);
emit_event_wrappers(&i->event_list, i);
} else {
emit_structs(&i->event_list, i, side);
emit_max_interface_version(i);
emit_opcodes(&i->request_list, i);
emit_opcode_versions(&i->event_list, i);
emit_opcode_versions(&i->request_list, i);