qapi: skip redundant includes
commit24fd848950b44de7e2d71fb69ba52b90d6acb220
authorBenoît Canet <benoit.canet@irqsave.net>
Fri, 16 May 2014 10:51:56 +0000 (16 12:51 +0200)
committerLuiz Capitulino <lcapitulino@redhat.com>
Fri, 16 May 2014 14:35:59 +0000 (16 10:35 -0400)
tree38e6e587a193ef360c1132e6531fc21c2069fca7
parent11b389f21e4531c23fb8a8474bc8fc7ac2e136a5
qapi: skip redundant includes

The purpose of this change is to help create a json file containing
common definitions; each bit of generated C code must be emitted
only one time.

A second history global to all QAPISchema instances has been added
to detect when a file is included more than one time and skip these
includes.
It does not act as a stack and the changes made to it by the
__init__ function are propagated back to the caller so it's really
a global state.

Signed-off-by: Benoit Canet <benoit@irqsave.net>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
docs/qapi-code-gen.txt
scripts/qapi.py
tests/Makefile
tests/qapi-schema/include-repetition-sub.json [new file with mode: 0644]
tests/qapi-schema/include-repetition.err [new file with mode: 0644]
tests/qapi-schema/include-repetition.exit [new file with mode: 0644]
tests/qapi-schema/include-repetition.json [new file with mode: 0644]
tests/qapi-schema/include-repetition.out [new file with mode: 0644]