[Top][All Lists]

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

Re: install without updating time stamps (was: Autoconf problem.)

From: David Ronis
Subject: Re: install without updating time stamps (was: Autoconf problem.)
Date: Tue, 19 Aug 2008 17:00:09 -0400

Hi Ralph,

Thanks for the reply.  See below.

On Tue, 2008-08-19 at 22:50 +0200, Ralf Wildenhues wrote:
> Hello David,
> * David Ronis wrote on Mon, Aug 18, 2008 at 03:26:26AM CEST:
> > I've just started following evo and friends in svn/trunk.   One thing
> > I've noticed is that small changes in one module will trigger almost
> > full rebuilds in the remaining ones (e.g., a small change in eds leads
> > to most of evo being rebuilt).    I'm doing this within a garnome build
> > tree,  and the usual way the build proceeds is to make install in each
> > directory (following the correct order of dependencies).
> Thank you for the report.  There are two issues:
> 1) It sounds like the way the build is done could possibly be improved.
> (I don't know the software, though, so I'll not look into this further
> unless there is interest.)

Perhaps I wasn't clear enough.  Say I have 2 projects,
evolution-data-server and evolution, where evolution depends on the
latter.  Running "make install" in e-d-s generates a large number of
libraries and .h files that evolution depends on (as do other components
of gnome).  Now running make in evolution works as expected; however,
after updating e-d-s via svn say, and making install, triggers a largely
full rebuild of evolution triggered by the dependencies on the e-d-s .h
files, even if none of them have changed.
> 2) install should be less eager to update time stamps.
> For this there is at least one step: recent install-sh from Automake
> supports -C which doesn't update the file at all (nor its time stamp)
> if the previously installed version didn't change.  This is a bit safer
> than GNU install's --preserve-timestamps (you could have manually
> changed the previously installed file, after building the new tree;
> this would lead to the newly installed file wrongly having an older
> time stamp than its prior).

Even better.  However, the evo folks seem to thing that autoconf should
do this automagically.  I know how to hack the generated makefiles to do
what I want (although I admit that the -C option is even neater)

> For full nice support of (2), probably a bit more should be done, but I
> guess as a workaround you can likely use
>   make install INSTALL='$(SHELL) $(top_srcdir)/build-aux/install-sh -C'

> with build-aux adjusted to whereever that file is.

See above.

> Note that the next Automake release will make this operation faster in
> many situations (with multi-file install).
> Hope that helps.
> Cheers,
> Ralf



reply via email to

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