summaryrefslogtreecommitdiff
path: root/qemu-options-wrapper.h
diff options
context:
space:
mode:
Diffstat (limited to 'qemu-options-wrapper.h')
-rw-r--r--qemu-options-wrapper.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/qemu-options-wrapper.h b/qemu-options-wrapper.h
index 202f5af9b4..13bfea0294 100644
--- a/qemu-options-wrapper.h
+++ b/qemu-options-wrapper.h
@@ -4,18 +4,26 @@
#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
opt_enum,
#define DEFHEADING(text)
+#define ARCHHEADING(text, arch_mask)
#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"
+#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
+ if ((arch_mask) & arch_type) \
+ fputs(opt_help, stdout);
+
+#define ARCHHEADING(text, arch_mask) \
+ if ((arch_mask) & arch_type) \
+ puts(stringify(text));
+
+#define DEFHEADING(text) ARCHHEADING(text, QEMU_ARCH_ALL)
#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)
+#define ARCHHEADING(text, arch_mask)
#else
#error "qemu-options-wrapper.h included with no option defined"
@@ -25,6 +33,7 @@
#undef DEF
#undef DEFHEADING
+#undef ARCHHEADING
#undef GEN_DOCS
#undef QEMU_OPTIONS_GENERATE_ENUM