Fix dependency detection corner case

Also skip indirect dependencies from the "bundled" element if
their dependencies are not explicitly included.

Task-number: QTBUG-34285

Change-Id: Iedb726c35d1c979a2ebab551095edcf4ce5cb3a1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Use stdout for debug output

We need to use the same stream for all debug output, otherwise
they will be shown out of order. Also add some more verbosity.

Change-Id: I66d2e1e67fb6303178a8240815d9faff396f77ea
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
query the presence of the right module

the existence of a -private module does not imply the presence of a
public module any more, so we need to test for qmldevtools-private
explicitly.

Change-Id: Ibd691d758bcaf9c07280bd560521f4947be98f06
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
remove pointless statements

the INCLUDEPATH to the corelib build dir is useless and plain bogus (it
wouldn't work in a modular build anyway).

CONFIG+=console is pointless, because qt_tool does it.

Change-Id: Ifa9a19c7be6a866b26eb980d5b34ab00b3503d49
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
ProParser: Plug raw data leak

QProcessEnvironment caches keys, so we must not pass it QStrings created with
fromRawData()

Task-number: QTCREATORBUG-9142
Change-Id: I29fade02f3bc4110fafb1b04d44f2e653951a2ae
(cherry picked from qtcreator/99f15f1706868c4b2f84bc4164451bd69b3b8188)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
qmake: add $$title() function to convert strings to title case

Change-Id: Ic535a8f7cc2ab7b7f1948b2d0237ebe9a71c7ec7
(cherry picked from qtbase/413ec67fc46ad7049f870cdb8ead35149b215d45)
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
qmake: Expose ARGC to qmake functions to be able to check argument count

ARGS already exists, but is a flattened list of the arguments, so both
foo(bar, baz) and foo(bar baz) will give count(ARGS, 2), making it
unreliable for validating arguments to qmake functions.

Change-Id: I0bcc16614c64000169431327da48fd1a26708e67
(cherry picked from qtbase/09205d573413da8a2ac3826198fe36bb2dc4349f)
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
qmake: Load extra variables only if also loading pre-files

The extra variables only need to be applied once, when we
are loading the pro file (and hence are loding pre files),
not for every single pri/prf that's loaded as a result of that
(which do not load pre files themselves).

Change-Id: I3118694a8eeccf2dc32c4f62df754033fad13528
(cherry picked from qtbase/8e7dc25380dceebca094e092d9feb21ad167ba91)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
qmake: Evaluate extra configs before loading default_pre

Exclusive builds uses setExtraConfigs to apply the particular CONFIG
of each build pass. Unfortunately we were not applying these extra
configs early enough in QMakeEvaluator::visitProFile() for them to
be picked up/usable by default_pre, something that can be useful.

Change-Id: I423a4688250a15f0c1a2cc65a48f0bbc14ad4497
(cherry picked from qtbase/eea1c359c9663cec15e7373c065ee06cba151eed)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
qmake: Update internal mkspec on changes to QMAKESPEC

Allows the macx-xcode mkspec to be a wrapper around other mkspecs.

Since QMAKESPEC can now be set in the spec, we have to ensure not
to append to QMAKESPEC.

Change-Id: Idf33ff38147f14c488f14b426c02d9a739fdaecf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
(cherry picked from qtbase/a9bad65b091d15b0446fa141e0a69ebb94b38b70)
qmake: Expose qmake arguments as QMAKE_ARGS

Allows project files or mkspecs to call qmake recursively using system()
with the right arguments, which we use to fix the ios default_post.prf.

Change-Id: I90d69e2b156bb0f0af1279188b11f81c84c24fb8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
(cherry picked from qtbase/1cdbe4752bef972db5471e811e9a781749cd0380)
Reviewed-by: hjk <hjk121@nokiamail.com>
Add JSON parsing support to qmake.

Add qjson* implementation files from corelib/json
to the qmake build. Add a read-only compile mode,
enabled by defining QT_JSON_READONLY.

Add qmake built-in function parseJson(file, into)
which parses a json file into the given variable.

qmake uses a flat key -> value-list implementation
for storing variables, which means that some hackery
is need to represent arbitrarily nested JSON. Use a
special "_KEYS_" variable for arrays and objects:

Arrays:
["item1", "item2"]
$${array._KEYS_} -> 0 1 2
$${array.0} -> "item1"
$${array.1} -> "item2"

Objects:
{ "key1" : "value1", "key2" : "value2" }
$${object._KEYS_} -> key1 key2
$${object.key1} -> value1
$${object.key2} -> value2

Change-Id: I0aa2e4e4ae14fa25be8242bc16d3cffce32504d2
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/89ef515177fd5a0b5d95dcffd5fd0b0669e3625a)
Reviewed-by: hjk <hjk121@nokiamail.com>
make setting a bad $$[QMAKEFEATURES] not crash qmake

Task-number: QTBUG-29642
Change-Id: I9cc209eb313f03bf342bcb64b1de3005755700a7
(cherry picked from qtbase/50a90720be7d67dcdfe704a82fb3b1138edd2aab)
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Doc: Rename doc directory of Context Sensitive Help example

During packaging, the doc/ directories are removed from
examples when they are copied to Qt examples install
directory.

This example has a doc/ directory with contents required
to run it. This change renames it so that he packaging
doesn't break it.

Task-number: QTBUG-33848
Change-Id: I7b4e29d7b3c2c2ff9429c1a81bd32fb809d0cdb3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Fix resetting of string properties.

Task-number: QTBUG-34171
Change-Id: Ib5fe8194d891eb999e41bafde19834be56c84103
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
androiddeployqt: Remove support for QMAKE_SUPPORTED_ORIENTATIONS

This was created for the iOS port and intended to be cross-platform,
but since then they got cold feet and never added the support.
It makes no sense to only support this on Android. We need to
remove it again and hold off until we can find a proper solution.
Editing the AndroidManifest.xml is the non-cross-platform
solution for this.

Task-number: QTBUG-34166
Change-Id: Ide8abb159266bcb2af03667ecf8d92da127960b1
Reviewed-by: BogDan Vatra <bogdan@kde.org>
windeployqt: Fix matching of modules to take substrings into account.

Qt5WebKitWidgets was not deployed since Qt5WebKit always matched
the library name.

Change-Id: I2bf7268cb2b9db4bf3daf97657c1baf635224e07
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>