summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2016-01-124-65/+58
|\ | | | | | | Change-Id: I5839bded07e23af65ced9491c4f50242f964dd31
| * Change the ELF linker version script creator to take no parametersThiago Macieira2016-01-112-33/+21
| | | | | | | | | | | | | | | | It only needs stdin now, instead of stdin plus a separate file containing a list of file names. Change-Id: I9f3db030001e47e4a4e5ffff1425b76884cc7ca0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * fix docs creation in debug_and_release buildsOswald Buddenhagen2016-01-082-18/+25
| | | | | | | | | | | | | | | | | | | | | | | | qtAddToolEnv() (via qtPrepareTool()) does not write the tool wrapper scripts during build passes, while qt_docs.prf (which calls it for qdoc and qhelpgenerator) was loaded only during build passes. the consequence was that the makefiles tried calling non-existent scripts. amends 5418d77a1, sort of. Change-Id: I64ab573495ca339be4c7b5e8c6848b298b6cb605 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * un-nest enabling .la creation from enabling .pc creation (again)Oswald Buddenhagen2016-01-081-13/+12
| | | | | | | | | | | | | | | | | | | | | | now that we don't create .pc files for private modules any more, the conditionals cannot be nested. amends 6c5d227da, partially reverting aa20e7f9d. Task-number: QTBUG-49763 Change-Id: I2578c83e0c767b6533abdb26bf4e8bcc8c416ef1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * don't build with explicitlib on unixOswald Buddenhagen2016-01-081-2/+1
| | | | | | | | | | | | | | | | | | judging by the history, this was only ever a workaround for poor rpath handling. we're supposed to be over that. Change-Id: I85601493a05a76ead999e707a2d2e9a430610981 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devFrederik Gladhorn2016-01-0810-38/+97
|\| | | | | | | | | | | Based on merge done by Liang Qi Change-Id: Id566e5b9f284d29bff2199f13f9417c660f5b26f
| * fix doc builds in paths with spacesOswald Buddenhagen2016-01-081-7/+7
| | | | | | | | | | | | Change-Id: Ie76411e3a4a8df69ff9b12a18480d1a987fac639 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
| * Revert "use bindir instead of libdir when launching tools on windows"Oswald Buddenhagen2016-01-081-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | proper prefix builds don't have the redundant .dlls in bin (the copy step is simply omitted), so this is broken. the change would have to be done atomically with making DLLDESTDIR sane. This reverts commit 9b2e98245a95bec9179edf648d7b562d2d1cb692. Task-number: QTBUG-50065 Change-Id: I9ce0a2d1147a1a2d4bd2f22e619d5c737864a637 Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Tim Blechmann <tim@klingt.org> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * add always_prepend mode to qtAddToolEnv()Oswald Buddenhagen2016-01-081-3/+8
| | | | | | | | | | | | | | | | | | this is just an optimization/clarification: variables which are known to be never empty (like PATH) can be extended with less convoluted code. Change-Id: Ib365bbec8301673ed1c874979b4de19bc983dab1 Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * rewrite qtAddToolEnv()Oswald Buddenhagen2016-01-082-14/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the primary purpose is making env var prepend mode work for unset variables on windows. this is achieved by using a conditional and delayed variable expansion. however, the latter is disabled by default and can be locally enabled only in batch files. therefore, write wrapper scripts and substitute them for the actual commands. we do this also on unix, both for consistency and simply because the commands look much less confusing. this change is slightly backwards-incompatible, as invoking qtAddToolEnv() multiple times on the same command will now make a total mess. also, invoking it on a command that contains 'make' macro expansions isn't a good idea, so testcase.prf needed an adjustment. the function is an undocumented internal, so Nobody Should Care (TM). this also reverts 80ebedecf9, as it's obsolete now. Change-Id: I8394b77868b495abcf27b688996ca74c40b80994 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fixed recently added "excess colon in front of brace" qmake warningOliver Wolff2016-01-064-5/+5
| | | | | | | | | | Change-Id: I3a650bb4e27cad00f639e6445c36fa8b69edb5b9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Remove CMake warningHarald Fernengel2015-12-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | CMP0054 changes CMake behavior wrt. interpreting quoted arguments in if() statements. This change ensures that CMP0054 dev warnings are never emitted no matter how polluted the environment, e.g. even if the variable ${5.5.1} is defined and no matter whether CMP0054 is set to OLD, NEW or undefined. Change-Id: Iee008497b333e2db23fb1adbf8b02252314ffa8a Reviewed-by: Kevin Funk <kfunk@kde.org> Reviewed-by: Stephen Kelly <steveire@gmail.com>
| * Fix version script generation when cross-compiling from Windows to QNXMatt Hoosier2015-12-212-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent versions of Qt have apparently added sufficient numbers of headers that the command lines used to spawn a custom header- parsing tool, started overflowing Windows' maximum command-line length. This change restructures the mechanism to use a GCC-style command- line arguments file rather than passing filenames all directly in the argv[] vector. Although QNX is the usual ELF target whose cross-build is supported on Windows, the mechanics introduced in this patch happen to affect all other ELF Unix systems' builds too. Change-Id: I5a7383cf9f2ebf9dffde8dbfdcdeca888265e085 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-185-14/+35
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/painting.pri src/plugins/platforms/xcb/qxcbconnection.cpp tests/auto/corelib/thread/qthreadstorage/qthreadstorage.pro tests/auto/corelib/tools/qlocale/test/test.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp tools/configure/environment.cpp Change-Id: I9c40f458b89b2c206de2d2c24e90b5f679c93495
| * ensure that we don't leak QT_TOOL_ENV beyond qt_tool.prfOswald Buddenhagen2015-12-161-0/+2
| | | | | | | | | | | | | | | | the variable is later re-used by qtPrepareTool(), so the tools used to build the tool would get excess variables passed. Change-Id: Ib1bdd2211b4a8615e2be9ba0310822f373f5efb0 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * don't call qtAddToolEnv() directlyOswald Buddenhagen2015-12-152-13/+15
| | | | | | | | | | | | | | | | qtPrepareTool() does it anyway, so this saves repeated manipulations. for now, this is just nicer, but soon it will be a requirement. Change-Id: I5184e0e4597c6d5a4d7dd4cc4d81e7f742a79fc8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * automatically put TESTDATA into RESOURCES on android/ios/winrtOswald Buddenhagen2015-12-112-1/+18
| | | | | | | | | | | | | | | | | | QFINDTESTDATA is already prepared to find it there. Change-Id: I467392786ce6bcfbf1bd0b6079f60c9df06834b1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* | Add some interesting warning options to the compilationThiago Macieira2015-12-052-1/+17
| | | | | | | | | | | | | | | | | | This should help improve the cleanliness of our source code, including compliance with the C++ standards. They apply to all of our code except examples (they don't load qt_common.prf). Change-Id: Ia0aac2f09e9245339951ffff13c94663c1901766 Reviewed-by: David Faure <david.faure@kdab.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-022-7/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qcoreapplication.cpp src/corelib/kernel/qeventdispatcher_blackberry.cpp src/network/bearer/qnetworkconfiguration.cpp src/plugins/bearer/blackberry/qbbengine.cpp src/plugins/platforms/android/androidjnimain.cpp src/plugins/platforms/android/qandroidplatformtheme.cpp src/plugins/platforms/qnx/qqnxbpseventfilter.cpp src/plugins/platforms/qnx/qqnxfiledialoghelper_bb10.cpp src/plugins/platforms/qnx/qqnxinputcontext_imf.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxnavigatorbps.cpp src/plugins/platforms/qnx/qqnxvirtualkeyboardbps.cpp src/plugins/platforms/qnx/qqnxwindow.cpp src/widgets/kernel/qwidgetwindow.cpp src/widgets/styles/qwindowsvistastyle.cpp src/widgets/styles/qwindowsxpstyle.cpp src/widgets/widgets/qtoolbararealayout.cpp tests/auto/corelib/global/qflags/qflags.pro tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp tests/auto/corelib/tools/qversionnumber/qversionnumber.pro tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp Change-Id: I37be88c6c185bb85404823353e027a0a6acdbce4
| * enforce no-undefined on all platforms that support itOswald Buddenhagen2015-12-021-1/+1
| | | | | | | | | | | | | | | | | | no idea why it was limited to linux. the variable is already empty on platforms which don't support it anyway. also, for plugins, it's consistently enforced as well. Change-Id: I117f4988a2e301ca98cdc088188d6f8c44ea0ba5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * make force_independent live up to its nameOswald Buddenhagen2015-11-301-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | don't install the module .pri file into qtbase even when doing a non-prefix build. this has no effect on modules built as part of a top-level build, as they announce themselves via .qmake.super anyway. however, modules built separately become unavailable unless QMAKEPATH or QMAKEMODULES is set. this is deemed not relevant by the original audience of this feature (the qtwebkit team). Change-Id: I14c170b2c5dbb99608939aef1a541563d5b755d9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | remove now unnecessary indirectionsOswald Buddenhagen2015-12-011-10/+5
| | | | | | | | | | | | | | qt5 qmake is perfectly capable of complex expressions on the LHS. Change-Id: Ibf8c82a4aa1a419895c6012610269e1cc9ca93ab Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Include the qml files into a resource when building a static pluginAndy Shaw2015-12-011-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | Whenever a qml plugin is made static, the qmldir and other related files need to be compiled into the resources, so they can be found in the import path. By using qrc:/qt-project.org/imports, we can have this taken care of automatically for us via the build system, leaving us to just ensure that it is initialized in the code. Task-number: QTBUG-35754 Change-Id: Ifa7e2a66fd78dc6713dd7a8661ea2c155b174d35 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2015-11-272-8/+12
|\| | | | | | | Change-Id: Ib43c6f126998eefcfed9a7c1f2bcbac8b4dd05ec
| * use bindir instead of libdir when launching tools on windowsOswald Buddenhagen2015-11-261-8/+10
| | | | | | | | | | | | | | | | longer term, the redundant .dlls from the libdir will hopefully disappear. short term, this is a workaround for CI brokenness. Change-Id: Ia30173355f3aca222d4ca40e7a38c2cf535bbc03 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * build QML plugins with relative RPATH as wellOswald Buddenhagen2015-11-261-0/+2
| | | | | | | | | | | | | | | | amends 967372c97. Change-Id: I898950d6847e43d565748cd8d1ea583cf5ca5c9d Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/devLiang Qi2015-11-236-11/+13
|\ \
| * | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-236-11/+13
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qcoreapplication.cpp src/corelib/thread/qthread_unix.cpp Change-Id: Ia08d613c3f0bd08cb6dc3e3a57257207dfd4a099
| | * remove redundant "mac" checksOswald Buddenhagen2015-11-194-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | qt_framework and {app,lib}_bundle imply darwin, so there is no point in testing for it. Change-Id: I9fe48c26c8e271a5575b17e92df8674d3c3a3204 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * fix the determination whether to build a module as a frameworkOswald Buddenhagen2015-11-192-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG+=qt_framework is actually put into qconfig.pri, so it's always set in framework builds. things (sometimes) worked only by virtue of the qt_framework checks being in "else" branches of "static" checks. use lib_bundle instead, which triggers the actual framework build anyway. amends b72d1db44. Change-Id: Ib725c43476d9fb38bad940ce09905d29ff3edfa3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * Remove hardcoded capabilities in Windows 10 manifest templateMaurice Kalinowski2015-11-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While all apps need to have internetClient as a capability, the option to provide further capabilities via qmake has been removed in the template. Instead we add the required items inside the prf and keep the manifest template as generic as possible. Task-number: QTBUG-49504 Change-Id: If26b9da277a5269a57b34e74c146b40b1b64d091 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* | | qmake: add plugin import source files into GENERATED_SOURCESRichard Moe Gustavsen2015-11-231-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | The files are automatically generated, so that's where they belong. This makes a small cosmetic difference when generating Xcode projects, since then the files will be grouped under a different folder in the project explorer, separate from user sources. Change-Id: Ic2599ccb3008635e76ae467eec80f2b9e5ca838e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-185-23/+23
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess.cpp src/corelib/io/qprocess_unix.cpp src/network/kernel/qnetworkinterface_winrt.cpp tools/configure/configureapp.cpp Change-Id: I47df00a01597d2e63b334b492b3b4221b29f58ea
| * centralize determination whether a module is built as a frameworkOswald Buddenhagen2015-11-172-3/+6
| | | | | | | | | | Change-Id: Ie5f8ab6bb789536707050f0fd83b953650028cf2 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
| * don't create .pc files for frameworks and internal modulesOswald Buddenhagen2015-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | frameworks are currently broken anyway, and we don't create .pc files for the private part of public modules, so creating them for entirely private modules is just inconsistent. Change-Id: I98da8def73d72ac69b9b246687dce6b1fd150f61 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
| * don't create distclean targets in minimal syncqt modeOswald Buddenhagen2015-11-171-3/+6
| | | | | | | | | | | | | | | | the projects which use full mode with the named modules have them. Change-Id: I3b9383d1cc2b43411c25690a5e35e7e84a55aa23 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
| * (re-)move qt build specific dependency checks from generic pathsOswald Buddenhagen2015-11-172-10/+3
| | | | | | | | | | | | | | | | | | | | | | the check whether a module depends on itself should be done by the code which *builds* modules, not which *uses* them. the check whether a plugin tries to use itself seems kinda pointless in the first place, so just remove it. Change-Id: I89b357dae7d7979d131b6824f197e7088047272f Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
| * make a proper header-only module for QtZlibOswald Buddenhagen2015-11-171-2/+3
| | | | | | | | | | | | | | | | | | | | that way other modules can use the headers without hacks. this required making the base directory for paths in headers.pri configurable in syncqt. Change-Id: Id35cfe05bcf4c576d3f2d0d8d09590a5e23d21d3 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
| * unbreak relative rpaths on darwinOswald Buddenhagen2015-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | check the right variable. amends 8e846b33. Task-number: QTBUG-49369 Change-Id: I9108d13b5e9c93aadaa802a62ba64816d81448d5 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
| * don't create version script for header-only modulesOswald Buddenhagen2015-11-171-1/+1
| | | | | | | | | | | | | | | | there is nothing to link with it anyway. Change-Id: I2e942d24bb39855b3682f3e8d85cb6abca75cb61 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * introduce -optimized-tools optionOswald Buddenhagen2015-11-172-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of building host tools always in debug mode, follow the overall build type, and provide an option to override it. this supersedes the pre-existing -optimized-qmake option. however, that option never existed in the windows configure, and this legacy continues as far as qmake is concerned (msvc builds of qmake are always somewhat optimized, but not mingw builds). Change-Id: I42e7ef1a481840699a8dffff13fec2626af19cc6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | unbreak tool invocation in prefix builds againOswald Buddenhagen2015-11-061-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the statement order was wrong since c23a086e - we can't use MODULE_DEPENDS before we define it. but actually use a bigger cannon and partially revert the patch, to include .depends unconditionally again. the idea is that this should override a possibly included other .pri file from a previous build/install. (the same argument would sort of apply to .envvars as well, but we assume that its presence won't vary between builds.) Change-Id: I95e9743e367a3d1f45d603d1bb5b31c4875f39a2 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-043-3/+15
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/unix/ptrsize.test configure src/corelib/global/qnamespace.h src/network/socket/qabstractsocket.cpp tests/auto/other/networkselftest/networkselftest.pro Change-Id: Ic78abb4a34f9068567cea876861d4220f5a07672
| * Workaround: don't create ELF version scripts for AndroidThiago Macieira2015-10-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Somehow qmake doesn't add the correct rules for the Android makefiles, so the build fails when cross-compiling from Windows. The reason for that is unknown (could be related to that "qt_android_deps" config, but that isn't used anywhere in qmake or the buildsystem). This isn't likely to be a problem, since there are no global installs of Qt on Android. Change-Id: I1d0f78915b5942aab07cffff140f95ce32324030 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Add qgltf support to qmakeAndy Nichols2015-10-262-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | qgltf is a tool provided by the Qt3D module that enables 3D assets to be defined in qmake project files, and have them converted to an efficient binary format at build time. The qmake feature will convert all 3D assets specified by the QT3D_MODELS variable to the qgltf format and add the new model asset to the project as a Qt resource file. Change-Id: If7250d6f23a06254b1ed0e408057723763aad8c8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | configure: Separate host and build platform.David Schulz2015-10-302-30/+41
| | | | | | | | | | | | | | | | | | | | This separation makes it possible to make a canadian cross build of Qt on a linux build machine. The canadian cross build requires an external Qt that runs on the build system. Change-Id: Ifd83a4c6376d3299647e74bb349a3452a6f433fc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | QMake: Add option to set qt.conf file.David Schulz2015-10-271-1/+3
| | | | | | | | | | Change-Id: Ie5db11892ccf2d357773a4db6a0464bf27be9a26 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-10-236-11/+88
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf configure src/corelib/global/qglobal.h src/tools/qdoc/node.cpp src/tools/qdoc/qdocdatabase.cpp tests/auto/corelib/io/qsettings/tst_qsettings.cpp tools/configure/configureapp.cpp Change-Id: I66028ae5e441a06b73ee85ba72a03a3af3e8593f
| * Place classes from private headers in the Qt_5_PRIVATE_API ELF versionThiago Macieira2015-10-202-1/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way, it's possible to tell which applications and libraries depend on the Qt private API and of which Qt library. Linux distributions can use this information to decide which applications need to be recompiled every time Qt itself is rebuilt. This is done by scanning all class and struct definitions in the private headers (we've already got the list from syncqt). I opted to add a new script instead of modifying syncqt because then this can run in parallel with the rest of the compilation, as opposed to during qmake time. Another advantage is that it catches modifications to the headers in between qmake executions. Since this is already Unix specific, it should be no problem to use Perl. This solution is limited to use of non-inline symbols of classes declared in private headers. It will not catch free variables (such as qsimd_p.h's qt_cpu_features), use of inlined functions or just plain use of a class/struct for accessing its data members. However, this is already better than nothing and should help Linux distributions quite a lot. And there's no way to catch the latter issue anyway. Change-Id: I049a653beeb5454c9539ffff13e3fff36400ebbd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * don't try to use relative rpaths on platforms that don't support itOswald Buddenhagen2015-10-201-1/+1
| | | | | | | | | | Change-Id: I8224d429d71ccc829beb1addf592806d2edaa87b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>