On Mon, May 02, 2016 at 12:27:50PM +0200, Armin Krezović wrote: > This adds a command line argument to print wayland-scanner version. > > It also makes wayland-scanner emit a comment with wayland library > version to every file it generates. > > Signed-off-by: Armin Krezović <krezovic.ar...@gmail.com>
One formatting nit below, but otherwise LGTM so with that thing fixed: Reviewed-by: Bryce Harrington <br...@osg.samsung.com> > --- > src/scanner.c | 26 ++++++++++++++++++++++++-- > 1 file changed, 24 insertions(+), 2 deletions(-) > > diff --git a/src/scanner.c b/src/scanner.c > index 52c07a6..93c4204 100644 > --- a/src/scanner.c > +++ b/src/scanner.c > @@ -26,6 +26,7 @@ > */ > > #include "config.h" > +#include "wayland-version.h" > > #include <stdbool.h> > #include <stdio.h> > @@ -64,12 +65,21 @@ usage(int ret) > "headers, server headers, or protocol marshalling > code.\n\n"); > fprintf(stderr, "options:\n"); > fprintf(stderr, " -h, --help display this help and > exit.\n" > + " -v, --version print the wayland > library version that\n" > + " the scanner was built > against.\n" > " -c, --include-core-only include the core > version of the headers,\n" > " that is e.g. > wayland-client-core.h instead\n" > " of > wayland-client.h.\n"); > exit(ret); > } > > +static int > +scanner_version(int ret) > +{ > + fprintf(stderr, "wayland-scanner %s\n", WAYLAND_VERSION); > + exit(ret); > +} > + > static bool > is_dtd_valid(FILE *input, const char *filename) > { > @@ -1420,6 +1430,8 @@ emit_header(struct protocol *protocol, enum side side) > const char *s = (side == SERVER) ? "SERVER" : "CLIENT"; > char **p, *prev; > > + printf("/* Generated by wayland-scanner %s */\n\n", WAYLAND_VERSION); > + > printf("#ifndef %s_%s_PROTOCOL_H\n" > "#define %s_%s_PROTOCOL_H\n" > "\n" > @@ -1621,6 +1633,8 @@ emit_code(struct protocol *protocol) > struct wl_array types; > char **p, *prev; > > + printf("/* Generated by wayland-scanner %s */\n\n", WAYLAND_VERSION); > + > if (protocol->copyright) > format_text_to_comment(protocol->copyright, true); > > @@ -1698,7 +1712,7 @@ int main(int argc, char *argv[]) > char *input_filename = NULL; > int len; > void *buf; > - bool help = false, core_headers = false; > + bool help = false, core_headers = false, version = false; > bool fail = false; Separate lines for each declaration please. :-) > int opt; > enum { > @@ -1710,11 +1724,12 @@ int main(int argc, char *argv[]) > static const struct option options[] = { > { "help", no_argument, NULL, 'h' }, > { "include-core-only", no_argument, NULL, 'c' }, > + { "version", no_argument, NULL, 'v' }, > { 0, 0, NULL, 0 } > }; > > while (1) { > - opt = getopt_long(argc, argv, "hc", options, NULL); > + opt = getopt_long(argc, argv, "hvc", options, NULL); > > if (opt == -1) > break; > @@ -1723,6 +1738,9 @@ int main(int argc, char *argv[]) > case 'h': > help = true; > break; > + case 'v': > + version = true; > + break; > case 'c': > core_headers = true; > break; > @@ -1737,10 +1755,14 @@ int main(int argc, char *argv[]) > > if (help) > usage(EXIT_SUCCESS); > + else if (version) > + scanner_version(EXIT_SUCCESS); > else if ((argc != 1 && argc != 3) || fail) > usage(EXIT_FAILURE); > else if (strcmp(argv[0], "help") == 0) > usage(EXIT_SUCCESS); > + else if (strcmp(argv[0], "version") == 0) > + scanner_version(EXIT_SUCCESS); > else if (strcmp(argv[0], "client-header") == 0) > mode = CLIENT_HEADER; > else if (strcmp(argv[0], "server-header") == 0) > -- > 2.8.2 > > _______________________________________________ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel