Re: Re: patch: generate *.gmo files to the source directory

Jonas Fonseca <[email protected]>
Newsgroups gmane.comp.web.links
Message-ID <[email protected]>
Kalle Olavi Niemitalo <[email protected]> wrote Tue, Dec 06, 2005:
> Jonas Fonseca <[email protected]> writes:
> 
> > Kalle Olavi Niemitalo <[email protected]> wrote Sun, Dec 04, 2005:
> >> Kalle Olavi Niemitalo <[email protected]> writes:
> >> > * The install-data-local-yes target installs those files from the
> >> >   source directory and ignores files in the build directory.
> >
> > This should not be the case anymore.
> 
> <fonseca> kahmalo: The tar.gz is made by using cg-export.
> 
> The "master" branch of your GIT tree doesn't appear to include
> the po/*.gmo files.  In fact, they are listed in po/.gitignore.
> Yet, http://elinks.cz/download/elinks-current-unstable.tar.gz
> includes them.  How does cg-export know it should put po/*.gmo
> in the tar file?

Yeah, ok, sorry, I didn't tell you everything there. The cool thing is
that cg-export puts everything being tracked by git in the exported
directory. However, after running cg-export we run ./autogen.sh,
./configure and for the HEAD branch 'make -C po' so that people without
the autotools and gettext tools installed can use the tarballs. Parts
from the script that generates the tarballs:

	GIT_DIR="..." cg-export -r "$branch" /tmp/path/elinks
	cd /tmp/path/elinks
	./autogen.sh
	./configure

	if [ "$branch" = "REL_0_10" ]; then
		make dist
	        tar xfz elinks-$version*.tar.gz
		cd elinks-$version*
	else
	        make -C po
	fi

	mkdir doc/html
	cp -r /elinks.or.cz/folder/documentation/html/*.html* doc/html

> > Also, it would do the wrong
> > thing if I have multiple build trees based on one source tree (for
> > example several trees related to different bugs or features where you
> > use cg-switch in the source tree to check out my work).
> 
> I installed cogito 0.16rc2 but don't see a cg-switch.  It doesn't
> have a manpage at http://kernel.org/pub/software/scm/cogito/docs/
> either.  So I don't know what it does.

It was merged after 0.16rc2 was released, there exists a released 0.16,
and pasky is lazy so don't expect the manpages to always be up-to-date.
;)

Snippet from cg-switch(1):

	cg-switch(1) can switch your current local branch (and working
	copy) to an existing branch, or create a new branch based on a
	given commit.

	Terminology note: This command concerns local branches (also
	called "heads"), not remote branches (those managed by
	cg-branch-add(1)).
       
> By analogy with svn switch, I assume it changes the files of your
> source tree to track another branch kept in the .git directory.
> I don't think that is the traditional reason to have multiple
> build trees (rather, they are for building the same source for
> different platforms or with different options), but if you're
> saying that's the most convenient way to compile different
> branches from GIT, I don't have enough experience to dispute
> that.  Doesn't it mess up your timestamps and thereby cause
> unnecessary recompilation after every switch, though?

I don't use it a lot, in fact I hardly ever use out-of-tree building.
But it just seems wrong to place build-oriented files in the source
directory.

> Anyway, po/*.gmo wouldn't be the only generated files in the
> source tree.  Specifically, autogen.sh places several files
> there: acinclude.m4, aclocal.m4, config.h.in, and configure.
> If storing po/*.gmo in the source tree would cause you trouble,
> how do you cope with these?

They are kind of different, IMO, since those generated files can be
shared across several builds, no?

> >> I have also taken the liberty to remove the SUFFIXES variable and
> >> the .SUFFIXES rule.
> 
> > Any chance you could post these changes in a separate patch?
> 
> OK; I'll post one patch to remove the SUFFIXES, another to fix
> po/Makefile for builddir!=srcdir while keeping po/*.gmo in builddir,
> a third one for other po/Makefile changes, and then we can keep
> discussing (arguing?) where po/*.gmo should be.

Thanks. :)

-- 
Jonas Fonseca
_______________________________________________
elinks-dev mailing list
[email protected]
http://linuxfromscratch.org/mailman/listinfo/elinks-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.