Download presentation
Presentation is loading. Please wait.
Published byMaurice Chambers Modified over 8 years ago
1
KDElibs for win32 Welcome KDE Libraries for Microsoft Windows Environments Jarosław Staniek js at iidea.pl
2
KDElibs for win32 Overview 1. History 2. Goals && Assumptions 3. Current State 4. Side Effects && Benefits 5. Plans && Dreams
3
KDElibs for win32 History: Before March 2003 KDE on Cygwin only existed for win32 Some kdelibs (e.g. KMDI), and apps had ifdef'd support for Qt-only environment KDE On Cygwin
4
KDElibs for win32 History: March 2003 Qt-KDE Wrapper (QKW) Project started for KDE 3.1 by Jarosław Staniek, sponsored by OpenOffice Polska, a side effect of porting Kexi to win32
5
KDElibs for win32 History: September 2004 QKW source code merged with KDE 3.2 sources, renamed to KDElibs for win32 Now it resides in KDE Trunk as one of targets KFind using old good HighColor style on even older win98.
6
KDElibs for win32 Goals Compile and run existing KDE applications natively under win32 Reduce a need for Qt-only code (where reasonable) Make public API of KDE libraries highly X11-independent Allow to use win32 as application development, without any impact on portability
7
KDElibs for win32 Anti-goals KDE Desktop on win32 as a replacement for it's original desktop Certain hacks can be illegal or technically impossible Users not being comfortable with win32 desktop look and feel are free just to switch to Linux/Unix Injecting some WIN API to KDE libs API
8
KDElibs for win32 Reuse or mimic win32 GUI look & feel where possible (if this doesn't affect KDE libs API). Examples: reuse (or copy) win32 dialogs, eg. file dialogs keep DOS-like file system paths (trying to force win32 users to comply with UNIX feel on win32 looks equally wrong as running native win32 apps on UNIX) for example, KURL is already prepared for this Assumptions
9
KDElibs for win32 Assumptions (2) Map system settings to KDE libs API structures like KGlobalSettings, MIME types example: user documents folder's path could always be accessed by KGlobalSettings::documentPath() the Windows Registry is usually used for storage Some Unix/Linux-specific features can be hard to port, but not so important this can also help in Linux promotion
10
KDElibs for win32 Developer Tools – Current State C++ compiler: msvc.net (7.1) Borland's or GNU compilers not tested Qt required: Qt 3.3.3 or later, like on Linux (GPL'd Qt3 not tested) Hardcoded.pro files for qmake Cygwin used as shell Msys (from Mingw) not tested No support for compilation under IDE(s), but it can be used for convenient debugging
11
KDElibs for win32 Developer Tools – Current State (2) A few shell scripts, e.g. kmoc for creating.moc files Subversion for win32 Predefined support for release and debug targets (debug targets have _d name prefix assigned, so both targets can coexist)
12
KDElibs for win32 Main Installation Steps Obtaining proper compiler Qt installation and minor tweaking Cygwin installation Obtaining KDElibs source code (from SVN) Obtaining KDE runtime files (.desktop files, settings, icons) Setting environment variables Building KDElibs
13
KDElibs for win32 Developer Tools - Specifics No 'install' target: binaries are compiled directly to $KDEDIR/bin, $KDEDIR/lib, $KDEDIR/lib/kde3 win32-specific code resides in kdelibs/win/.pro files for KDElibs are kept separately in kdelibs/win/pro_files/ and are copied if needed to kdelibs/ subdirs.la libtool files are needed for KDE modules, come with runtime files (this requirement will be removed)
14
KDElibs for win32 What's Ported? - Libraries KDElibs 3.4 and newer libltdl, kdecore, kdeui, dcop (including DCOP server and tools), kded, kio, interfaces/ktexteditor, kabc, kate, kdewidgets, kioslave, kmdi, kparts, kresources kdefx; KDE Styles work (some developers used this for Qt-only apps on win32) Ifdef'd things network functionality in kio KFileDialog needs to be replaced with QFileDialog on win32
15
KDElibs for win32 What's Ported? - Applications Kexi and KFormDesigner Other KOffice apps (not in SVN yet) KBabel (not in SVN yet) ShowImg (image viewer) Some small apps for testing, eg. KFind's GUI
16
KDElibs for win32 Side Effects of Porting to win32 An opportunity to realize of how good quality KDElibs code is: many things compiled without changes to code About two dozens of hard to find bugs only identified thanks to using non-gcc/gdb tools Good starting point to make API even more flexible in some aspects (example: KFileDialog, printing)
17
KDElibs for win32 Side Effects of Porting to win32 (2) Finally, support for some freedesktop.org specifications on win32 may be blessed by systems integrators KDElibs for Mac OS X benefits from more portable KDElibs code It's hard to find a full-time paid job related to KDE apps for Linux, but it's possible one related to KDE apps for Linux and Windows.
18
KDElibs for win32 Opportunity: getting thousands of new KDE users on win32 platform raising interest in KDE libraries itself and also contribution to popular KDE applications more testers more doc authors finally, who knows: more developers Benefits, Issues
19
KDElibs for win32 Benefits, Issues (2) Not everyone agrees with these points: Strategically, operating systems itself are becoming irrelevant for users: e.g. about half of the world didn't upgrade to winXP It's applications integrated within desktop environment what counts Smooth transition with smaller steps is important on desktop (see Firefox and OpenOffice.org story) Many users give up if they couldn't quickly switch to a single FOSS application they want, keeping their current environment It's no more just FOSS vs Proprietary: it's FOSS vs FOSS vital competition
20
KDElibs for win32 Porting Plans Libraries updates for Qt4/win32 khtml, kjs (in progress) kdeprint Applications entire KOffice Kontact
21
KDElibs for win32 Plans for Developer's Tools (SDK) Switching to SCons (bksys) portable build system to maximize developers' convenience Builtin support and integration with popular compilers Define and maintain "official" binary releases avoid problems with ABI (introduction of Qt4 complicated decisions a bit) synchronize with releases for UNIX version Installer for SDK Installation toolkit for KDE apps on win32, runtime
22
KDElibs for win32 Other TODOs KDE's System Configuration Cache daemon (for now, kbuildsycoca app has to be run by hand with a simple dialog to refresh environment) User's Documentation: additional win32-specific content may be needed for users
23
KDElibs for win32 David Faure, Harri Porten discussion, advices and reviewing endless stream of patches Andreas Roth DCOP Client/Server port Acknowledgements
24
KDElibs for win32 Thank You More Information Project Documentation http://wiki.kde.org/tiki-index.php?page=KDElibs for win32 Original Qt-KDE Wrapper Home http://iidea.pl/~js/qkw/ KDE on Cygwin Project http://kde-cygwin.sourceforge.net/ GPLed Qt3 for win32 http://qtwin.sourceforge.net old page: http://kde-cygwin.sourceforge.net/qt3-win32/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.