From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:58851) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RcjgI-0007r4-IU for qemu-devel@nongnu.org; Mon, 19 Dec 2011 15:19:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RcjgH-0008JR-Cd for qemu-devel@nongnu.org; Mon, 19 Dec 2011 15:19:30 -0500 Received: from mail-iy0-f173.google.com ([209.85.210.173]:36078) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RcjgH-0008JF-9P for qemu-devel@nongnu.org; Mon, 19 Dec 2011 15:19:29 -0500 Received: by iagj37 with SMTP id j37so10217002iag.4 for ; Mon, 19 Dec 2011 12:19:29 -0800 (PST) Message-ID: <4EEF9C4D.8080003@codemonkey.ws> Date: Mon, 19 Dec 2011 14:19:25 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <4eeed796.c7cde00a.740c.740aSMTPIN_ADDED@mx.google.com> In-Reply-To: <4eeed796.c7cde00a.740c.740aSMTPIN_ADDED@mx.google.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/3] vl.c: Move option generation logic into a wrapper file List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Ellerman Cc: qemu-devel@nongnu.org On 12/19/2011 12:19 AM, y@ozlabs.org wrote: > 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 Applied all. Thanks. Regards, Anthony Liguori > --- > 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)