[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [RFC] build: use xargs in conjunction with etags
[ Sorry if this is a duplicate, I had a problem with my mail client and I'm not sure where the previous incarntation went ] In article <20060624062236.GA19117@xxxxxxxxxxxx> you wrote: > On Fri, Jun 23, 2006 at 04:56:41PM +0200, Markus Armbruster wrote: >> Horms <horms@xxxxxxxxxxxx> writes: >> >> > The existing etags invocation does not seem to work for me, >> > but using xargs in the same way that it is used for crats does. >> > I'm pretty sure that is because on Debian etags == ctags, >> > does anyone have etags lying around to test if this works? >> > >> > Also, I'm pretty sure this xargs approach will break for both ctags >> > and etags if there are too many files to for one command line, >> > as ctags/etags will be invoked multiple times, and the resulting >> > tags file will only contain the tags for the last invocation. >> > >> > Signed-Off-By: Horms <horms@xxxxxxxxxxxx> >> > --- x/xen/Makefile >> > +++ x/xen/Makefile >> > @@ -132,7 +136,7 @@ endef >> > >> > .PHONY: _TAGS >> > _TAGS: >> > - $(all_sources) | etags - >> > + $(all_sources) | xargs etags >> >> When xargs invokes etags more than once (i.e. it's actually needed), >> each invocation will clobber the output of the previous one. > > Indeed, I was concerned about that. > >> To run >> etags on an arbitrarily long file list, try something like >> >> rm -f TAGS && $(all_sources) | xargs etags -a > > Is the rm -f TAGS neccessary? On further research I see that -a means append, so yes the rm is neccessary. > I believe that for ctags the following will work. At least it seems > to work just fine here with exuberant-ctags 5.5.4 > > $(all_sources) | xargs ctags -L - For the record, xargs should not be present in the above command line $(all_sources) | ctags -L - However, the same syntax as etags can also be used, which is nice for uniformity rm -f tags && $(all_sources) | xargs ctags -a I will post a patch that uses the -a approach for both etags and ctags. This should work for pretty much all systems. In particular I tested debian, where ctags and etags are the same binary, and this approach works because a TAGS file is produced when the binary is invoked as etags, and a tags file is produced when the binary is invoked as etags. -- Horms H: http://www.vergenet.net/~horms/ W: http://www.valinux.co.jp/en/ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |