NAME
gtags - create tag files for global.
SYNOPSIS
gtags [-iIqvw][-f file][-n
number][dbpath]
DESCRIPTION
Gtags recursively collect the source
files under the current directory, pickup symbols and write the
cross-reference data into tag files ('GTAGS', 'GRTAGS', 'GSYMS' and
'GPATH'). You should execute this command at the root of the source
tree.
C, C++, yacc, java, PHP and Assembly source files are supported.
Files whose names end in '.c' or '.h' are assumed to be C source
files and are searched for C style routine and macro definitions.
Files whose names end in '.c++' '.cc' '.cpp' '.cxx' '.hxx' '.hpp'
'.C' '.H' are assumed to be C++ source files. Files whose names end
in '.y' are assumed to be YACC source files. Files whose names end
in '.java' are assumed to be Java source files. Files whose names
end in '.php' '.php3' '.phtml' are assumed to be PHP source files.
Files whose names end in '.s' or '.S' are assumed to be Assembler
source files. Other files are searched for C style definitions.
OPTIONS
The following options are available:
- --config name
- Show the value of config variable name. If name
is not specified then show whole of config entry.
- -f, --file file
- Read from file a list of file names which should be
considered as the candidate of source files. By default, all files
under the current directory are considered as the candidate. If
file is '-', read from standard input. File names must be
separated by newline.
- --gtagsconf file
- Load user's configuration from file.
- --gtagslabel label
- label is used as the label of configuration file. The
default is default.
- -i, --incremental
- Update tag files incrementally. You had better use global(1)
with the -u option.
- -I, --idutils
- Make index files for idutils(1).
- -n, --max-args number
- Maximum number of arguments for gtags-parser(1).
By default, gtags invokes the parser with arguments as a lot as
possible to decrease the frequency of invoking.
- -q, --quiet
- Quiet mode.
- -v, --verbose
- Verbose mode.
- -w, --warning
- Print warning messages.
- dbpath
- The directory in which tag files are generated. The default is
the current directory. It is useful when your source directory is
on a read only device like CDROM.
EXAMPLES
$ ls -F
Makefile src/ lib/
$ gtags -v
$ global -x main
main 10 src/main.c main (argc, argv) {
FILES
- 'GTAGS'
- Tag file for function definitions.
- 'GRTAGS'
- Tag file for function references.
- 'GSYMS'
- Tag file for other symbols.
- 'GPATH'
- Tag file for path of source files.
- '/etc/gtags.conf', '$HOME/.globalrc'
- Configuration file.
ENVIRONMENT
The following environment variables affect the
execution of gtags:
- GTAGSCONF
- If this variable is set, its value is used as the configuration
file. The default is '$HOME/.globalrc'.
- GTAGSLABEL
- If this variable is set, its value is used as the label of
configuration file. The default is default.
- GTAGSCACHE
- If this variable is set, its value is used as the size of btree
cache. The default is 500000 (bytes).
CONFIGURATION
The following configuration variables affect
the execution of gtags. You can see the default value for
each variable with the --config option.
- GTAGS(string)
- If this variable is set, its value is used as the command line
of parser for GTAGS. The default is 'gtags-parser -dt %s'.
- GRTAGS(string)
- If this variable is set, its value is used as the command line
of parser for GRTAGS. The default is 'gtags-parser -dtr %s'.
- GSYMS(string)
- If this variable is set, its value is used as the command line
of parser for GSYMS. The default is 'gtags-parser -dts %s'.
- skip(comma separated list)
- Gtags skips files which listed in this list. As a
special exception, gtags collect values from multiple skip
variables. If the value ends with '/', it assumed as a directory
and gtags skips all files under it. If the value start with
'/', it assumed relative path from the root of source directory.
- suffixes(comma separated list)
- Suffixes of target source file. As a special exception,
gtags collect values from multiple suffixes variables. This
variable is obsoleted. If the langmap variable is defined
gtags no longer refers this.
- icase_path(boolean)
- Ignore case distinctions in the path. Suffixes check are
affected by this capability.
- langmap(comma separated list)
- Language mapping. Each comma-separated map consists of the
language name, a colon, and a list of file extensions. Default
mapping is
'c:.c.h,yacc:.y,asm:.s.S,java:.java,cpp:.c++.cc.cpp.cxx.hxx.hpp.C.H,php:.php.php3.phtml'.
DIAGNOSTICS
Gtags exits with a non 0 value if an
error occurred, 0 otherwise.
MESSAGE FORMAT
Verbose message has important level. The
most important level is 0, the second is 1 and so on. All the
message has level numbers leading blanks.
SEE ALSO
gtags-parser(1),
global(1),
htags(1).
GNU GLOBAL source code tag system
(http://www.gnu.org/software/global/).
BUG
'GTAGS', 'GRTAGS' and 'GSYMS' are very large. In
advance of using this command, check the space of your disk.
Assembler support is far from complete. It extracts only ENTRY()
and ALTENTRY() from source file. Probably valid only for FreeBSD
and Linux kernel source.
There is no concurrency control about tag files.
Symbols in Assembly source files are not extracted for 'GSYMS'.
AUTHOR
Tama Communications Corporation.
HISTORY
The gtags command appeared in FreeBSD 2.2.2.