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().
Homepage
Download
Recent Releases
0.2.524 Jun 2019 07:38
minor bugfix:
Bugfixes:
- check options with mandatory arguments for their arguments
- properly heed the --with-included-yuck switch
Features:
- allow to preserve indentation and newlines from .yuck file
- split auto actions into --no-auto-help and --no-auto-version
0.2.421 Nov 2016 09:05
minor bugfix:
Bugfixes:
- obtain executable path on MacOS, BSDs and Sun correctly
- properly handle writing to both stdout and a header file (bug #10)
- check if arguments are passed to flag options (bug #9)
0.2.320 May 2016 06:21
minor bugfix:
Bugfixes:
- obtain executable path on MacOS, BSDs and Sun correctly
0.2.215 Mar 2016 06:30
minor bugfix:
Bugfixes:
- suppress warnings about shadowed variables in user code
- support MacOS X
0.2.110 Sep 2015 09:51
minor feature:
Bugfixes:
- break once from cases in yuck_free()
- warn about cross-compiling issues
- better support for out-of-tree builds
0.2.002 Feb 2015 13:05
minor feature:
Features:
- pkg config dependency has been removed
- yuck scmver can now read references from stdin
- generate failproof parser code for when *alloc() runs into ENOMEM
Bugfixes:
- build yuck with version information
- git hashes starting with hex digit b are not recognised as bzr
- tcc compiler is not chosen automatically
0.1.907 Oct 2014 14:22
minor bugfix:
Support compilers that can't cope with the 0bXXX prefix.
Build warning-free man pages upon yuck genman.
0.1.826 Aug 2014 07:31
minor feature:
Read version numbers like the ones printed by `yuck scmver`.
Support custom allocators through `yuck gen --custom=FILE`.