the fallback path wouldn't account for a sysroot. as there is no clean
way to implement that, rather remove the fallback alltogether and make
the rpath a mandatory part of modules.
Change-Id: I6f2bd6e36889be2f61e17a579174380aa3c6622d
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Making a properly installed libQtBootstrap simplifies
our tools build process a little and in addition allows
other comand line tools to use the bootstrap lib and
link against it.
Initial-version-by: Lars Knoll
Change-Id: Iddf4568a5505bc24898ec1abf7e7022e19f0a454
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
the respective flags/defines need to be prefixed with a minus sign.
Change-Id: I8a3a46254f90d4ecdbd692a0eca635038691d078
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
this makes it possible to configure with -nomake tests, but have, e.g.,
QTSVG_BUILD_PARTS="libs tools examples tests" to enable tests
specifically in the svg module.
Change-Id: I925ab955ac32ec3e311c2a852a51b098fd4e0ea3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
qmake automatically appends the library's major version number to the
DLL file name on Windows, as DLL naming doesn't include the version
number on a suffix like on Unix systems.
This flag makes it so qmake skips adding. This will allow us to insert
Qt's major version number at a different position.
Change-Id: I25d471038841fb0c5a34ef6b3bd6266aa33cebd1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
otherwise we may remove a user-provided setting.
Change-Id: If3217a3d92938fe2f3ac3740a645d3ace0ce9ab0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
it's basically an attribute of qtcore (and everything that depends on it).
Change-Id: I6eeefeb5df70764399d9f22dca9dbec1843b8d68
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
we now have qt_build_config.prf which can contain static code.
Change-Id: I3f0ae142fdc5ffb4e1d25e628e809ba15b5f0ac4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
the function is automatically performed by debug_and_release.prf,
regardless what we do with this flag.
Change-Id: Iddec69b35e0e905fdf4133ee240af37d3a8ada0b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
... and use them in qt.prf instead of (not) maintaining hand-coded lists.
Change-Id: Ia21f7864eaf3ca92fa75f23876f71075d0521f4b
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
this is less expensive, as qmake already provides us with it.
Change-Id: Ifb44ea9126e6b52c02025858c5d88032e7a6cc2a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
it now defines the DESTDIR and creates an INSTALLS rule.
Change-Id: I15a462ccad9acbe3521c352fa98327825dc27c05
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
these are in fact thin wrappers around the qml2 variants, which got
respective hooks.
Change-Id: I1190856aea3f454b6f163e147d39c707a35ec4c6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
set DYLD_FRAMEWORK_PATH instead of DYLD_LIBRARY_PATH
Change-Id: I9849f12063b8c7a45d040c087f4611c3a48180b8
Reviewed-by: Johanna Äijälä <johanna.aijala@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
while plugins for libraries need to follow the -debug-and-release switch,
plugins for tools must follow the single-config approach of tools.
Change-Id: I8a79e98034d2ff8b5d4e6191a9143c9472a5aa02
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
we now have tool and soon plugin pri files. make them easily
distinguishable.
Change-Id: I8904e4182227a78060121e8712446bc43b1dd185
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
use $$MODULE_BASE_OUTDIR & $$MODULE_QMAKE_OUTDIR directly.
this is a no-op, except that now module pris will be built in qtbase for
all modules when building without -prefix - which is only consistent with
all other artifacts.
Change-Id: I2965b2c7a15aa9e82ba6017f5f4c0daa14b6e6fe
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
it is a bad idea to extract plugin paths from library modules.
instead, just collect plugin paths from all known repositories.
Change-Id: I527325f20e9cf98ae974997530af1b2893537e5d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
qt_debug & qt_release are dead, so collapse the respective paths and use
an existing function.
Change-Id: Ie800be477186a6eab72682d367b24e83c3b9bbc0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
this is qt module specific magic that has no business in the generic
default_pre.prf.
a side effect is that every qt module now needs to have a .qmake.conf
(unless it sets MODULE_QMAKE_OUTDIR, like webkit does).
Change-Id: Id9e5f6eee2d8ec0c711e7217d9e1893fc9c88132
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
should now actually work for all build types
Change-Id: I2dc1f8231737c13e95ce8aab1330b4f063951547
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
The new 'prepare_docs' CONFIG option triggers the documentation rules in
default_post to generate two extra targets: prepare_docs and generate_docs.
The prepare_docs stage runs qdoc with the -prepare option, which means qdoc
will only generate index files, and the generate_docs stage will call
qdoc with -generate, which reads the index files and generates the final
output. The regular docs target will then run the prepare_docs target
for all submodules before running the generate_docs target.
This ensures that when generating the final output, qdoc has all the
index files for all the other modules available, to be able to resolve
cross-references between the various Qt modules.
This patch needs a follow-up in qt5.git to add CONFIG+=prepare_docs, so
that the root Qt5 build will be able to hook into this new behavior.
Change-Id: I654d7f0d4d5a41d9be208e6d3a8923bf0194f9ad
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Clang's libc++ does not support 10.6.
Add mac-minimum-version.conf which sets the version
to 10.6. Set the version to 10.7 in the clang-libx++*
mkspecs.
Change-Id: I494d0d24b0d73d9395e9d5406c8c63c9af87f8cc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
By depending on a simple variable instead of a more complex expression, we
can more easily use this file from other contexts.
Change-Id: Ib6ce1e2537f3e7ac19d25ad33454f25e85f71040
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Having them empty is the common style and is less noisy.
Change-Id: I30c0c4d297a7bdb373a57a636f4fdbc488a69fcd
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
It's actually looking for the mkspecs (so it can read qconfig.pri to
get the Qt version), so give it exactly what it wants.
Change-Id: I2957b2d93a8837b8492d313209d45ff3ec01704c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Just like 'make docs' is used to build documentation, you will now have
to run 'make install_docs' to install it.
Change-Id: I57db53160ca91618784f4e39da0a47322c070208
Task-number: QTBUG-27590
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
The qmake function prepareRecursiveTarget can now be used both by the
existing logic in default_post, as well as future recursive targets that
will be needed as part of the modularization of documentation builds.
Change-Id: Ibc72c3e224cb57c9f1796de3b04fda9de663dbb4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
that way we don't have to auto-generate code for that in the configures.
note that we now load qt_build_config.prf instead of just qmodule.pri,
which means that exceptions_off is set everywhere. we forcibly re-enable
them for testcases to minimize the deviation from default 3rd party usage.
testlib selftests are not qt testcases, so the one that needs exceptions
needs to enable them explicitly.
Change-Id: I1b9360bb11f2e80c92a2b63a7c45991ad17fda1b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
The -qtls option is needed when building with thread support so it can
use the local thread storage.
Change-Id: I693d944efddac911fe03b2c9a6b06a28f112b54d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
The content in the prl file is not compatible with what CMake
expects in the value of the IMPORTED_LINK_INTERFACE_LIBRARIES
property. That property expects a list of IMPORTED targets or
full paths to libraries.
The prl file gives us a whitespace separated string of content
suitable for passing to ld, that is, it contains -L and -l content.
As this would take a lot of error prone parsing in cmake code in
order to resolve the content to a list of full paths to libraries
(which can be processed by any cmake generator), it's better to
remove the code until qmake is able to generate a list of full
paths.
Change-Id: I72fe8e862b7f3bd25a7f9a03db94d2e9b815d08a
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Make sure that both debug and release versions of QML plugins are built
if Qt is configured accordingly. Also pass on the other QT_CONFIG configurations.
Change-Id: I4aaaf002068dd66277235bef7d1e3da3366d6d12
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
The default symlink is not available on Windows, so the qplatformdefs.h
header is not available there. Instead we can bypass the symlink and
use the actual mkspec name directly.
Change-Id: I1d7e05f35c1ff56befab5bed307cb1755ade8377
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
It was only needed by qt_module.pri anyways, to handle index lookup
paths for qdoc when building documentation that depends on other modules.
Change-Id: Ibf60e2504f388b1aed7231eee04d89d3ba31c6eb
Hand-held-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This option was necessary in early ICC 12 releases because of a
difference in interpreting the ABI requirements with GCC. According to
ICC devs, GCC changed the ABI on its own to require 16-byte-aligned
stacks on i386.
It looks like this option has been the default in later ICC 12
releases. At least 12.1 update 5 has it by default. ICC 13 does not
have the option anymore but accepts it silently for backwards
compatibility.
Change-Id: Id8bb4c250718eef2f02dc97bd47a0efd95b272fc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
qdocconf files can now reference $QT_INSTALL_DOCS to pick up e.g. global
includes, instead of using relative paths. Qt modules will automatically
get a doc target that builds and installs into the right place (including
supporting shadow-builds) if they set QMAKE_DOCS before loading(qt_module).
Change-Id: Ia408385199e56e3ead0afa45645a059d1a8b0d48
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
The generated CMake files need to pass ';' separated libraries to
the IMPORTED_LINK_INTERFACE_LIBRARIES property, otherwise we get errors
such as this:
http://testresults.qt-project.org/ci/QtTools_master_Integration/build_00386/win32-msvc2010_Windows_7/log.txt.gz
(grep for QtCore5.lib.lib)
Rather than a naive and error prone replacement of whitespace, generate
the appropriate ';' separated content directly in the qmake prl file.
Change-Id: I8eb5e233a0318b57ec74b86d910583ff99c29415
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
This change is possible due to commit 18654058
As it's now possible to use configure's -sysroot without
gcc's --sysroot, it's possible to use configure's pkg-config setup
(which comes with its -sysroot). This gives the possibility to
simplify the mkspec and be in line with the other device-mkspecs
Change-Id: I0f34ec2c5c7b06334ad3c1605001c0803272b027
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Enable eglfs build against any android > 4 tree,
linking to native libs without emulation layers,
running on top of surfaceflinger.
No GNUs where harmed in the process.
Yes, any android.
Tested on maguro, tf300, eeepc-x86
x86-64 compiles but broken elsewhere.
You don't need an Android.mk, but you must compile from within
a shell setup with androids "lunch" or an equivalent that set TOP and OUT.
Since we do callbacks to androids build system,
the same env restrictions apply (must use gnu bash, and gnumake 3.81)
Done-with: Samuel Roedal <samuel.rodal@digia.com>
Done-with: Robin Burchell <robin+qt@viroteck.net>
Done-with: Brian Avery <brian.avery@nokia.com>
Change-Id: Iec0178cdeadbeefc79e4fe6ef449d399ac8ca666
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
The library name changed back from quick1 to declarative, so the
debug option should be renamed accordingly.
Change-Id: I192520a0a4de4764cf93da8cdbb14e24ba7de093
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
stack-protector-strong gives performance benefits over
stack-protector-all and is still checking more than -stack-protector,
so seems to be a good middle way and we want to use it when it is
there.
The -shared option for the compiler (not the linker) prevents a
RIM internal version of qcc from forcing -fPIE, and should not harm
in general when set.
In addition, add a method "compilerSupportsFlag" for Windows as is
present in the Unix configure script.
Change-Id: Iba300e9cb82f34043e7b36f8e45287a1aed2a1a5
Original-patch-by: Greg Bentz
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
The wrong variable was used when reading the module settings
Change-Id: If35dc9694240a68393b24d7dba72520108cb9ac3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
The module rpath should be the raw QT_INSTALL_LIBS, without the sysroot
Change-Id: I4140929b38a589134872593e4ce35eaf7d1cd5b7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
All bugs in the testing scripts are now fixed.
Task-number: QTBUG-27087
Change-Id: I764257a9bbee7efeb9265449f6fa6a15bdeba883
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
We need to make sure to put the .lib file into the LOCATION property,
not the .dll file, when building a static library.
Change-Id: I8912abfd172d0939cd07ba02901ab58093ccefa1
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
As was done in ae6d4c77eb, but that commit
missed the mingw branch.
Change-Id: I1d76ed2f8070dced2749aabe889fee48c4086744
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
It looks like the qmake process failed if cmake is not installed.
Change-Id: I721796a602d8c572144e9d21be5d62b737698b73
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Change copyrights and license headers from Nokia to Digia
Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
it's mostly win32+gcc, but sometimes there are library differences, so it
makes sense to have an own platform flag for it.
Change-Id: I985f0dd39a47bfc16f10f4b4a9c168874ae2f20d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
on the way to eliminate scoping based on the spec.
gcc and msvc go as such into CONFIG, the other ones get the vendor
prefixed, as most are mostly unknown and thus likely to clash with
users' flags.
Change-Id: Ie622f53d90e96dbf05ce7d8c638cd355f04fa20c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
webkit actually tries to set it, and after the syncqt invocation changes
we were breaking it.
Change-Id: I1ec740b7e96c972ca173f384529dde1fc7e7cc13
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
for one, the syncqt invocation is qt module magic and thus simply does
not belong into the generic default_pre file.
second, this way the forwarding header generation is now linked to the
rest of the build magic for a particular module, which is way less
confusing for the unsuspecting developer.
Change-Id: Idc8e420d3faf173d7fff4a41e6e1c59af15c3023
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
the surrounding TEMPLATE == vc* scope already implies vcproj, as dsp is
not supported any more.
Change-Id: I68363aca62e21135f42572040ccc7b189dcf32c8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
the variable can contain a complex command which would make a mess of
the makefile.
also, the tool doesn't change all that often, so it's not particularly
useful to depend on the binary.
Change-Id: I965d6555cb22bd6d5306b324f5cad0d747128e99
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
qmake's new parser can deal with this much more readable code.
Change-Id: I772c9da4c9d049e2b332305f41496ed1196f60eb
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
so it's available for other users as well
Change-Id: I2d5a14ae427575c07321ac532b13ee03308b837f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
it's been superseded by the QTTOOL.* module stuff.
Change-Id: I01c9fc3ebbb22111bfb03f82693c7cf08b5fc9d4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
it must be defined, even if zero
Task-number: QTBUG-27232
Change-Id: I950ef61ede197af9c2d8aedddd712cc6d4cc745b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
See the bug QTBUG-18361 for details.
Change-Id: Idbe2043c07cca795e8e2fca8204993dfb0a11988
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Those compilers are old and untested. Qt is only tested with ICC 12.1
and 13.0.
Change-Id: I3a5fa9452de27a61ee087700cc054a76fe4160ee
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Removed QT_GUI_DRAG_DISTANCE & QT_GUI_DOUBLE_CLICK_DISTANCE from the
iOS qplatformdefs.h header as these values are dependant on display
pitch and should be calculated by the platform plugin.
Change-Id: I00c377483ad73cad19a2fe729cb3f45e9271e3ac
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
this is where the syncqt calls for all modules happen
Change-Id: I544e5fa6950c2babe56d78f5543d2c3262016687
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
This means user applications will default to Qt 5.0's API. Higher
versions or Qt 4 compatibility are opt-in.
Also set the default for Qt's own build to be 5.0 on all platforms
except Windows. On Windows, we need to set it to 4.9.
Task-number: QTBUG-25053
Change-Id: I603e0fda4785e64e1413cd82153a89e48005aa40
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
"CONFIG += qt warn_on release link_prl" is in every single spec (though
for link_prl there is one genuine exception and two apparent omissions).
Change-Id: I72e1e315586af828eefa3b0b70998ab892ec3c1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
there is no reason whatsoever to duplicate this so many times, and even
less reason to have specs with a deviating default.
Change-Id: Ia25836c079580adebc373697b8bd03598f79c69b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>