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 >