[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: lib reorg; finishing touches.
From:       Boudewijn Rempt <boud () valdyas ! org>
Date:       2009-08-25 14:30:33
Message-ID: 200908251630.34083.boud () valdyas ! org
[Download RAW message or body]

On Tuesday 25 August 2009, Thomas Zander wrote:
> I did some work today and yesterday on lib reorg.
> As you all know, boudewijn did the excellent work of splitting the libs
>  into different sub-libs.
> The intent was to join them afterwards again after getting a much better
> insight into what we actually *use*.
> 
> To find this out we can simply look at the cmake files and see what libs
>  any application actually links to. Well, theoretically.
> First there was the problem that there was a lot of duplication. Many apps
> explicitly linked to QtCore. Which is quite unneeded since linking to
> practically any app already pulls in QtCore[1] and the same goes for a lot
>  of other parts.
> So I did a big cleanup which I'll commit in 48 hours. See attached.

Cool!

> To make clear what these numbers mean, look at the attached svgz; I've
>  taken the liberty to avoid mapping the 10 widgets libs but instead push
>  them under 'komain'.

Actually, only the libs/widgets/zoom links to komain, and I would like to keep 
it that way, i.e., make komain use the widgets it needs, but have as few 
widgets use komain as possible.

For widgets, pending a way to make pigment use less memory, I propose to make 
three libs for now: 

* widgets that need pigment
* widgets that don't need pigment
* widgets that need komain (or maybe move those to komain)

Alternatively, we could for now make one widgets lib excluding the bits that 
depend on komain, and have the pigment-dependent things excluded from the 
build.

I really hope to find some time this week/next week to look into this; would 
that be too late?

> The question is; what do we do next?
> We need to merge some of these libs, for sure.  We intended to make things
> faster and due to having many more libs that any app loads on startup we
>  have accomplished the opposite. Now all we need to do is determine the
>  libs we want to end up with.

Do we actually know what the performance impact of the current number of 
libraries is on startup 

> But before we decide to merge and what to merge it might be an option to
>  move classes around.  If a plugin depends only on flake *and* KoGlobal,
>  does that mean its worth it to move KoGlobal into flake?  I don't think
>  so, but questions like this are valuable to ask.

KoGlobal is ugly :-). In this case, the dpi stuff might be necesary for flake, 
but flake shouldn't do stuff with the global kofficerc -- as far as I'm 
concerned.

But yes, a more detailed dependency graph of koffice libs and apps would be 
very useful. I did a lot of cleanup, but that was only through manual grepping 
through the sources. Vandenoever gave me a tool to automate this, but I 
haven't had time to actually apply it -- been too busy removing Qt3 from our 
code :-).

> Hoping for feedback :)

I'll recompile asap & check the patch itself.

> 1) this is solved in CMake quite nicely; the details of the concept are
> described here; http://wiki.koffice.org/index.php?title=Libs/LibsProvides
> 


-- 
Boudewijn Rempt | http://www.valdyas.org
_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic