| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds QtScript as a git submodule to build the qbsscriptengine
library.
QtDeclarative support has been stripped out. We don't need that.
Windows CE and Symbian platform support has been removed.
JIT has been disabled, which improves resolve/rule execution by 8%.
[ChangeLog] Bundled QtScript as a submodule.
Task-number: QBS-913
Change-Id: Idfbaf06eb2cef3985e5eae955f231686499f7754
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ie416a83940654e21b8872a8c7dc9f56b677ebabd
|
| |
| |
| |
| |
| | |
Change-Id: Ie7387d03a4106bbf40e717941ae0b53f8b554311
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|/
|
|
|
|
|
|
| |
This is default since quite a while, and we never actively maintained a
separate DEPENDPATH anyway.
Change-Id: I3f376f0a3b7f4066be800f795ace05b753797461
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
We always want QML_PARSER_EXPORT to be empty. Enforce this by adding the
necessary preprocessor macros directly in qmljsglobal_p.h. This removes
the need to define QT_CREATOR and QML_BUILD_STATIC_LIB=1 in our project
files. Also, we failed to do it correctly and always dllimported the QML
parser's symbols.
Change-Id: Ibecb2582546385c2067bd01edaba8694aa057e51
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
Also export necessary symbols that they need.
Change-Id: I3023893a3da82cf0d86b0d08df38943db867cf3a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
Otherwise, our binary distributions will not work out of the box, as the
process launcher is not in the same place as the libraries.
Change-Id: Ied375fa48e5c2cb037d3cb2108296126ee3be4cc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Linux (and very likely other Unices as well), QProcess::start()
incurs a certain overhead, because forking off the child process
duplicates some of the parent process' resources. This overhead appears
to be proportional to the amount of memory allocated by the parent
process, presumably due to page table entries getting copied. This has
consequences for qbs, particularly when being used from an IDE such as
Qt Creator, which has a higher memory footprint than the command line
tool. When using a high job count, as is typical on machines with lots
of CPU cores or in a distributed compilation environment, the following
problems were observed:
- High CPU load in the starting process (Qt Creator). Profiling
showed that most of the time was spent in fork() and related
functions.
- As a result, the number of parallel jobs stalled at a value
well below the requested one, slowing down the build.
- In some cases, QProcess::start() failed altogether, emitting
a message such as "fork() failed: Could not allocate memory".
We solve these issues by outsourcing the starting of ProcessCommands to
a dedicated launcher tool with modest memory requirements. For each qbs
process, we have one instance of this tool running while a build job is
going on. Communication with qbs happens via QLocalSocket. The protocol
is encapsulated in a QProcess replacement, so almost no changes to
existing code were necessary.
No performance regressions were observed when using lower job counts.
This patch will also enable us to properly support the incredibuild tool
in IDEs such as Qt Creator, which you do not want to start via
ibconsole.
[ChangeLog] Improved scalability of parallel builds on Linux by starting
Process commands via a dedicated launcher process.
Change-Id: I8966c00a2d67a94c3a380f0e089d61eda122209e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
Scanner plugins will now also be built statically when Qbs is built
against a static Qt, enabling single-binary distributions.
Change-Id: Id2587b79815bcc6d9ec569f5b168445fe7e843d3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I4cd8ffc3e0aded0b962b9f12682ec8db08902ced
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
Supports versions 2010 and above.
Task-number: QBS-31
Change-Id: I191efa274729060c8e2f392abac2e9f7cd027e39
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
This moves one step further to making the setup-toolchains tool
unnecessary and also makes the toolchainInstallPath of MSVC
profiles consistent with what Qt Creator sets.
Change-Id: I3eb11b456bf02bde8993ec0dac7e0f9950174a08
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Backport of 3432742caa5171ceddee0e75adefda9310c3b1eb in
qtbase/src/corelib/io/qlockfile_unix.cpp of QLockFilePrivate::processNameByPid()
that merged NetBSD, OpenBSD and FreeBSD as well as GNU/kFreeBSD
implementations into one block.
Change-Id: I5fdc086d5c2680d5a431339873c8685b0e68bf57
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
These are considered internal and thus not documented. Will be utilized
by a subsequent patch.
Change-Id: I028f861d35304c3588c36eaa043a616a5c25a23d
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Task-number: QBS-828
Change-Id: I70f309b96d6756f0d6dd5f3ba5cf7dd29808a67d
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I140df0ad6b7e6ab9c2366df632d10cbef35e5a7b
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Since Windows 7 the symbol GetModuleFileNameExW is in kernel32.dll.
Before it was in psapi.dll. To consistently use the symbol from
psapi.dll on all Windows versions, we define PSAPI_VERSION=1 and link
against psapi.lib.
Change-Id: I0f796b9d105e5b229428bd5635eccd67714a4aa9
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
More generally, a plugin-based API to support performing arbitrary
operations producing some output given a resolved qbs project.
Task-number: QBS-658
Change-Id: I5c0c3652520ec17e751ad9980bc186dde58e48d1
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
By giving them all the "qbs" prefix. This also reduces the risk of
clashes with values from other sources.
Change-Id: I9406edccbc813e4759c840e17cf07926ae86a2d4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
This was missed in 0ebf1bfa33.
Task-number: QBS-565
Change-Id: I34a4b2c37b32749c94c045de0a2f7a628f4b0ada
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
Otherwise all changes to the implementation will have to be duplicated
in IDEs.
Change-Id: I61e6d4fa1ee9b724eb5d9de9f233dc915a6c8bc3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|