[PATCH wayland v2] scanner: Add version argument to wayland-scanner
Bryce Harrington
bryce at osg.samsung.com
Fri May 6 00:06:43 UTC 2016
On Thu, May 05, 2016 at 06:34:54PM -0500, Yong Bakos wrote:
> On May 5, 2016, at 10:27 AM, Armin Krezović <krezovic.armin at gmail.com> 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.
> >
> > v2: separate variable definitions into their own lines and remove
> > old style "version" argument
> >
> > Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
> > Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
> > Tested-by: Yong Bakos <ybakos at humanoriented.com>
> > Signed-off-by: Armin Krezović <krezovic.armin at gmail.com>
>
> Hi Armin,
> Looks good to me, and I also re-tested.
> (Just a thought: should this be two separate patches, since we're
> adding both the version arg _and_ adding a version comment in the
> generated files? I know that it's "just a comment" so it's trivial,
> and I'm not suggesting that it be broken apart.)
I don't think it matters, the patch is straightforward enough as is;
I think it's fine to land now.
Bryce
> yong
>
>
> > ---
> > src/scanner.c | 26 ++++++++++++++++++++++++--
> > 1 file changed, 24 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/scanner.c b/src/scanner.c
> > index 1317a06..037ebdb 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)
> > {
> > @@ -1457,6 +1467,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"
> > @@ -1658,6 +1670,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);
> >
> > @@ -1735,7 +1749,9 @@ int main(int argc, char *argv[])
> > char *input_filename = NULL;
> > int len;
> > void *buf;
> > - bool help = false, core_headers = false;
> > + bool help = false;
> > + bool core_headers = false;
> > + bool version = false;
> > bool fail = false;
> > int opt;
> > enum {
> > @@ -1746,12 +1762,13 @@ int main(int argc, char *argv[])
> >
> > static const struct option options[] = {
> > { "help", no_argument, NULL, 'h' },
> > + { "version", no_argument, NULL, 'v' },
> > { "include-core-only", no_argument, NULL, 'c' },
> > { 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;
> > @@ -1760,6 +1777,9 @@ int main(int argc, char *argv[])
> > case 'h':
> > help = true;
> > break;
> > + case 'v':
> > + version = true;
> > + break;
> > case 'c':
> > core_headers = true;
> > break;
> > @@ -1774,6 +1794,8 @@ 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)
> > --
> > 2.8.2
> >
> > _______________________________________________
> > wayland-devel mailing list
> > wayland-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list