On Wed, May 15, 2013 at 09:17:46AM -0400, Luiz Capitulino wrote:
> On Fri, 10 May 2013 17:45:59 -0500
> Michael Roth <mdr...@linux.vnet.ibm.com> wrote:
> 
> > These patches apply on top of qemu.git master, and can also be obtained 
> > from:
> > git://github.com/mdroth/qemu.git qapi-native-lists
> > 
> > Sending this now since a number of series have popped up in the past that
> > wanted this, and Amos has some pending patches (query-mac-tables) that rely
> > on this as well.
> > 
> > These patches add support for specifying lists of native qapi types
> > (int/bool/str/number/int8/uint8/etc) like so:
> > 
> >   { 'type': 'foo',
> >     'data': { 'bar': ['int'] }}
> > 
> > for a 'bar' field that is a list of type 'int',
> > 
> >   { 'type': 'foo2',
> >     'data': { 'bar2': ['str'] }}
> > 
> > for a 'bar2' field that is a list of type 'str', and so on.
> > 
> > This uses linked list types for the native C representations, just as we do
> > for complex schema-defined types. In the future we may add schema 
> > annotations
> > of some sort to specify a more natural/efficient array type for the C
> > representations, but this should serve the majority of uses-cases for now.
> 
> I'm getting a build breakage when building all targets:

Hmm, tested all target builds and didn't/don't see any issues. Is this a
clean build? Can you confirm whether or not int8List/etc are declared in
qapi-types.h in your current build dir?

If they're not in there the file is stale and not being regenerated for some
reason. Which would be weird since qapi-visit.h seems to be getting
regenerated.

If they *are* there might be some kind of race in the QAPI build system,
because I think we rely on qapi-types.h/qapi-visit.h coming from
GENERATED_HEADERS, but otherwise being treated as parallelizable. Really,
qapi-types.h should be a dependancy of all qapi-visit.h users, and I don't
see that reflected in the Makefile unless I'm missing something.

> 
> In file included from 
> /home/lcapitulino/work/src/upstream/qmp-unstable/target-i386/cpu.c:34:0:
> ../qapi-visit.h:30:38: error: unknown type name ‘int8List’
> ../qapi-visit.h:31:39: error: unknown type name ‘int16List’
> ../qapi-visit.h:32:39: error: unknown type name ‘int32List’
> ../qapi-visit.h:33:39: error: unknown type name ‘int64List’
> ../qapi-visit.h:34:39: error: unknown type name ‘uint8List’
> ../qapi-visit.h:35:40: error: unknown type name ‘uint16List’
> ../qapi-visit.h:36:40: error: unknown type name ‘uint32List’
> ../qapi-visit.h:37:40: error: unknown type name ‘uint64List’
> make[1]: *** [target-i386/cpu.o] Error 1
> make: *** [subdir-i386-softmmu] Error 2
> make: *** Waiting for unfinished jobs....
> In file included from 
> /home/lcapitulino/work/src/upstream/qmp-unstable/target-i386/cpu.c:34:0:
> ../qapi-visit.h:30:38: error: unknown type name ‘int8List’
> ../qapi-visit.h:31:39: error: unknown type name ‘int16List’
> ../qapi-visit.h:32:39: error: unknown type name ‘int32List’
> ../qapi-visit.h:33:39: error: unknown type name ‘int64List’
> ../qapi-visit.h:34:39: error: unknown type name ‘uint8List’
> ../qapi-visit.h:35:40: error: unknown type name ‘uint16List’
> ../qapi-visit.h:36:40: error: unknown type name ‘uint32List’
> ../qapi-visit.h:37:40: error: unknown type name ‘uint64List’
> make[1]: *** [target-i386/cpu.o] Error 1
> make: *** [subdir-x86_64-softmmu] Error 2
> 

Reply via email to