From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:52239) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFpY1-0003i7-7L for qemu-devel@nongnu.org; Fri, 29 Apr 2011 11:24:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QFpY0-0006Ui-D7 for qemu-devel@nongnu.org; Fri, 29 Apr 2011 11:24:01 -0400 Received: from mout.perfora.net ([74.208.4.194]:55253) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFpY0-0006Ud-0e for qemu-devel@nongnu.org; Fri, 29 Apr 2011 11:24:00 -0400 From: Michael Roth Date: Fri, 29 Apr 2011 10:21:59 -0500 Message-Id: <1304090522-5861-7-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1304090522-5861-1-git-send-email-mdroth@linux.vnet.ibm.com> References: <1304090522-5861-1-git-send-email-mdroth@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 6/9] qapi: add --prefix option for visiter generator List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@linux.vnet.ibm.com, agl@linux.vnet.ibm.com, mdroth@linux.vnet.ibm.com Generated code assumes the required types header was generated using the same prefix. Signed-off-by: Michael Roth --- scripts/qapi-visit.py | 41 ++++++++++++++++++++++++++++++++--------- 1 files changed, 32 insertions(+), 9 deletions(-) diff --git a/scripts/qapi-visit.py b/scripts/qapi-visit.py index bf005c6..ee6b031 100644 --- a/scripts/qapi-visit.py +++ b/scripts/qapi-visit.py @@ -1,6 +1,7 @@ from ordereddict import OrderedDict from qapi import * import sys +import getopt def generate_visit_struct_body(field_prefix, members): ret = "" @@ -135,21 +136,43 @@ void visit_type_%(name)s(Visiter *m, %(name)s * obj, const char *name, Error **e ''', name=name) -fdef = open('qapi-visit.c', 'w') -fdecl = open('qapi-visit.h', 'w') +try: + opts, args = getopt.gnu_getopt(sys.argv[1:], "p:", ["prefix="]) +except getopt.GetoptError, err: + print str(err) + sys.exit(1) -fdef.write('''/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT MODIFY */ +prefix = "" +c_file = 'qapi-visit.c' +h_file = 'qapi-visit.h' -#include "qapi-visit.h" -''') +for o, a in opts: + if o in ("-p", "--prefix"): + prefix = a + +c_file = prefix + c_file +h_file = prefix + h_file + +fdef = open(c_file, 'w') +fdecl = open(h_file, 'w') + +fdef.write(mcgen(''' +/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT MODIFY */ -fdecl.write('''/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT MODIFY */ +#include "%(header)s" +''', + header=basename(h_file))) + +fdecl.write(mcgen(''' +/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT MODIFY */ -#ifndef QAPI_VISIT_H -#define QAPI_VISIT_H +#ifndef %(guard)s +#define %(guard)s #include "qapi-visit-core.h" -''') +#include "%(prefix)sqapi-types.h" +''', + prefix=prefix, guard=guardname(h_file))) exprs = parse_schema(sys.stdin) -- 1.7.0.4