KDE/kdevelop [POSSIBLY UNSAFE]

David Nolden david.nolden at art-master.de
Mon Apr 23 15:49:39 UTC 2007


On Monday 23 April 2007 05:43:37 Matt Rogers wrote:
> On Sunday 22 April 2007 18:56, David Nolden wrote:
> You didn't mention that this was going into trunk. I just assumed you were
> updating the branch so that it would compile with trunk.
>
> I wish you would reconsider the use of all these external libraries that
> add extra dependencies and provide functionality that most likely overlaps
> with what's provided with Qt.
>
> I also don't think all of the stuff that's in lib should be there. lib is
> the platform, it should be small and compact and what's there now applies
> mostly to the teamwork plugin and i feel it should be moved there.

I used those libraries because I wanted the server to be independent from qt, 
because I wanted to develop a good networking-system(after having written a 
few ugly hacks earlier in my life ;) that could be reused for any type of 
project, not only for qt-projects.

Here's what the libraries are needed for:
Common-C++   --  cross-platform networking and threading(could be replaced by 
qt)
boost-serialization -- is used for the whole messaging system, is far superior 
to qt's serialization-stuff, so it cannot be replaced. The only problem, that 
still has to be worked on, is that it creates very big executables when 
compiled in debug-mode.
boost-threading -- As far as I remember this is only needed because common-c++ 
has no recursive mutex, could easily be replaced by qt
boost-iostream -- is needed for serializing binary streams directly into a 
vector. The normal C++-api for doing that is far too ugly and complicated, I 
couldn't get it working with that.

So with some work, the dependencies might be reduced.. but not removed, but 
because my time will be very limited during the next half year due to SOC, 
university, work, etc. I would like to make kdevelop-teamwork work as fast as 
possible, so I can move on to the other tasks. 
I cannot spend much time doing that work, at least not in the next time.

To the libs:
I've put that stuff there because the things are independent "libraries", and 
I thought those belong into "libs". None of them depend on teamwork, not even 
on kdevelop. What about adding a folder "lib/internal" or something? I think 
moving the libs into the kdevteamwork-folder is not a good idea, because that 
would be against the idea of "independent" libraries. :)

Also, wouldn't it be nice if in the end all plugins would be able to 
communicate with each other over the network using teamwork? Then the 
network-library will be needed there.

greetings, David




More information about the KDevelop-devel mailing list