On Fri, Feb 20, 2009 at 07:56:59AM -0800, Krzysztof KosiĆski wrote:
I'm intending to change the Automake build system to link the executables from single object files instead of static libraries
I believe this will slow down the link time. Linking is already often the longest part of compilation for developers (such as when making changes to a single .cpp file).
(I haven't actually checked whether it noticeably slows down the final link -- I'm still compiling now, but I'm about to go out, so thought I'd send this before quantifying. The reason I think it will slow down linking is that I believe that creating a .a file involves creating a symbol index to speed up symbol lookups; though maybe this only helps people who do `make' rather than `make inkscape'; or maybe the difference isn't particularly significant.)
so that we may finally put files in the proper directories (e.g. remove widgets/ and dialogs/ and move those to ui/widget and ui/dialog/, as well as join helper/, util/ and svg/),
I'll note that svn doesn't handle renames very well, e.g. if any developers have any uncommitted changes to a file that gets renamed, or if other developers change files that you've renamed locally but haven't committed yet.
That's not to say that it's never worth reorganizing, just that you might be careful about doing it.
Technically, library membership and directory membership are orthogonal when using non-recursive make. Of course there are human reasons why we might want to arrange directories according to library makeup, but it does mean that you can at least experiment with different library organization without doing renames.
pjrm.