Projects / yuck


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().

Operating Systems

Recent releases

  •  20 May 2014 05:24

    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.

    •  04 Mar 2014 10:11

      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.


      Project Spotlight


      A Fluent OpenStack client API for Java.


      Project Spotlight

      TurnKey TWiki Appliance

      A TWiki appliance that is easy to use and lightweight.