| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These cannot be detected while the product with the bulk dependency is
being handled, so record the respective tags and throw an error if a
product with a matching type finishes after the product with the bulk
dependency.
Change-Id: I1d6d2370b1849ea9aa4602df960a4203abf5ffe0
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
The logger is not thread-safe when stored warnings are enabled.
Change-Id: Icb7a3add9f6162ab823c0b27059aea88822ff60a
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|\ \ |
|
| |\|
| | |
| | |
| | | |
Change-Id: Ic03c526f407d44d7d889a6a0a23c5e79795999b9
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The -fsanitize-address-use-after-return switch was added in LLVM 13, but
Apple clang 13 does not have it.
Change-Id: Id0bc7c18aa2ad17faed20c2af54f192661d63b3e
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... when qbs.buildVariant is "profiling".
Fixes: QBS-1758
Change-Id: Iae6e98af3b16860a5c8e5c20ebb52fac3127e9e8
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|/ /
| |
| |
| |
| |
| |
| | |
Amends f19e6751987c54ee5cb16cfa144c82f4fd36dc73.
Change-Id: I553eb521e2b51163f693ded13e9383de31a47b8b
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Based on the capnp version. So one could use
Depends { name: "capnproto.cpp"; versionAtLest: "..." }
Change-Id: Ieb589deef2fd62d1526f8a0963a945ba01c5b000
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
At least on my ArchLinux machine, it won't work otherwise.
Change-Id: I4179f51c72bf67f26c17c03e8cbe57dd805122d1
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
This was broken in 268ad79759f75a25b7b192fc27283a6f1f446bb0.
Change-Id: Ic97e63615bda5b6474ed31985e8e033dc8a9e371
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
There's no need to drop Qt 5 just yet, but we should require the latest
version.
Change-Id: I2653ef5c3c244453db88a48d59e2c86eb38518b5
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The use case seems somewhat dubious, as the intention is that profiles
defined inside a project should also be attached inside that project (via
qbs.profile), but why not support it if we can.
Fixes: QBS-1756
Change-Id: I569c4c7b39c34fe6f4f5d4172139046310524773
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows us to get rid of the mutex in ItemPool.
There seems to be no measureable speed-up, but it's still the right thing
to do.
Change-Id: I509ad6d37c4cae812bee86e92981039ef210ba42
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Various conditional tests were erroneously skipped when run without an
explicit profile. Fix this by checking the actual toolchain used instead
of profile contents.
Change-Id: I9cc589f038d76112998a126cce4bf314a57c742e
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|\|
| |
| |
| | |
Change-Id: I6176c269e1cb23e88179d6e53f1f2bf57a668176
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Dmg module collects all installables and replaces
the absoluteSourceBase with stageDirectory.
However, by default, we install the bundle to the
installRoot/installPrefix/installDir folder and
absoluteSourceBase missed the installPrefix path
which is "/usr/local" on mac by default.
Change-Id: I24dfab27b0321308347883376a052c479388418a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix keys used in settings to match those that are actually
used in python.
Removed Korean and Russian license agreements - they are not
listed in the allowed languages.
Also, even when added to the list, Russian eula.txt makes hdutil to
return with an error for some reason.
Those need further investigation.
Fixes: QBS-1753
Change-Id: I510d4f1896625d6a0b63c4005288d29069776c9a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I883be3f550706ed8178dbb247dcb481d0a9dad4c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I8ed20eb9bd4470941fc7b3b170bf4d9bab96a49b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
We must not leave "require" values behind.
Fixes: QBS-1751
Change-Id: If09c452d0df07642af0cd602d146173d9b638f79
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise the Evaluator will erroneously add the instantiating item as a
scope.
Fixes: QBS-1747
Change-Id: If13a9b8174000d63f020b51677b855b9027d66f1
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| | |
Change-Id: I9b102f0efd9bb96470a37454a578f422f72202a8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I94938476436eb9164900a5104fa3c45af3ed95df
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Preparation for loader parallelization.
For simplicity, we do not introduce a new command-line option, but re-
use the -j flag that was already present for building.
Change-Id: I71ce31ec3ccc592d222bcfe14a8aaf311126020c
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The resolveProduct() function is now executed for several products
simultaneously, with the (relatively few) accesses to common resources
guarded by mutexes.
Using Qt Creator as a mid-to-large-sized test project, we see the
following changes in the time it takes to resolve the project on some
example machines:
- Linux (36 cores): 10.5s -> 4.8s
- Linux (8 cores): 17s -> 6.5s
- macOS (6 cores): 41s -> 16s
- Windows (8 cores): 20s -> 9s
Unsurprisingly, the speed-up does not scale with the number of
processors, as there are typically lots of inter-product dependencies
and some expensive resources such as Probes are shared globally.
However, we do see a factor of two to three across all the hardware and
OS configuarations, which is a good practical result for users.
Note that running with -j1, i.e. forcing the use of only a single core,
takes the same amount of time everywhere as it did without the patch, so
there is no scheduling overhead in the single-core case.
The results of our benchmarker tool look interesting. Here they are for
qbs and Qt Creator, respectively:
========== Performance data for Resolving ========== (qbs)
Old instruction count: 9121688266
New instruction count: 15736125513
Relative change: +72 %
Old peak memory usage: 84155384 Bytes
New peak memory usage: 187776736 Bytes
Relative change: +123 %
========== Performance data for Resolving ========== (QtC)
Old instruction count: 59901017190
New instruction count: 65227937765
Relative change: +8 %
Old peak memory usage: 621560008 Bytes
New peak memory usage: 761732040 Bytes
Relative change: +22 %
The increased peak memory usage is to be expected, as there are now
several JS engines running in parallel. The instruction count increase
is likely due to a higher amount of deferrals. Importantly, it appears
to go down massively with increased project size, so it does not seem
that the parallelism hides a serious per-thread slowdown.
Change-Id: Ib4d9ca9aa0687c1056ff82f9805b565cc5a35894
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ibf553f9065e8002ba4dadd961de08d6f1951189a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QBS-1748
Change-Id: Icfc55fa6e57cbfc32ccafbdbffb156e9405cb88e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I43500e1d30c032cea80991bdf003c77b77a802d8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If provider is seriously broken, we should give
user some hints in case of optional dependencies;
otherwise errors are silently ignored.
Change-Id: Ie88c2c706bff600086d7760056df155b7a7e8705
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce a StoredVariantValue that is saved in Probe items.
Only QVariantMaps/Lists are stored since they can contain
potentially huge objects (e.g. info plists in XCode).
Cached values are now "frozen" so that users won't
acceidentally modify them. Bundle module is updated
accordingly to avoid mutating stored objects.
This saves about 7s when resolving QtC on Mac.
Change-Id: I0dd134f95105b1e4cf16e4320819db81a1c1e9a7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I00903408969ae49ea6499b71f0a4066394837453
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Id331ef3cc9e7b48470d391c1c3e917bb323e41f7
|
| |
| |
| |
| |
| | |
Change-Id: Ie535183ced8ee200c506b54d4958976f321cb7fb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I2e5c754e20286b37c8b6d79321f5eb191eefc6d0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unlike Module itself, within the Rule.prepare script, we
cannot access properties of the non-present Module.
Fix this by adding helper properties in the Bundle module
that are set to 'undefined' if xcode is not present.
This amends 9cfd88b1b7cca084fabe8053d988aa0685f0cfb3.
Change-Id: I5f1c86bd093610f1de8ecb9f9732b2a1b0245baf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The commit planned to be 2.1.2 is not suitable for release.
This reverts commit 0ec11ef97d82cba82495d26502167349e0acfb64.
Change-Id: I1d7b240efe93b9600c2a300ea531c2d5a7301bc5
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| | |
Change-Id: I07bca49373987d9c8c5afc1d6d958f392560cf96
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ib606da3047c078afc0bbc44fa62cb1c111e15755
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The code doing the initial Module item setup was scattered around
various places, which not only made it more difficult to understand, but
also lead to some of it potentially getting run more than once per item.
Now all of it is in one properly named function.
Change-Id: If95c0d25131f77f985980cea2b772dc1e2e92303
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Qt 6.2 prints annoying warning messages when using QProcess in non-Qt
threads.
Change-Id: Id6e3d65052595c6b492bd53ad73160aed84100a3
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
It is not used and exported as int which is quite confusing.
Also, reduces a bit the size of the exported object.
Change-Id: Ia89dfe87fb3360081a3892a4cf1b38937e523de5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The very same value was accessed unconditionally a few lines further
down, so we can safely assume it to always be non-null.
Change-Id: I8693360904341e4842f827d89bfc0b0e47c894dd
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|\|
| |
| |
| | |
Change-Id: I718fa87e4d71fe7ab33ecef5c09407c562f9077e
|
| |
| |
| |
| |
| | |
Change-Id: I9045a8f5d2a77d002b3ae4df24cc124f54aaa157
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Fixes: QBS-1745
Change-Id: I11fb7fc8d9b047e814fd090141a0c434e1b6cd63
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| | |
Fixes: QBS-1744
Change-Id: Ic2a35650ac6dc00b63d7d274d4feba46cae676cb
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As of fb52fed84a1510a7de0172e643d6fd66a780e2e8, the prototype link from
ModuleInstance to Module should not be used for property evaluation
anymore.
Change-Id: I01975ffe7d981d9927018d4f2d7d965da57ce18c
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Apparently, these checks were simply forgotten when the test was
originally introduced.
Change-Id: I70353b4aec14d9bcc0ab88e06be7ad9ac2098d39
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise, some code paths will be seriously underestimated: For
instance, a function that takes just under one millisecond, but gets
called a million times, would erroneously show up with zero total
effort.
Change-Id: Id67c423489c2e88df883d369861a2805e0a4a3b1
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Namely, for exactly the parallelizable part. This will yield valuable
information when comparing time taken with e.g. different thread counts.
Change-Id: Ia2d988fdd0edba6e0468b1834368f7f2240b7387
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|