[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 20/29] qapi/types qapi/visit: Generate built-
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2 20/29] qapi/types qapi/visit: Generate built-in stuff into separate files |
Date: |
Fri, 23 Feb 2018 18:36:32 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Eric Blake <address@hidden> writes:
> On 02/11/2018 03:35 AM, Markus Armbruster wrote:
>> 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.
>>
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>> @@ -2046,6 +2046,7 @@ class QAPIGenH(QAPIGenC):
>> class QAPIGenDoc(QAPIGen):
>> +
>> def _top(self, fname):
>> return (QAPIGen._top(self, fname)
>> + '@c AUTOMATICALLY GENERATED, DO NOT MODIFY\n\n')
>
> Does this hunk belong in an earlier patch?
Yes: PATCH 05.
> Otherwise,
> Reviewed-by: Eric Blake <address@hidden>
Thanks!
- Re: [Qemu-devel] [PATCH v2 29/29] qapi: Don't create useless directory qapi-generated, (continued)
- [Qemu-devel] [PATCH v2 09/29] qapi-gen: Convert from getopt to argparse, Markus Armbruster, 2018/02/11
- [Qemu-devel] [PATCH v2 20/29] qapi/types qapi/visit: Generate built-in stuff into separate files, Markus Armbruster, 2018/02/11
- [Qemu-devel] [PATCH v2 14/29] qapi: Concentrate QAPISchemaParser.exprs updates in .__init__(), Markus Armbruster, 2018/02/11
- [Qemu-devel] [PATCH v2 02/29] qapi: Streamline boilerplate comment generation, Markus Armbruster, 2018/02/11
- [Qemu-devel] [PATCH v2 11/29] qapi: Improve include file name reporting in error messages, Markus Armbruster, 2018/02/11
- [Qemu-devel] [PATCH v2 05/29] qapi: New classes QAPIGenC, QAPIGenH, QAPIGenDoc, Markus Armbruster, 2018/02/11