From patchwork Mon Dec 19 06:19:30 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: y@ozlabs.org X-Patchwork-Id: 132162 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [140.186.70.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id B3987B6FF2 for ; Mon, 19 Dec 2011 17:19:52 +1100 (EST) Received: from localhost ([::1]:49098 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RcWZg-0004Hg-Cn for incoming@patchwork.ozlabs.org; Mon, 19 Dec 2011 01:19:48 -0500 Received: from eggs.gnu.org ([140.186.70.92]:46804) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RcWZZ-0004HG-90 for qemu-devel@nongnu.org; Mon, 19 Dec 2011 01:19:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RcWZX-00007x-SR for qemu-devel@nongnu.org; Mon, 19 Dec 2011 01:19:41 -0500 Received: from ozlabs.org ([203.10.76.45]:46024) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RcWZX-00007Z-GK for qemu-devel@nongnu.org; Mon, 19 Dec 2011 01:19:39 -0500 Received: by ozlabs.org (Postfix, from userid 1034) id D26E5B7043; Mon, 19 Dec 2011 17:19:35 +1100 (EST) From: y@ozlabs.org To: qemu-devel@nongnu.org Date: Mon, 19 Dec 2011 17:19:30 +1100 Message-Id: <1324275572-17752-1-git-send-email-y> X-Mailer: git-send-email 1.7.7.3 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 203.10.76.45 Subject: [Qemu-devel] [PATCH 1/3] vl.c: Move option generation logic into a wrapper file X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Michael Ellerman In vl.c and qemu-options.h we define macros and include qemu-options.def in order to generate different content. Move the bulk of the def'ing and undef'ing into a wrapper, this will make it cleaner when we add another macro in the next patch. AFAICS undefining GEN_DOCS services no purpose, but I've left it for now. Signed-off-by: Michael Ellerman --- qemu-options-wrapper.h | 32 ++++++++++++++++++++++++++++++++ qemu-options.h | 9 ++------- vl.c | 18 ++++-------------- 3 files changed, 38 insertions(+), 21 deletions(-) create mode 100644 qemu-options-wrapper.h diff --git a/qemu-options-wrapper.h b/qemu-options-wrapper.h new file mode 100644 index 0000000..202f5af --- /dev/null +++ b/qemu-options-wrapper.h @@ -0,0 +1,32 @@ + +#if defined(QEMU_OPTIONS_GENERATE_ENUM) + +#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \ + opt_enum, +#define DEFHEADING(text) + +#elif defined(QEMU_OPTIONS_GENERATE_HELP) + +#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \ + opt_help +#define DEFHEADING(text) stringify(text) "\n" + +#elif defined(QEMU_OPTIONS_GENERATE_OPTIONS) + +#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \ + { option, opt_arg, opt_enum, arch_mask }, +#define DEFHEADING(text) + +#else +#error "qemu-options-wrapper.h included with no option defined" +#endif + +#include "qemu-options.def" + +#undef DEF +#undef DEFHEADING +#undef GEN_DOCS + +#undef QEMU_OPTIONS_GENERATE_ENUM +#undef QEMU_OPTIONS_GENERATE_HELP +#undef QEMU_OPTIONS_GENERATE_OPTIONS diff --git a/qemu-options.h b/qemu-options.h index c96f994..89a009e 100644 --- a/qemu-options.h +++ b/qemu-options.h @@ -29,13 +29,8 @@ #define _QEMU_OPTIONS_H_ enum { -#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \ - opt_enum, -#define DEFHEADING(text) -#include "qemu-options.def" -#undef DEF -#undef DEFHEADING -#undef GEN_DOCS +#define QEMU_OPTIONS_GENERATE_ENUM +#include "qemu-options-wrapper.h" }; #endif diff --git a/vl.c b/vl.c index d51ac2e..25ec37b 100644 --- a/vl.c +++ b/vl.c @@ -1493,13 +1493,8 @@ static void version(void) static void help(int exitcode) { const char *options_help = -#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \ - opt_help -#define DEFHEADING(text) stringify(text) "\n" -#include "qemu-options.def" -#undef DEF -#undef DEFHEADING -#undef GEN_DOCS +#define QEMU_OPTIONS_GENERATE_HELP +#include "qemu-options-wrapper.h" ; version(); printf("usage: %s [options] [disk_image]\n" @@ -1529,13 +1524,8 @@ typedef struct QEMUOption { static const QEMUOption qemu_options[] = { { "h", 0, QEMU_OPTION_h, QEMU_ARCH_ALL }, -#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \ - { option, opt_arg, opt_enum, arch_mask }, -#define DEFHEADING(text) -#include "qemu-options.def" -#undef DEF -#undef DEFHEADING -#undef GEN_DOCS +#define QEMU_OPTIONS_GENERATE_OPTIONS +#include "qemu-options-wrapper.h" { NULL }, }; static void select_vgahw (const char *p)