aboutsummaryrefslogtreecommitdiffstats
path: root/src/scanner.c
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2020-04-21 12:47:56 +0200
committerGuido Günther <agx@sigxcpu.org>2020-04-23 10:17:18 +0200
commitcc8b6aa3d937dda055cb25fdbec55d0afb6be2a0 (patch)
tree3420a62dc21d15e8675cb2a765f4c2c5886d36d8 /src/scanner.c
parentdoc/man: remove manually written man pages (diff)
downloadwayland-cc8b6aa3d937dda055cb25fdbec55d0afb6be2a0.tar
wayland-cc8b6aa3d937dda055cb25fdbec55d0afb6be2a0.tar.gz
wayland-cc8b6aa3d937dda055cb25fdbec55d0afb6be2a0.tar.bz2
wayland-cc8b6aa3d937dda055cb25fdbec55d0afb6be2a0.tar.lz
wayland-cc8b6aa3d937dda055cb25fdbec55d0afb6be2a0.tar.xz
wayland-cc8b6aa3d937dda055cb25fdbec55d0afb6be2a0.tar.zst
wayland-cc8b6aa3d937dda055cb25fdbec55d0afb6be2a0.zip
scanner: Guard interface declarations
This allows to include client and server headers in the same file fixing warnings like In file included from ../subprojects/wlroots/include/wlr/types/wlr_layer_shell_v1.h:16, from ../src/desktop.h:16, from ../src/server.h:13, from ../tests/testlib.c:8: tests/59830eb@@footest@sta/wlr-layer-shell-unstable-v1-protocol.h:80:34: warning: redundant redeclaration of ‘zwlr_layer_shell_v1_interface’ [-Wredundant-decls] 80 | extern const struct wl_interface zwlr_layer_shell_v1_interface; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../tests/testlib.h:8, from ../tests/testlib.c:7: tests/59830eb@@footest@sta/wlr-layer-shell-unstable-v1-client-protocol.h:77:34: note: previous declaration of ‘zwlr_layer_shell_v1_interface’ was here 77 | extern const struct wl_interface zwlr_layer_shell_v1_interface; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../subprojects/wlroots/include/wlr/types/wlr_layer_shell_v1.h:16, from ../src/desktop.h:16, from ../src/server.h:13, from ../tests/testlib.c:8: tests/59830eb@@footest@sta/wlr-layer-shell-unstable-v1-protocol.h:106:34: warning: redundant redeclaration of ‘zwlr_layer_surface_v1_interface’ [-Wredundant-decls] 106 | extern const struct wl_interface zwlr_layer_surface_v1_interface; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../tests/testlib.h:8, from ../tests/testlib.c:7: tests/59830eb@@footest@sta/wlr-layer-shell-unstable-v1-client-protocol.h:103:34: note: previous declaration of ‘zwlr_layer_surface_v1_interface’ was here 103 | extern const struct wl_interface zwlr_layer_surface_v1_interface; Signed-off-by: Guido Günther <agx@sigxcpu.org> Closes: #158
Diffstat (limited to 'src/scanner.c')
-rw-r--r--src/scanner.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/scanner.c b/src/scanner.c
index b470c91..36ac905 100644
--- a/src/scanner.c
+++ b/src/scanner.c
@@ -1636,6 +1636,8 @@ emit_header(struct protocol *protocol, enum side side)
printf("\n");
wl_list_for_each(i, &protocol->interface_list, link) {
+ printf("#ifndef %s_INTERFACE\n", i->uppercase_name);
+ printf("#define %s_INTERFACE\n", i->uppercase_name);
printf("/**\n"
" * @page page_iface_%s %s\n",
i->name, i->name);
@@ -1656,6 +1658,7 @@ emit_header(struct protocol *protocol, enum side side)
printf(" */\n");
printf("extern const struct wl_interface "
"%s_interface;\n", i->name);
+ printf("#endif\n");
}
printf("\n");