An original implementation of getopt and getopt_long with limited GNU extensions. Provided under the BSD license, to allow non-GPL projects to use getopt-style command-line parsing.
So far only built with Visual C++, but has no inherently non-portable constructs.
Intended to be embedded into your code tree -- getopt.h and getopt.c are self-contained and should work in any context.
Comes with a reasonable unit test suite.
See also:
- Full Win32 getopt port -- LGPL licensed.
 - XGetOpt -- No 
getopt_longsupport. - Free Getopt -- No 
getopt_longsupport. 
For license terms, see LICENSE.txt.