qemu-e2k/scripts/qapi-gen.py

42 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python
# QAPI generator
#
# This work is licensed under the terms of the GNU GPL, version 2 or later.
# See the COPYING file in the top-level directory.
import sys
from qapi.common import parse_command_line, QAPISchema
from qapi.types import gen_types
from qapi.visit import gen_visit
from qapi.commands import gen_commands
from qapi.events import gen_events
from qapi.introspect import gen_introspect
from qapi.doc import gen_doc
def main(argv):
(input_file, output_dir, prefix, opts) = \
parse_command_line('bu', ['builtins', 'unmask-non-abi-names'])
opt_builtins = False
opt_unmask = False
for o, a in opts:
if o in ('-b', '--builtins'):
opt_builtins = True
if o in ('-u', '--unmask-non-abi-names'):
opt_unmask = True
schema = QAPISchema(input_file)
gen_types(schema, output_dir, prefix, opt_builtins)
gen_visit(schema, output_dir, prefix, opt_builtins)
gen_commands(schema, output_dir, prefix)
gen_events(schema, output_dir, prefix)
gen_introspect(schema, output_dir, prefix, opt_unmask)
gen_doc(schema, output_dir, prefix)
if __name__ == '__main__':
main(sys.argv)