unicorn/msvc/unicorn
Markus Armbruster 1fb1d31a1f
qapi/types qapi/visit: Generate built-in stuff into separate files
Linking code from multiple separate QAPI schemata into the same
program is possible, but involves some weirdness around built-in
types:

* We generate code for built-in types into .c only with option
--builtins. The user is responsible for generating code for exactly
one QAPI schema per program with --builtins.

* We generate code for built-in types into .h regardless of
--builtins, but guarded by #ifndef QAPI_VISIT_BUILTIN. Because all
copies of this code are exactly the same, including any combination
of these headers works.

Replace this contraption by something more conventional: generate code
for built-in types into their very own files: qapi-builtin-types.c,
qapi-builtin-visit.c, qapi-builtin-types.h, qapi-builtin-visit.h, but
only with --builtins. Obey --output-dir, but ignore --prefix for
them.

Make qapi-types.h include qapi-builtin-types.h. With multiple
schemata you now have multiple qapi-types.[ch], but only one
qapi-builtin-types.[ch]. Same for qapi-visit.[ch] and
qapi-builtin-visit.[ch].

Bonus: if all you need is built-in stuff, you can include a much
smaller header. To be exploited shortly.

Backports commit cdb6610ae4283720037bae2af1f78bd40eb5fe71 from qemu
2018-03-09 09:25:59 -05:00
..
aarch64-softmmu target/arm: Decode aa64 armv8.1 scalar three same extra 2018-03-09 00:02:23 -05:00
aarch64eb-softmmu target/arm: Decode aa64 armv8.1 scalar three same extra 2018-03-09 00:02:23 -05:00
arm-softmmu target/arm: Decode aa64 armv8.1 scalar three same extra 2018-03-09 00:02:23 -05:00
armeb-softmmu target/arm: Decode aa64 armv8.1 scalar three same extra 2018-03-09 00:02:23 -05:00
m68k-softmmu target/m68k: add fmod/frem 2018-03-09 01:28:58 -05:00
mips-softmmu tcg: Add generic vector expanders 2018-03-06 13:42:52 -05:00
mips64-softmmu tcg: Add generic vector expanders 2018-03-06 13:42:52 -05:00
mips64el-softmmu tcg: Add generic vector expanders 2018-03-06 13:42:52 -05:00
mipsel-softmmu tcg: Add generic vector expanders 2018-03-06 13:42:52 -05:00
sparc-softmmu tcg: Add generic vector expanders 2018-03-06 13:42:52 -05:00
sparc64-softmmu tcg: Add generic vector expanders 2018-03-06 13:42:52 -05:00
unicorn qapi/types qapi/visit: Generate built-in stuff into separate files 2018-03-09 09:25:59 -05:00
unicorn_static qapi/types qapi/visit: Generate built-in stuff into separate files 2018-03-09 09:25:59 -05:00
x86_64-softmmu tcg: Add generic vector expanders 2018-03-06 13:42:52 -05:00
config-host.h Added armbe support to MSVC branch. (#801) 2017-04-21 15:26:21 +08:00
prebuild_script.bat Added MSVC support for arm64eb. 2017-04-25 14:23:58 +10:00
qapi-builtin-types.c qapi/types qapi/visit: Generate built-in stuff into separate files 2018-03-09 09:25:59 -05:00
qapi-builtin-types.h qapi/types qapi/visit: Generate built-in stuff into separate files 2018-03-09 09:25:59 -05:00
qapi-builtin-visit.c qapi/types qapi/visit: Generate built-in stuff into separate files 2018-03-09 09:25:59 -05:00
qapi-builtin-visit.h qapi/types qapi/visit: Generate built-in stuff into separate files 2018-03-09 09:25:59 -05:00
qapi-types.c qapi/types qapi/visit: Generate built-in stuff into separate files 2018-03-09 09:25:59 -05:00
qapi-types.h qapi/types qapi/visit: Generate built-in stuff into separate files 2018-03-09 09:25:59 -05:00
qapi-visit.c qapi/types qapi/visit: Generate built-in stuff into separate files 2018-03-09 09:25:59 -05:00
qapi-visit.h qapi/types qapi/visit: Generate built-in stuff into separate files 2018-03-09 09:25:59 -05:00