diff options
| author | Markus Armbruster <armbru@redhat.com> | 2018-02-26 13:48:58 -0600 |
|---|---|---|
| committer | Eric Blake <eblake@redhat.com> | 2018-03-02 13:14:09 -0600 |
| commit | fb0bc835e56b894cbc7236294921e5393c786ad8 (patch) | |
| tree | c96c6626054c20084fc9fe268fab187c0bed20bf /scripts/qapi/common.py | |
| parent | 26df4e7fab06422b21e11d039c64243ca4003147 (diff) | |
| download | focaccia-qemu-fb0bc835e56b894cbc7236294921e5393c786ad8.tar.gz focaccia-qemu-fb0bc835e56b894cbc7236294921e5393c786ad8.zip | |
qapi-gen: New common driver for code and doc generators
Whenever qapi-schema.json changes, we run six programs eleven times to update eleven files. Similar for qga/qapi-schema.json. This is silly. Replace the six programs by a single program that spits out all eleven files. The programs become modules in new Python package qapi, along with the helper library. This requires moving them to scripts/qapi/. While moving them, consistently drop executable mode bits. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20180211093607.27351-9-armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com> [eblake: move change to one-line 'blurb' earlier in series, mention mode bit change as intentional, update qapi-code-gen.txt to match actual generated events.c file] Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to '')
| -rw-r--r-- | scripts/qapi/common.py (renamed from scripts/qapi.py) | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/scripts/qapi.py b/scripts/qapi/common.py index f12cdddce6..3bc31a03ce 100644 --- a/scripts/qapi.py +++ b/scripts/qapi/common.py @@ -1932,17 +1932,15 @@ def parse_command_line(extra_options='', extra_long_options=[]): try: opts, args = getopt.gnu_getopt(sys.argv[1:], - 'chp:o:' + extra_options, - ['source', 'header', 'prefix=', - 'output-dir='] + extra_long_options) + 'p:o:' + extra_options, + ['prefix=', 'output-dir='] + + extra_long_options) except getopt.GetoptError as err: print("%s: %s" % (sys.argv[0], str(err)), file=sys.stderr) sys.exit(1) output_dir = '' prefix = '' - do_c = False - do_h = False extra_opts = [] for oa in opts: @@ -1956,23 +1954,15 @@ def parse_command_line(extra_options='', extra_long_options=[]): prefix = a elif o in ('-o', '--output-dir'): output_dir = a + '/' - elif o in ('-c', '--source'): - do_c = True - elif o in ('-h', '--header'): - do_h = True else: extra_opts.append(oa) - if not do_c and not do_h: - do_c = True - do_h = True - if len(args) != 1: print("%s: need exactly one argument" % sys.argv[0], file=sys.stderr) sys.exit(1) fname = args[0] - return (fname, output_dir, do_c, do_h, prefix, extra_opts) + return (fname, output_dir, prefix, extra_opts) # |