]> Git Repo - qemu.git/blame - scripts/qapi-gen.py
qapi-gen: New common driver for code and doc generators
[qemu.git] / scripts / qapi-gen.py
CommitLineData
fb0bc835
MA
1#!/usr/bin/env python
2# QAPI generator
3#
4# This work is licensed under the terms of the GNU GPL, version 2 or later.
5# See the COPYING file in the top-level directory.
6
7import sys
8from qapi.common import parse_command_line, QAPISchema
9from qapi.types import gen_types
10from qapi.visit import gen_visit
11from qapi.commands import gen_commands
12from qapi.events import gen_events
13from qapi.introspect import gen_introspect
14from qapi.doc import gen_doc
15
16
17def main(argv):
18 (input_file, output_dir, prefix, opts) = \
19 parse_command_line('bu', ['builtins', 'unmask-non-abi-names'])
20
21 opt_builtins = False
22 opt_unmask = False
23
24 for o, a in opts:
25 if o in ('-b', '--builtins'):
26 opt_builtins = True
27 if o in ('-u', '--unmask-non-abi-names'):
28 opt_unmask = True
29
30 schema = QAPISchema(input_file)
31
32 gen_types(schema, output_dir, prefix, opt_builtins)
33 gen_visit(schema, output_dir, prefix, opt_builtins)
34 gen_commands(schema, output_dir, prefix)
35 gen_events(schema, output_dir, prefix)
36 gen_introspect(schema, output_dir, prefix, opt_unmask)
37 gen_doc(schema, output_dir, prefix)
38
39
40if __name__ == '__main__':
41 main(sys.argv)
This page took 0.02242 seconds and 4 git commands to generate.