Get rid of double negation to make the configuration easier to understand.
Change-Id: I5dfe256c2ac2ef131c3db20dce9ff492c529a5b1
Reference: https://emscripten.org/docs/tools_reference/emcc.html
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
./configure […] --device-option EMSCRIPTEN_ASYNCIFY=1
Set QT_HAVE_EMSCRIPTEN_ASYNCIFY as a feature flag,
enable optimizations for asyncified debug builds.
Change-Id: I81c887a411780e328aed48ec09ff6b9277c3bccf
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
On emsdk 13.9.x WASM_OBJECTS_FILES is always on,
and BINARYEN_TRAP_MODE is not needed
Change-Id: Id1da1db0278e131f95045bc0902f5cc4c22c1522
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
The former option to clang will result in more options to the linker,
such as the newly introduced -platform_version, which writes the
SDK version to the resulting binary. By using the syslibroot flag
directly we were missing the platform version, and binaries were
left without an SDK version set, resulting in failed validation
of the binary. Going with the clang driver gives us the right
behavior for free.
Fixes: QTBUG-83100
Change-Id: I98bc9ba644dae4bcc7a6a88481556bae185ce5fa
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit 6a60192ac03d0b4ab542191065122243cebcd1ca)
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This has better support for threaded use, and gets rid of bind use.
This requires emscripten 1.38.37 and above
Task-number: QTBUG-76891
Change-Id: Ic30a6820c2ce945c314751c06cfc356914a71217
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
This reverts commit bcdf49bcc6.
This was a 5.14-only commit which accidentally found its
way to 5.15.
Change-Id: Iaef6f05fce20ab61d3afb8cb3c359a037e4c0b28
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Remove some unneeded empty lines, and fix indentation.
Change-Id: Ie35e95f35f9625cc75070074be96bdeb62d5fd4c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
There are some plugins in qtlocation, qtdeclarative whose names are not
suffixed with 'Plugin', so the current logic fails to load the
corresponding QtModule_XXX.cmake file.
Work around this by just searching for
Qt5$${CMAKE_MODULE_NAME}}_*.cmake.
Users can define QT5_STRICT_PLUGIN_GLOB
or Qt5$${CMAKE_MODULE_NAME}_STRICT_PLUGIN_GLOB
to change back to the old behavior.
[ChangeLog][cmake] Fixed an issue where some Qt location and
declarative plugins whose name did not end with "Plugin"
where not imported by the corresponding Qt component package.
You can force the old behavior by setting QT5_STRICT_PLUGIN_GLOB or
Qt5ModuleName_STRICT_PLUGIN_GLOB before the find_package(Qt5 ...)
call.
Fixes: QTBUG-58812
Change-Id: Ic8adf9562841ed49eabc4f7fb2b5ae257ca606cd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
[ChangeLog][WebAssembly] Updated emscripten to version 1.39.8
Change-Id: I8d19f851eb0c0dd912792cee0db69e61cf4fd5f6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
qmlimportscanner already has support for qrc files, however the rule in
qt.prf did not pass the required arguments to it so far. In combination
with the declarative registration of types, this broke static linking.
Fixes: QTBUG-82873
Change-Id: I4462645e0b353265f9953807dee73f94923dab9f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Keep using the old/deprecated behavior for the Qt 5.14
series.
Task-number: QTBUG-74601
Change-Id: Icee99803f300dfa0116a4de75f9fb26d1010625d
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
If Qt was configured with -separate-debug-info, Qt's tools should be
separated from their debug information too.
Fixes: QTBUG-56482
Change-Id: Ief0130db1787b767496d0052716183fe773460bf
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
qt helper libs for msvc will always get a 'd' suffix for debug builds.
This is different than for MinGW, where it will only get a 'd' for
mixed debug builds in -debug-and-release scenarios (see commit
1749f9184b).
This amends d32a679, which incorrectly removed the 'd' suffix
when linking helper libs built for MSVC.
Fixes: QTBUG-82620
Change-Id: I8097de0e1bab4d1e58fc37b0c50ee6b07650a626
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Make sure that, if Qt was configured with -debug-and-release, winmain
and user apps are generated by default in debug-and-release mode, too.
This amends 9b4ec1393f .
Change-Id: I0f169d63ca98c9bde41114225004a0844425db33
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
By delaying it to the end we can be sure that all the Qt modules have
their INCLUDEPATHs set and as a result we can avoid long command lines
on Windows.
Change-Id: I9068f7bf66fe138aad1a633191677a57dfd08d6e
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Do not expect the .qm files to be there at qmake time; they will only be
generated at build time.
Fixes: QTBUG-77398
Change-Id: If73fdb51d40138e52f62eaee0491a5d73d9fe161
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This fixes windows build and detection of c++ version
Task-number: QTBUG-80610
Change-Id: I5196e83f9aad6663aea47c31ae4a2da4c4d74e94
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Otherwise this fails for user projects.
Fixes: QTBUG-82038
Change-Id: I01bae2aab28bcedf745d1c5ae6932659ed4a7ed5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
The second parameter of replace is a regex, therefore trying to replace strings like
"plugins/sensors/libplugins_sensors_qtsensors_android.so" will result to super strange
results.
Fixes: QTBUG-81974
Change-Id: I887e70f4fd8fa2af482a60f63af371f954b56ce1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Since Android will place the created qrc files in their own architecture
then we need to make sure that we account for this when returning a list
of all the resources. This is so that when other files are created that
depend on this list, it is able to find them.
Fixes: QTBUG-81477
Change-Id: I4a083c1c5c3e0aec35649cf7f5419cf3c6a75eae
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
As of version 1.39, Emscripten now uses upstream llvm instead of
the "fastcomp" fork. As a result of this em++ no longer builds
via the asm.js text format, and the performance issues related
to text parsing are gone.
Reducing the binary size for debug builds is no longer needed,
and we can fall back to using the default build flags.
This effectively makes 1.39.x the minimum Emscripten version for
Qt 5.15. The "-fastcomp" SDK variant is not supported.
Change-Id: Id66ef77294a9accd1b103e34785458d71dc188b1
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Cascade Lake (CLX) added AVX512VNNI, Ice Lake has added that plus the
integer multiplication (IFMA), the vector bit manipulation instructions
(VBMI and VBMI2), bit algorithms (BITALG), the extended vector AES
instructions (VAES), among others.
I haven't turned on the configure check for those yet. I believe the
VBMI and IFMA instructions will be interesting for Qt image algorithms,
but we'll need some Ice Lakes to do benchmarking on.
Change-Id: Ib5d667bf77a740c28d2efffd15cb43dd821d4b2d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Also move the setting of default RCC_DIR into qtFlattenResources as we
need a valid RCC_DIR there.
Fixes: QTBUG-81699
Fixes: QTBUG-81713
Change-Id: I7558d99f3aca75d2e9cad0ec89fbb0aa0758dcc7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This adds instrumentation to the binaries. At the end of their
execution, these will then write a file containing information which code
was executed. This can be used for code coverage analysis.
[ChangeLog][QtCore][configure] Add switch "-coverage source-based" to
enable clang's "source-based" code coverage feature. This can be used
for code coverage analysis.
Change-Id: If31c6849aa797ff8820e041e85a492a14e2f1a6b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
For every executable that uses a static Qt library (e.g. rcc using
libQt5Bootstrap.a) we got a warning: 'direct access in function...to
global weak symbol'.
This was because we've built all libraries with -fvisibility=hidden
-fvisibility-inlines-hidden but not the executables linking against
them. On macOS however, all translation units must have the same
visibility setting.
We're now setting the same visibilty for libs and executables on
darwin.
Fixes: QTBUG-81297
Change-Id: I2668e9385caa7f0ce78bf3727b4e5322bc4a294f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>