automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [suggestion] new target GTAGS.


From: Shigio Yamaguchi
Subject: Re: [suggestion] new target GTAGS.
Date: Thu, 21 Dec 2000 17:04:30 +0900

> I'm not against doing this.  Since GTAGS is a GNU program, and one of
> automake's goals is to work well with other GNU programs, it seems
> like a reasonable idea.

I'm glad to hear that.
 
> I'm curious: what advantage does global give over etags or idutils?

Most important advantage is that GLOBAL can be used in various environments
like nvi, elvis, emacs, less and any web browsers.

Besides, GLOBAL
o can locate not only object definitions but also object references.
o locate also path which includes specified pattern.
o understand POSIX 1003.2 regular expressions.
o plugged-in parser is available to treat new language.
o support incremental updating of tag files.
o support customizing with global.conf.
o generate completion list for completing input method.

> >> GTAGS:
> >>    gtags -i $(GTAGS_ARGS)
> 
> Note that this will be run in the build tree.
> 
> You indicate elsewhere that it should be run in the source tree.  But
> that is wrong for automake (there are some special exceptions, but
> this isn't one).
> 
> Does gtags have an option so that it can be run in one directory but
> put its output files in another?

Yes, it does.
The following command line makes tag files in /var/obj instead of current
directory.

        % gtags /var/obj

But gtags must be invoked in the root of source directory. So if the current
directory is not the place then we must invoke like:

        GTAGS:
                (cd $(ROOT_OF_SRC_DIR); gtags -i /var/obj)

If the tag files does not exist at the root of source directory,
you can use the tag files like this:

        % pwd
        % /usr/src/usr.bin/ctags
        % gtags /var/obj                        <- make tag files in /var/obj
        % setenv GTAGSROOT `pwd`
        % setenv GTAGSDBPATH /var/obj
        % global -x main
        main              83 ctags.c        main(argc, argv)

By the way, where does automake put tag files to?
If there are some conventions in automake then I would like to support it
in GLOBAL.
--
Shigio Yamaguchi - Tama Communications Corporation
Mail: address@hidden, (Spare mail: address@hidden)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]