Add tools/architectures.h

The architecture-related functions do not belong into hostosinfo.h.
What's even worse is that we currently include that private header in Qt
Creator, which is a no-go. So introduce a new public header that
supplies the required functionality.

Change-Id: I413c1bcfdf799f3aa768ce5c116f0122da8ac81c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
libqbsqtprofilesetup: Get rid of bogus warnings about missing prl files.

- Don't look for debug libraries in a release-only Qt (and vice versa).
- Some libraries are never built as debug libs.
- On Darwin, some modules are not frameworks even in a framework build.

This also fixes a bug setting up plugins of a static Qt build.

Change-Id: I7e6c1e06070897982fdb9b12930bd7f75ae620b0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Make Qt build variants logic more sensible.

We no longer force the Qt build variant to match the build variant
of the application linking against it (except for MSVC, where that
is required).

Change-Id: Ie2c80fbb0d688cdcbab57ad638aaccbbd6988a22
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Documentation: Add missing Module property descriptions.

Change-Id: If166a9ee3f9cec648c021511551c5df935820860
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Add missing copyright notice.

Change-Id: If76a48cba01f34a2e5a78905d94a86538de1c81a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Improve the documentation for the Module item.

Everything we showed there was how to add dependencies, which is more
relevant for the Depends item and has consequently been moved there.
Instead, we now show a complete module and how it interacts with a
product that has a dependency on it.

Change-Id: I4858e47c1d4c8c9861f40089c572c13e3b0ae83b
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Utilize ModUtils.PropertyValidator in Qt.core module.

Change-Id: I3631ec337d3657d4e69a2bd02f3c5b63f8ad4b2a
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
remove --hash-style option from linker command line

The .gnu.hash ELF section is not available on MIPS,
therefore this option must not be added unconditionally.
Rely on the linker's default instead.

Task-number: QBS-696
Change-Id: Ib31f6087a24b35e7fb0110fe777e03050b06c412
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
factor ExecutableFinder out of ProcessCommandExecutor

The functionality of finding the right executable in the build
environment is useful in other contexts too.

Change-Id: Iea73ccbc6eda1f0e58e4aadca3a2c23c7211168d
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
make product's file path cache thread-safe

This cache is accessed from multiple threads.

Change-Id: I85f8d2a08215bd5d7478ae862ff611deaa07d400
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
let JS extension Process find executables in PATH

Change-Id: I9052b8e895cb638bc4b8a185959c72e6819fb628
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Refactor IB module a bit. This fixes the asset catalog autotest.

Task-number: QBS-669
Change-Id: I026bc51cd73db64bf8f96163362af4e9b77c70e3
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
avoid usage of QScriptContext::callee in callbacks

In order to fix QBS-695 we must work-around QTBUG-39416.
Instead of relying on the callee() and extracting data from it, we're
passing payload via QScriptEngine::newFunction.

Change-Id: I1d454fba78523c7cd77a906952bdd48cbd5330db
Task-number: QBS-695
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
let Item::clone() create a deep copy of the item tree

Product multiplexing uses Item::clone() to create a product item
per profile. Cloning the product is not enough, however.
We must create clones of the children and item properties too.

Task-number: QBS-690
Change-Id: I8f46488ffa5df255ee9c2b0571145c7ff034c204
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
yield error on undefined elements in string lists

Instead of converting undefined values in string list properties
to the string "undefined", we yield an error.

Change-Id: Id370dafa67061f1f1a86bbeaaeed152be6fc751f
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Bump version.

To 1.3.3.

Change-Id: I6d3fa52de7a2682fa3bc93ecf8c37121c5b19233
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
License update.

Add LGPLv3 option.

Change-Id: I8a63ad5e46a2701032b2103f791df4dec5b707e8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Set the initial value for "destinationDirectory" to "buildDirectory".

In BuiltinDeclarations. The replacement we do in ProjectResolver could
be too late for some contexts.

Change-Id: If418f894fd8d161399b25a03e56876b34c3ee1cc
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
complete license header update

Change-Id: I2c7ea3242e5ce244e8feee01c0f8a0b0651fa0d4
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
qtprofilesetup: Inhibit more warnings about missing prl files.

Namely, those for Qt 4 modules that can be configured out.

Change-Id: I0eb5741183c82762abe59d3cfdc67a30f0189a07
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>