summaryrefslogtreecommitdiffstats
path: root/qmake/generators/unix/unixmake.h
Commit message (Collapse)AuthorAgeFilesLines
* Use SPDX license identifiersLucie Gérard2022-05-161-27/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* qmake: Fix overlong command lines for static Qt builds on WindowsJoerg Bornemann2022-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linker response files for the MinGW and Unix makefile generators are controlled by the variable QMAKE_LINK_OBJECT_MAX. This variable holds a number. If the number of object files passed to the linker exceeds this number, a linker response file containing object file paths is created. This heuristic is extremely imprecise. It doesn't take into account the length of object file names nor the length of $$OBJECTS_DIR. Also, when using a static Qt, a big part of the linker command line are libraries. A relatively small example can fail to link with "The command line is too long" on Windows, even with the object files being in a response file. The MinGW makefile generator already reads the variable QMAKE_RESPONSEFILE_THRESHOLD for compiler response files. Re-use this variable for the linker response file of the Unix and MinGW makefile generators. If QMAKE_RESPONSEFILE_THRESHOLD is set, use it to determine whether to create a response file. QMAKE_LINK_OBJECT_MAX is then ignored. The response file contains objects and libraries. If QMAKE_RESPONSEFILE_THRESHOLD is not set, use QMAKE_LINK_OBJECT_MAX to determine whether to create a response file. The response file contains only object files. QMAKE_LINK_OBJECT_SCRIPT is used in both cases to specify a common base name of all linker response files. Pick-to: 6.2 6.3 Task-number: QTBUG-100559 Change-Id: I3c78354fa5ebb1a86438ec804679e0ee776c3f49 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Build qmake with QT_USE_STRINGBUILDERLars Knoll2020-05-051-1/+1
| | | | | | | | Should improve performance and is going to be required in the future anyway. Change-Id: I89d7c50441d2491da1ab0a4d564dcc91f52ade85 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Be able to create a response file for other generators tooAndy Shaw2019-11-061-1/+1
| | | | | | | | | | | | When building an application for Android on Windows it is possible that the command line will be too long when doing the link step. So the code for generating a response file is moved to MakefileGenerator so it can be used by the other generators easily. The same variables used by MinGW can be used elsewhere then. Fixes: QTBUG-71940 Change-Id: I6c331d12e9541a90a4a95e0154d0ea1c056489bc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove QMake's -createstub optionJoerg Bornemann2019-08-031-1/+0
| | | | | | | | | This undocumented option was introduced in 69c22301806b56d56cbe5f5076b889ba98e41a2b (old internal history, 2006) to prepare some unspecified change to configure that was never done. Change-Id: I60de731ac9bc6f6424c57574e59e9f6b4f6c5eb3 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Clean up class definitions of makefile generatorsJoerg Bornemann2019-05-161-8/+1
| | | | | | | Remove pointless constructors and destructors. Change-Id: I7aea8587bf3598b6f5324aac8898edf227475d63 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* qmake: fix the precedence of QMAKE_LIBDIR_POSTv5.12.0-beta2Oswald Buddenhagen2018-10-121-0/+1
| | | | | | | | | | | it must end up in front of QMAKE_LIBS{,_PRIVATE}, but not of LIBS{,_PRIVATE} (which are preceded by QMAKE_LIBDIR). Task-number: QTBUG-61982 Started-by: Liang Qi <liang.qi@qt.io> Change-Id: Id3de01ee0e9b66af02f79949aeb5a0eabd55363f Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmake: Apply modernize-use-overrideAlessandro Portale2018-08-081-12/+12
| | | | | | | Add overrides to functions, except for destructors. Change-Id: I6e4640aa95a5c97d6bd6f6d8692d3290c421344e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-261-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java src/dbus/qdbusconnection_p.h src/dbus/qdbusintegrator.cpp src/dbus/qdbusintegrator_p.h tests/auto/corelib/io/qdir/qdir.pro tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp Change-Id: I3d3fd07aed015c74b1f545f1327aa73d5f365fcc
| * Work around MinGW-make's magic prefixing of paths.Frederik Gladhorn2016-01-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building QNX on MS-Windows, make magically adds the Msys root as prefix to variables whose values look like paths; this applies to both environment variables and variables given values on the command-line. When we don't actually want to install under the Msys root, this is unwelcome "help". So (for MinGW's make) support a magic prefix of our own, @msyshack@, that'll make a path value for INSTALL_ROOT not look like a path to make; we can then strip it off when we come to use it. Change-Id: I951ad3c8fe3e5cfb49e6e361d7fff779f3a9d716 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-211-17/+12
|/ | | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* merge processPrlFiles() into findLibraries()Oswald Buddenhagen2015-10-021-2/+1
| | | | | | | | seems pointless to tear apart the functions, on the way duplicating some boilerplate. Change-Id: Ide3697ca1c931e8de607ac48c21cecce4781fe13 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix quoting issues. all of them. (*)Oswald Buddenhagen2015-02-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | instead of quoting more or less random variable contents early, consistently quote everything only right before it is needed. this way we can be sure that everything is correctly quoted, but not over-quoted. this removed the need for the insanity that unescapeFilePath() and similar ad-hoc contraptions were. this had the somewhat counter-intuitive effect that it was possible to remove escapeFilePath() calls from PBX::writeSettings() calls - these were actually only unescaping. [ChangeLog][qmake][Important Behavior Changes] A lot of quoting issues have been fixed. As a side effect, qmake has become more sensitive to over-quoted file names in project files. (*) ok, maybe not. close enough. Task-number: fatal: out of memory Change-Id: I8c51cfffb59ccd156b46bd5c56754c480667443a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* remove pointless double initialization guardsOswald Buddenhagen2015-02-021-1/+1
| | | | | | | this isn't some fuzzy logic, the call sequence is well determined. Change-Id: I1696b49ed687da83d2969efcfe23ac6565630020 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* qmake: generate make dist target for subdir projectsJ-P Nurmi2014-06-021-0/+2
| | | | | | | | | | | | | The original dist target no longer copies files around, but merely does the final packaging. It depends on a new recursive distdir target, which handles copying distfiles to the distdir. [ChangeLog][Tools][qmake] Added 'make dist' target for subdirs projects (unix only) Task-number: QTBUG-21910 Change-Id: Ib59139c3fe196caf832d8dcefab484ab91f1f5ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | 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>
* introduce qmake variable abstractionsOswald Buddenhagen2012-09-071-0/+1
| | | | | | | | this is preparation for adapting to a new evaluator. Change-Id: I6fc59f5525735754a00afa6629fbfe257e84db97 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make the windows prl processing more like the unix variantOswald Buddenhagen2012-07-311-1/+0
| | | | | | | | it's more elegant, and more similar code is better. Change-Id: I2b8b036cb70a932fd171e23cf7d3389188401924 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* qmake: Don't assume that GNUmake is able to resolve arbitrary dependenciesTor Arne Vestbø2011-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Extra compilers may define a depend_command that's used to generate dependencies for each input. When GNUmake was enabled we failed to run this command, which was affecting resource files, as resource dependencies are handled by an extra compiler defined in resources.prf. The result was that changes to resources included in a resources-file did not trigger a re-run of qrc and subsequent recompile of the resource object file. We must always run these custom dependency commands, even when GNUmake (and the extended gcc_MD_depends option) is enabled, as GCC is only able to handle regular #include-type dependencies. Hence, the check for the 'include_deps' flag was removed from doDepends(), and the check for GNUmake was moved to the one place where it still made sense -- when deciding whether or not to do recursive dependency checking. Change-Id: I5ddb75c873120c90f798808efc52e81500786301 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Update licenseheader text in source files for qtbase Qt moduleJyri Tahtela2011-05-241-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+84
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12