diff options
| author | Guido Günther <agx@sigxcpu.org> | 2020-04-21 12:47:56 +0200 |
|---|---|---|
| committer | Guido Günther <agx@sigxcpu.org> | 2020-04-23 10:17:18 +0200 |
| commit | cc8b6aa3d937dda055cb25fdbec55d0afb6be2a0 (patch) | |
| tree | 3420a62dc21d15e8675cb2a765f4c2c5886d36d8 /src/scanner.c | |
| parent | doc/man: remove manually written man pages (diff) | |
| download | wayland-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.c | 3 |
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"); |
