doc/options.doc update
This commit is contained in:
+24
-4
@@ -3,11 +3,31 @@ February 2020 in 3.7 WIP.
|
|||||||
|
|
||||||
Boolean and compound options are combined into a single allopt[] array.
|
Boolean and compound options are combined into a single allopt[] array.
|
||||||
|
|
||||||
To add an option:
|
To add an entirely new option macro type:
|
||||||
|
|
||||||
|
The current list of option macros:
|
||||||
|
NHOPTB (for boolean options)
|
||||||
|
NHOPTC (for complex options that take values beyond off/on)
|
||||||
|
NHOPTP (for handling a suite that all begin with a common prefix)
|
||||||
|
|
||||||
|
1. You need to add three different expansions of your macro, one for
|
||||||
|
the NHOPT_PROTO phase where function prototypes are generated,
|
||||||
|
one for the NHOPT_ENUM phase where enums are generated, and
|
||||||
|
NHOPT_PARSE phase.
|
||||||
|
|
||||||
|
2. If you are adding a new macro type to the current list of NHOPTB,
|
||||||
|
NHOPTC, or NHOPTP, don't forget to add the #undef near the bottom
|
||||||
|
of optlist.h, so that the macro is available for re-use during the
|
||||||
|
next usage phase.
|
||||||
|
|
||||||
|
To add an option:
|
||||||
|
|
||||||
|
1. Add an entry to include/optlist.h, using the NHOPTB macro for a
|
||||||
|
boolean on/off option, or NHOPTC macro for a compound option,
|
||||||
|
or NHOPTP macro if it handles an entire prefix.
|
||||||
|
|
||||||
|
The list of options is always kept in optlist.h in alphabetical order.
|
||||||
|
|
||||||
1. Add an entry to include/optlist.h, using the NHOPTB macro for a
|
|
||||||
boolean on/off option, or NHOPTC macro for a compound option. The
|
|
||||||
list of options is kept in alphabetical order.
|
|
||||||
When the list of options is processed during the compile of options.c,
|
When the list of options is processed during the compile of options.c,
|
||||||
the following will be automatically generated and included in
|
the following will be automatically generated and included in
|
||||||
options.c:
|
options.c:
|
||||||
|
|||||||
Reference in New Issue
Block a user