[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
AutoOpts has developed a set of standardized options.
You may incorporate these options in your program simply by first
adding a #define
for the options you want, and then the line,
#include stdoptions.def |
in your option definitions. The supported options are specified thus:
#define DEBUG #define DIRECTORY #define DRY_RUN #define INPUT #define INTERACTIVE #define OUTPUT #define WARN #define SILENT #define QUIET #define BRIEF #define VERBOSE |
By default, only the long form of the option will be available.
To specify the short (flag) form, suffix these names with _FLAG
.
e.g.,
#define DEBUG_FLAG |
--silent
, --quiet
, --brief
and --verbose
are
related in that they all indicate some level of diagnostic output.
These options are all designed to conflict with each other.
Instead of four different options, however, several levels can be
incorporated by #define
-ing VERBOSE_ENUM
. In conjunction
with VERBOSE
, it incorporates the notion of 5 levels in an
enumeration: silent
, quiet
, brief
,
informative
and verbose
; with the default being
brief
.
Here is an example program that uses the following set of definitions:
AutoGen Definitions options; prog-name = default-test; prog-title = 'Default Option Example'; homerc = '$$/../share/default-test', '$HOME', '.'; environrc; test-main = yes; long-opts; gnu-usage; version = '1.0'; #define DEBUG_FLAG #define WARN_FLAG #define WARN_LEVEL #define VERBOSE_FLAG #define VERBOSE_ENUM #define DRY_RUN_FLAG #define OUTPUT_FLAG #define INPUT_FLAG #define DIRECTORY_FLAG #define INTERACTIVE_FLAG #include stdoptions.def |
Running a few simple commands on that definition file:
autogen default-test.def copts="-DTEST_DEFAULT_TEST_OPTS -I${prefix}/include" lopts="-L${prefix}/lib -lopts -lm" cc -o default-test ${copts} default-test.c ${lopts} |
Yields a program which, when run with `--help', prints out: