Contributing to the development

Holger Schröder holger-kde at holgis.net
Thu Mar 24 11:31:03 CET 2005


Hi,

On Thursday 24 March 2005 08:49, Peter Harris wrote:
> Hi,
>
> Much impressed with the current efforts, and running KDE-3.1.4 ontop of
> cygwin to wean the wife off Windows.
>
> I would like to dip my toes into the porting effort. I have spent over
> 20 years coding and engineering (assembler, C++ & java amongst others),
> so hopefully have a bit of an idea.
>
> How do I find out what is required.
>
let me try to give you the big picture:

what we have now with kde 3.1.4 on cygwin is this:

kde on cygwin, it uses the x-server to display things on screen, it uses the 
qt for x11 library which draws to the x-server. all that is compiled with gcc 
for cygwin. so this is basically a "unix on windows". it works fine, but it 
is slower than it could be...

then there is the work of jaroslav staniek from http://iidea.pl/~js/qkw/ . he 
works on the port of the kexi database application to windows. for that he 
ported the whole kdelibs to windows native. that means there is no x-server 
inbetween any more. it uses the qt for windows library from trolltech, which 
is under a commercial license. he used the microsoft visual c++ compiler for 
that. a description of how to compile kdelibs for windows can be found here:
http://wiki.kde.org/tiki-index.php?page=KDElibs+for+win32 or try the google 
cache in case the site is down again : gg:kdelibs win32
he merged his changes back into the main kdelibs cvs sources. as far as i know 
nobody else has built kdelibs on windows until now.

so these efforts could be merged. the intention of jaroslav was to have 
kdelibs in a usable state for kexi, then to get rid of the burden to merge 
kde upstream changes into his sources by putting his changes back into the 
main kdelibs sources. so now there are several points, where you could start 
working:

- try to compile kdelibs and kexi for win32, so that we know it really works 
and jaroslav has not forgotten to commit some files. this would require you 
to have the microsoft visual c++ compiler, perhaps even microsoft visual 
studio, and the commercial qt 3.3 for windows from trolltech in the first 
step. only do this when you don´t want to work on our qt3 for win32 sources, 
as you should not have had acces to the commercial qt win32 sources for that.

- try to compile kdelibs and kexi for win32 with our qt3 for windows sources. 
expect this to have some more rough edges than only following jaroslavs 
step-by-step guide. our qt for win32 sources 
( http://kde-cygwin.sourceforge.net/qt3-win32/ ) initially started as a qt2 
for x11 -> qt2 on cygwin with x11 -> qt2 on cygwin with windows gdi port.
by now we have a working version of qt 3.3.3 on windows, which can be compiled 
with  Borland,  MinGW,  MS Visual C++ 6.0,  MS Visual Studio .NET,  MS Visual 
C++ 2005 Express Edition Beta,  Dev-C++ 5 and i think cygwin and meanwhile 
even crosscompiling on linux work. for this step i would start with the 
compiler that jaroslav recommends.

from here the real work starts ;-), from there there are several fields, in 
which work is needed:

- try to compile kdelibs and kexi with mingw, as it would make sense to be 
able to compile kdelibs without the need for the expensive qt license and the 
expensive visual c++ license. when this works, other developers can join 
without having to have any commercial software except the ms windows itself.

- then there seem to be some performance issues in gcc and especially the 
linker for from mingw, somebody with deeper knowledge of how linking works 
could perhaps fix these ;-)

- then one could try to implement the stuff, that jaroslav left out, because 
he didn´t need it, like khtml and so on.

- then try to compile packages like kdebase, kdegames, kdevelop, kdepim and so 
on

- then try to build binary packages, so that other people can use them.

- then try to work on kde4 for windows. every major kde version is binary 
compatible on linux. that means, that you can install any package that 
requires kde3 on any version of kde 3, be it kde 3.0.1 or 3.4.0, and it 
works. hat imposes some restrictions on when you can clean up kdelibs from 
old stuff. so we are yust in the step from kde 3.4.0 to kde 4 and there we 
can clean up a lot of old stuff.
in this context we could also make kde4 really platform-independent by 
cleaning out the last x11-dependencies, like handling of global shortcuts and 
so on. there we could join forces with people from kde-on-macosx and 
kde-on-embedded. there are people at http://kde.opendarwin.org/ for example, 
and then there is http://www.pi-sync.net/ , these people try to get kdepim 
apps running on windows and embedded devices.

- try to come to the kde meeting in malaga ( http://dot.kde.org/1111445162/ ), 
where we could meet and work on it.


i know that these steps together make up more than a man year, i don´t expect 
you to get all this done ;-), but i wanted to give an overview of the 
existing projects and how they relate, and where the future could lead to...

i would love to see konqueror, kontact/kmail, koffice and kdevelop on windows 
running in native speed without an x-server someday :-)
this is only possible when we get kde running from the ground up. then we 
would get the applications almost for free, as most of them only build upon 
qt and kdelibs, but not on linux or x11 directly. so when i should judge from 
the work that is already done and only has to be merged, we are already 
there.


so feel free to pick any of the mentioned points and look into them, when you 
have any questions, feel free to ask :-)


> Thanks
>
> Peter

Holger



More information about the kde-cygwin mailing list