KF5 in Release Mode: C++11 and dates
Kevin Ottens
ervin+bluesystems at kde.org
Mon Jul 22 11:42:59 BST 2013
Hello people,
As planned, we had the "KF5 in Release Mode" BoF at Akademy. Quite a lot of
information on the current status got shared, but I'm not going to focus on
that in this email. I'm writing this email to let everyone know about the two
main novelties which got discussed during this meeting.
First topic is about the C++11 support in KF5. Volker added an email about
that, but I thought I'd run through it again. So far, no C++11 feature was
used in KF5. The default rule on that topic was "let's do it the same way than
Qt" since one of the main goals of KF5 is to make our technologies desirable
for Qt application developers. After revisiting how it is done in Qt, it turns
out that the situation there is less than clear... We agreed on supporting the
following minimal versions for the compilers: gcc 4.5, clang 3.1 and VS2010.
That means the new rule is as follow:
* We're not supporting the full extent of C++11 in KF5 (although I encourage
people to use more higher up in the stack);
* We're white listing some of the C++11 features in KF5, namely are now
allowed:
- auto;
- rvalue support (except for "*this");
- lambdas.
* If you want to use more than the above:
- it must be made optional by the use of #ifdef or the Q_* macros (e.g.
Q_DECL_OVERRIDE);
- both the binaries built with or without those extra features must be
binary compatible.
Note I also added the above to the policies for Frameworks:
http://community.kde.org/Frameworks/Policies#Frameworks_compiler_requirements_and_C.2B.2B11
Second topic, more to the point of the BoF, is about getting ourselves in
release mode. The situation in KF5 is getting clearer by the day and as such
we're seeing progress toward meeting a releasable state. This is why we've
been already filtering the type of tasks we distribute to focus only on the
"must have" tasks. Every other type of tasks are put on a waiting list for
post 5.0 work.
With this ongoing shift of strategy and mindset, we can play a bit the
prediction game. At the current pace and amount of effort put into the
project, it is feasible to roll out a technology preview in December 2013
latest with a good confidence level.
If the tooling supports it, that preview probably won't be released in one go
but in batches (to be confirmed later) in order to find the problems along the
way. With such a strategy we might be able to be very close to a final release
in March 2014.
It's clearly not a given, we'll reevaluate in December if we're still on
track, as you know in volunteer projects the amount of available effort can
vary greatly (and those estimates assume it will be constant). Still, that
makes March 2014 a very worthwhile goal to pursue, so let's try to meet it
nonetheless.
That's it for now, thanks for your attention.
Regards.
--
Kévin Ottens, http://ervin.ipsquad.net
KDAB - proud supporter of KDE, http://www.kdab.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20130722/89c0fc1c/attachment.sig>
More information about the kde-core-devel
mailing list