qapi: Turn generators into modules
The next commit will introduce a common driver program for all
generators. The generators need to be modules for that. qapi2texi.py
already is. Make the other generators follow suit.
The changes are actually trivial. Obvious in the diffs once you view
them with whitespace changes ignored.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20180211093607.27351-8-armbru@redhat.com>
Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
[eblake: minor tweak to keep 'blurb' one line]
Signed-off-by: Eric Blake <eblake@redhat.com>
diff --git a/scripts/qapi-commands.py b/scripts/qapi-commands.py
index e75e32e..c20b220 100644
--- a/scripts/qapi-commands.py
+++ b/scripts/qapi-commands.py
@@ -255,14 +255,15 @@
self._regy += gen_register_command(name, success_response)
-(input_file, output_dir, do_c, do_h, prefix, opts) = parse_command_line()
+def main(argv):
+ (input_file, output_dir, do_c, do_h, prefix, opts) = parse_command_line()
-blurb = ' * Schema-defined QAPI/QMP commands'
+ blurb = ' * Schema-defined QAPI/QMP commands'
-genc = QAPIGenC(blurb, __doc__)
-genh = QAPIGenH(blurb, __doc__)
+ genc = QAPIGenC(blurb, __doc__)
+ genh = QAPIGenH(blurb, __doc__)
-genc.add(mcgen('''
+ genc.add(mcgen('''
#include "qemu/osdep.h"
#include "qemu-common.h"
#include "qemu/module.h"
@@ -277,23 +278,27 @@
#include "%(prefix)sqmp-commands.h"
''',
- prefix=prefix))
+ prefix=prefix))
-genh.add(mcgen('''
+ genh.add(mcgen('''
#include "%(prefix)sqapi-types.h"
#include "qapi/qmp/dispatch.h"
void %(c_prefix)sqmp_init_marshal(QmpCommandList *cmds);
''',
- prefix=prefix, c_prefix=c_name(prefix, protect=False)))
+ prefix=prefix, c_prefix=c_name(prefix, protect=False)))
-schema = QAPISchema(input_file)
-vis = QAPISchemaGenCommandVisitor(prefix)
-schema.visit(vis)
-genc.add(vis.defn)
-genh.add(vis.decl)
+ schema = QAPISchema(input_file)
+ vis = QAPISchemaGenCommandVisitor(prefix)
+ schema.visit(vis)
+ genc.add(vis.defn)
+ genh.add(vis.decl)
-if do_c:
- genc.write(output_dir, prefix + 'qmp-marshal.c')
-if do_h:
- genh.write(output_dir, prefix + 'qmp-commands.h')
+ if do_c:
+ genc.write(output_dir, prefix + 'qmp-marshal.c')
+ if do_h:
+ genh.write(output_dir, prefix + 'qmp-commands.h')
+
+
+if __name__ == '__main__':
+ main(sys.argv)