[Development] Qt 5 types under consideration for deprecation / removal in Qt 6

Thiago Macieira thiago.macieira at intel.com
Fri May 31 19:13:52 CEST 2019


On Friday, 31 May 2019 02:22:03 PDT Tobias Hunger wrote:
> Hi Thiago,
> 
> On Thu, May 30, 2019 at 8:18 PM Thiago Macieira
> 
> <thiago.macieira at intel.com> wrote:
> > On Wednesday, 29 May 2019 06:33:23 PDT Giuseppe D'Angelo via Development
> > 
> > wrote:
> > > 2) should QRegExp stay in bootstrap? I have no idea of what's happening
> > > regarding to that in Qt 6.
> > 
> > Bootstrap needs to go away in Qt 6.
> 
> While the bootstrap libraries play a much reduced role in the cmake
> branch, the bootstrap code is still needed: moc, rcc, qfloat16-tables
> and tracegen link against it right now. I would love to see somebody
> rewrite these tools in plain C++. It should not be that hard to do
> so:-)

moc I don't see a way out. We'll need to keep bootstrapping it.

rcc should be un-bootstrapped. The only use inside QtCore is for the MIME type 
database. We don't need a resource, though it compresses really well (roughly 
10:1 with zstd). I'd simply make that a read-only sharable variable, which we 
can easily create with a C++11 raw string.

qfloat16-tables does not link to the bootstrap library (it's pure C++). The 
only reason it's in C++ was so we didn't depend on Perl or Python during the 
qtbase build on Windows (Perl is required on Unix). Also, its output is ALWAYS 
the same and there is no input, since the constants are specified by IEEE 754. 
I'd actually remove the tool from the build, move it to util/, and add the 
resulting file to Git.

tracegen is not needed in all builds. That means we could un-bootstrap it and 
simply require that you build it with a previous Qt build.

> Qmake for the time being also links against a special build of QtCore,
> but that is a separate issue. It needs some extra APIs on top of what
> a normal Qt provides. So even with cmake we are currently building
> parts of Qtbase 3 times:-/

Right, we'll need to figure out a solution for qmake, but it should also un-
bootstrap.
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel System Software Products





More information about the Development mailing list