11/08/2022 | Press release | Distributed by Public on 11/08/2022 03:47
November 08, 2022 by Alexey Edelev | Comments
Starting with Qt version 6.5, you no longer need Perl to build Qt from sources. The utilities that used Perl have been replaced with a small application written in C++ that speeds up the pre-scanning process of header files.
Header files in Qt library sources are pre-scanned and synchronized using a tool called syncqt, which so far was written in and depended on Perl.The tool checks header files for conformity with Qt standards and generates the symbol-specific CaMeL header files. The new tool has the same functionality with some advantages.
The first and most important change concerns header files that do not belong to the target platform or should not be in the Qt build due to a disabled feature. In new versions of Qt, these header files will not be deployed to Qt installation. For example, previously in Qt for Desktop, you might see header files that are specific to Android:QtCore/qjnienvironment.h
QtCore/qjniobject.h
QtCore/qjnitypes.h
Starting with Qt 6.5, the above headers will only be installed in Qt for Android builds.
The second change concerns the build process. To reduce the reconfiguration time, the process of scanning header files is divided into two stages:
The use of the new 'syncqt' tool also reduced the configuration time of the top-level Qt build by ~10% during initial configuration and by ~30% during reconfiguration. Please note that the initial configuration time of the standalone qtbase repository may increase slightly as the tool is built at configure time.
Approximatenumbers that you can get on Linux when configuring the top-level Qt repository:syncqt.pl | syncqt.cpp | |
First configuration |
real 0m52,225s user 0m35,595s sys 0m16,695s |
real 0m47,569s user 0m35,351s sys 0m12,582s |
Reconfiguration |
real 0m29,564s user 0m22,446s sys 0m7,217s |
real 0m20,721s user 0m15,663s sys 0m5,081s |
We hope these changes improve your Qt experience.
Share with your friends