Commit 77bd1119 authored by Michael Ellerman's avatar Michael Ellerman Committed by Anthony Liguori
Browse files

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: default avatarMichael Ellerman <michael@ellerman.id.au>
Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
parent f76d27b6
Loading
Loading
Loading
Loading

qemu-options-wrapper.h

0 → 100644
+32 −0
Original line number Diff line number Diff line

#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
+2 −7
Original line number Diff line number Diff line
@@ -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
+4 −14
Original line number Diff line number Diff line
@@ -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)