GENGETOPT(1) gengetopt 2.23 GENGETOPT(1)
User Commands User Commands
June 2019
NAME
gengetopt - manual page for gengetopt 2.23
SYNOPSIS
gengetopt [,OPTION/]...
DESCRIPTION
This program generates a C function that uses getopt_long function to
parse the command line options, validate them and fill a struct.
-h, --help
Print help and exit
--detailed-help
Print help, including all details and hidden options, and exit
--full-help
Print help, including hidden options, and exit
-V, --version
Print version and exit
Main options:
-i, --input=,filename/
input file (default std input)
-f, --func-name=,name/
name of generated function (default=`cmdline_parser')
-a, --arg-struct-name=,name/
name of generated args info struct
(default=`gengetopt_args_info')
-F, --file-name=,name/
name of generated file (default=`cmdline')
--output-dir=,path/
output directory
if this option is not specified, the files are generated in the
current directory.
--header-output-dir=,path/
header output directory
--src-output-dir=,path/
source output directory
- 1 - Formatted: November 1, 2025
GENGETOPT(1) gengetopt 2.23 GENGETOPT(1)
User Commands User Commands
June 2019
-c, --c-extension=,ext/
extension of c file (default=`c')
-H, --header-extension=,ext/
extension of header file (default=`h')
-l, --long-help
long usage line in help
The usage line will print all the options, e.g.,
sample1 -iINT|--int-opt=INT [-h|--help]
--default-optional
by default, an option is considered optional if not specified
otherwise
-u, --unnamed-opts[=,STRING/]
accept options without names (e.g., file names) (default=`FILE')
--unamed-opts[=,STRING/]
synonym for --unnamed-opts, accepted for backwards compatibility
(default=`FILE')
The parser generated is thought to be used to parse the command line
arguments. However, you can also generate parsers for configuration
files, or strings that contain the arguments to parse, by using the
following two options.
-C, --conf-parser
generate a config file parser
-S, --string-parser
generate a string parser (the string contains the command line)
Additional options:
-G, --include-getopt
adds the code for getopt_long in the generated C file
-n, --no-handle-help
do not handle --help|-h automatically
If --no-handle-help is specified, the command line option
--help|-h will not be handled automatically, so the programmer
will be able to print some other information; then the function
for printing the standard help output can be used; this function
is called <parser-name>_print_help.
Notice that, although the programmer can handle --help|-h
- 2 - Formatted: November 1, 2025
GENGETOPT(1) gengetopt 2.23 GENGETOPT(1)
User Commands User Commands
June 2019
manually, the parser will return after finding such option: the
other command line options, if any, will be ignored. In case you
want to have full control on --help|-h, you should use --ho-help.
--no-help
do not add --help|-h automatically
With this option you can disable the automatic addition of
options --help|-h. The programmer will then be able to add this
option in the input file and handle it as he sees fit. Notice
that --no-help will also disable the automatic options
--detailed-help and --full-help.
The programmer can still define options with short character h as
he wants, but he cannot define options help, unless he specifies
--no-help (otherwise an error will be printed).
-N, --no-handle-version
do not handle --version|-V automatically
--no-version
do not add --version|-V automatically
See above the details about --no-handle-help and --no-help,
respectively.
-e, --no-handle-error
do not exit on errors
With this option, if the generated parser encounters an error
(e.g., an unknown option) it does not make the main program exit;
instead, the parser function returns a value different 0, and the
main program can print a help message.
--show-required[=,STRING/]
in the output of help will specify which options are mandatory,
by using the optional passed string (default=`(mandatory)')
--strict-hidden
completely hide hidden options
-g, --gen-version
put gengetopt version in the generated file (default=on)
--set-package=,STRING/
set the package name (override package defined in the .ggo file)
--set-version=,STRING/
set the version number (override version defined in the .ggo
- 3 - Formatted: November 1, 2025
GENGETOPT(1) gengetopt 2.23 GENGETOPT(1)
User Commands User Commands
June 2019
file)
--show-help
show the output of --help instead of generating code
--show-full-help
show the output of --full-help (i.e., including hidden options)
instead of generating code
--show-detailed-help
show the output of --detailed-help (i.e., including details and
hidden options) instead of generating code
--show-version
show the output of --version instead of generating code
Please refer to the info manual for further explanations.
Maintained by Tomas Volf <wolf@wolfsden.cz>
REPORTING BUGS
Report bugs to <bug-gengetopt@gnu.org>
COPYRIGHT
Copyright c 1999-2011 Free Software Foundation Inc. This program
comes with ABSOLUTELY NO WARRANTY; for details please see the file
'COPYING' supplied with the source code.
This is free software, and you are welcome to redistribute it under
certain conditions; again, see 'COPYING' for details. This program is
released under the GNU General Public License.
SEE ALSO
The full documentation for gengetopt is maintained as a Texinfo
manual. If the info and gengetopt programs are properly installed at
your site, the command
info gengetopt
should give you access to the complete manual.
- 4 - Formatted: November 1, 2025