yuck is a command line option parser for C that works on a minimal set of dependencies - only a C compiler and the m4 macro processor are required. It supports all the standard use cases: GNU-style long options (--option), condensable short options (-xab for -x -a -b), and optional arguments to long and short options (--foo[=BAR]), multiple occurrence of options (-vvv). Most importantly, it does not depend on libc's getopt() nor getopt_long().
|Tags||Software Development command line argument parsing Parser Generator|
|Operating Systems||Linux Unix Mac OS X FreeBSD NetBSD Solaris AIX|
Release Notes: This release allows option descriptions starting with a dash, provided there are at least 8 whitespace characters before them. A workaround was added for older GCC versions that cannot initialize anonymous structs or unions. The output file is now created upon 'yuck scmver' if it does not exist. Special character problems in m4-enriched C code were fixed. Some GNUisms (compiler extensions) were discarded.
Release Notes: This release displays the first line of description behind commands in the command overview, supports custom sections in man pages (like help2man), and provides support for post hooks, custom callbacks after printing the help page, the usage page, or the version page. Preliminary support was provided for parsing options via the setopt directive and for an auto-dashdash feature (needs polishing). OS X build issues were fixed.