vl.c: Move option generation logic into a wrapper file
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 <michael@ellerman.id.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
f76d27b67c
commit
77bd1119ba
32
qemu-options-wrapper.h
Normal file
32
qemu-options-wrapper.h
Normal file
@ -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
|
@ -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
|
||||
|
18
vl.c
18
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)
|
||||
|
Loading…
Reference in New Issue
Block a user