bug-autoconf
[Top][All Lists]
Advanced

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

Autoconf problem.


From: David Ronis
Subject: Autoconf problem.
Date: Sun, 17 Aug 2008 21:26:26 -0400

I reported this to the gnome-evolution folks who suggested that it was
really an autoconf problem.

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).

In any event, I've tracked down the problem to the way ginstall is called,
namely as /usr/bin/ginstall -c .  This does not preserve the timestamps of the
installed files, and so, all the .h files end up being newer than anything in
the next component to be build, thereby triggering alot of unnecessary
compilation.  

The fix is to add a -p flag to ginstall (or --preserve-timestamps).   I do this
in garnome by having a post-configure command:

        find -name Makefile -exec sed -i -e 's/ginstall  *-c/ginstall
 -c -p/g' {} \;

in a directory above all the svn project dirs.  There's probably a better way
to do this withing autogen.sh.

This applies to e-d-s, evo-exchange, gtkhtml, and libsoup.

To which I received the following reply:


This is an autoconf issue.  There's nothing Evolution can do about it.

The install command comes from /usr/share/autoconf/autoconf/programs.m4.
It
selects an appropriate install command from a variety of equivalent
programs
(install, ginstall, scoinst), taking into account all the various OS and
implementation quirks.  --preserve-timestamps may not be universally
supported.

I'd encourage you to take this up with the autoconf maintainers.  This
sounds
like something that could benefit not just Evolution, and not just
GNOME, but
all programs that rely on autoconf.






reply via email to

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