summaryrefslogtreecommitdiffstats
path: root/mkspecs
Commit message (Collapse)AuthorAgeFilesLines
* Fix precompiled headers on Apple platforms, with multiple architecturesJake Petroules2017-04-142-4/+16
| | | | | | | | | | The original commit only added support for GCC and Clang, but not ICC. Amends 73331eeb Change-Id: Id7638cf1b538edb1008fb3aa10754c1f517a994f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Move Apple-specific -fapplication-extensions option to the mkspecThiago Macieira2017-04-122-4/+6
| | | | | | | The Intel compiler does not know about it. Change-Id: I523b0abacd5148b2bf08fffd14b4748c3b33c8fb Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Load android-specific target override in resolve_targetUlf Hermann2017-04-101-0/+2
| | | | | | | | | Otherwise, in separate_debug_info.prf, we try to process the original target, which is not what we actually build. Task-number: QTBUG-59779 Change-Id: I2b2d2e7b5f87041cc51075da7c3a5b690f94f1f3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Support different job counts also for ICC LTOThiago Macieira2017-04-071-1/+3
| | | | | | Change-Id: I27b55fdf514247549455fffd14b1cdbd2980d5d6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-04-065-0/+71
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp src/widgets/widgets/qtabbar.cpp Change-Id: Iaa9daee5f7a6490d56257a3824730a35751ceb05
| * Detect the (stated) C++ standard edition at build timeThiago Macieira2017-03-313-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The configure-time detection (cxx11default) isn't enough if the compiler can be changed. This is especially necessary if Qt is compiled with a compiler that defaults to >= C++11 (e.g., GCC 6) and then the user selects a compiler another compiler (e.g., Clang) via -spec option. In that case, we'd miss adding the -std=c++11 or -std=gnu++11 option to the command-line, causing the compilation to fail. As a nice side-effect, even moc without moc_predefs.h will now get the __cplusplus setting. Task-number: QTBUG-58321 Change-Id: I74966ed02f674a7295f8fffd14a8be35da9640e1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Add new mkspec for cross-compiling Qt5 for AArch64Neils Nesse2017-03-312-0/+64
| | | | | | | | | | | | | | | | This mkspec provides default compiler settings for cross-compiling Qt5 for AArch64 Change-Id: I6318e150d7b48ad9c7364fce2a04ee49220a6b7e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Fix detection of F16C for the Intel compiler (again) and Visual StudioThiago Macieira2017-04-064-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Neither the Intel compiler nor Visual C++ have a dedicated switch to enable F16C support, like GCC and Clang do. So we used the AVX switch for that in commit 8241d51f7049d48912ce25fbd49ef4d22c58e340, as it was the closest, lowest denominator. That was incorrect and insufficient. The Intel compiler silently miscompiles the intrinsics with -xAVX, making calls to out-of-line functions like _mm_cvtps_ph, which don't exist. So we actually have to use AVX2 support to generate correct code. That might be a problem later, since Ivy Bridge supports F16C but not AVX2. Visual C++ is able to generate F16C code with just -arch:AVX. Either way, since there's no dedicated command-line switch, there's also no dedicated preprocessor macro. We're using __AVX2__ for both compilers, as that's a sufficient condition to indicate a processor that supports F16C. Change-Id: I27b55fdf514247549455fffd14b205b8d8b86da7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add -bigswitch on INTEGRITYKimmo Ollila2017-04-031-0/+2
| | | | | | | | | | | | | | Needed to increase switch case limit on armv7 Change-Id: I30104407f49f07cfe367de820827d120498c5fff Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | x86: Detect F16C with the Intel compiler tooThiago Macieira2017-04-023-0/+3
| | | | | | | | | | | | | | | | | | The .pro file requires the QMAKE_CFLAGS_F16C to be set to something. So set it to AVX, as the instructions require the VEX prefix anyway (ICC has no dedicated option for just F16C). Change-Id: I27b55fdf514247549455fffd14b171940afd35a2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-274-8/+14
|\| | | | | | | Change-Id: Icdd71e9713725bda9c305e338f5c8b41a92ed8e8
| * Disable -Werror for QNX's compilerThiago Macieira2017-03-252-2/+2
| | | | | | | | | | | | | | | | | | | | The compiler is mostly GCC in disguise, but the libraries are not. Since the toolchain is not open, it's difficult to fix issues in it. Task-number: QTBUG-59671 Task-number: QTBUG-59672 Change-Id: Id92f4a61915b49ddaee6fffd14aea2639153f073 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * fix bootstrapped modules in framework builds, take 2Oswald Buddenhagen2017-03-223-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | the borrowing of headers always happens from "proper" modules which are actually built as frameworks if so requested. that means that even though the borrowing module itself never is a framework, it needs a framework path and include paths that point into frameworks. amends 20c7ab44. Change-Id: Ic582060dd179cc592e9be7792ff02cebdfabd772 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | move freebsd device spec validation to configureOswald Buddenhagen2017-03-221-2/+4
| | | | | | | | | | | | | | | | amends 72efb2e6 in line with e58eb3d6f. Change-Id: I67e68e43662df6d2571579a1fed3c0f23e9416cd Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Oleksandr Tymoshenko <gonzo@bluezbox.com>
* | System library fix for wayland-scannerPaul Olav Tvete2017-03-201-9/+18
| | | | | | | | | | | | | | | | | | | | | | Add the option to omit code generated by wayland-scanner, to avoid the case where the Qt versions replace driver-specific functionality. Task-number: QTBUG-58299 Change-Id: I508b18b9392dbd9e2b8233399301c06410f9f5ba Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-134-18/+28
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/network.pro mkspecs/features/mac/default_post.prf src/corelib/io/qfilesystemengine_win.cpp src/corelib/io/qprocess.cpp src/corelib/io/qprocess.h src/corelib/io/qprocess_p.h src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/corelib/thread/qmutex.cpp src/platformsupport/fontdatabases/windows/windows.pri src/plugins/platforms/eglfs/eglfsdeviceintegration.pro tests/auto/corelib/io/io.pro Change-Id: I8a27e0e141454818bba9c433200a4e84a88d147e
| * Add -Wfloat-equal to Qt's header clean checkThiago Macieira2017-03-071-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-57649 Change-Id: I15b62e0f9cec482fbb40fffd1490d802c54bf0fe Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Don't pass -headerpad_max_install_names when using BitcodeJake Petroules2017-03-074-4/+8
| | | | | | | | | | | | | | | | It is ignored (and is unnecessary to begin with) in that case, and emits an annoying warning which this patch silences. Change-Id: I6059969724b203d6e0e2eea81ad3e3e8f8d536d6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Fix Bitcode handling for both makefile and Xcode generatorsJake Petroules2017-03-031-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | This fixes an issue which caused certain iOS projects to fail to link when building with Xcode, and also fixes an issue where projects were only ever built with -fembed-bitcode instead of -fembed-bitcode-marker for debug builds with the makefile generator. Task-number: QTBUG-58754 Change-Id: Icf0c9f0d64dbc0b38d6c48bf635c5383a78bd6d5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| * don't assume that configure --foo options' value is 'yes'Oswald Buddenhagen2017-02-241-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | otherwise, the invalid "--qpa xcb" would complain about "xcb" being unknown, rather than "--qpa" missing an argument. actual booleans are handled by the type-specific callback, just like -foo would be. Task-number: QTBUG-59062 Change-Id: I96632dacfb721cfcbf223b76f6c5c38c810e8d0e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * de-duplicate and simplify condition checking in qtConfProcessOneOutput()Oswald Buddenhagen2017-02-241-9/+2
| | | | | | | | | | | | | | amends 90eee08b3. Change-Id: If1fa2b14d758cc252d9a2ec3f9deedd1dd200c5e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | mkspecs: Replace LGPL21 with LGPL license headerKai Koehne2017-03-0314-190/+274
| | | | | | | | | | | | | | Also use canonical contact url. Change-Id: I04c403f81bb8a8d6d6222573030d1e6d09ec4c3d Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-248-68/+252
|\| | | | | | | | | | | | | Conflicts: mkspecs/features/moc.prf Change-Id: Ia71c8e3b3185f7c999bf226d0675051b10b8740b
| * Add CONFIG += no_moc_predefs to allow one to escape problemsThiago Macieira2017-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes, users need to add compiler flags to QMAKE_CXXFLAGS that aren't supposed to be passed to the predefs dump. That's especially true for -include options, as that would change completely what's defined. Not to mention that -include is a preprocessor option and shouldn't be in CXXFLAGS in the first place (Automake has CPPFLAGS, but qmake only has INCLUDEPATH and DEFINES). [ChangeLog][qmake] Added the ability to suppress the collection of the compiler predefined macros for moc's use. To disable the collection, use CONFIG += no_moc_predefs. Task-number: QTBUG-58857 Change-Id: I4139d5f93dcb4b429ae9fffd14a34d49825d9b85 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * configure: fix 'use' for detecting static librariesOswald Buddenhagen2017-02-221-1/+1
| | | | | | | | | | | | | | | | | | these statements are assumed to provide dependencies for the currently detected library. this implies that their resolved content must be passed to the linker after the to be detected static library. Change-Id: Ifaaee2ac71bf176e8a0033765fb979fe119deaba Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: make it possible to make 'use' conditionalOswald Buddenhagen2017-02-221-1/+14
| | | | | | | | | | Change-Id: I8390634c5b23bf34692b4f532ab00a7aba690037 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: support using libraries by their exported nameOswald Buddenhagen2017-02-221-5/+45
| | | | | | | | | | Change-Id: Ibe43c587e83e679baa5f0fc91f452ee06c1e293f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: fix cross-module library usesOswald Buddenhagen2017-02-221-7/+21
| | | | | | | | | | | | | | | | | | | | | | this went unnoticed, because the only cross-module 'use' so far is that of egl, for which the code path provided for modular builds happens to (mostly) work due to the specs already providing the library definition. amends cc842ca4. Change-Id: I58c638d896eabd26f27d5cd90e3a7f8eeece9bc0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * clash-check configure sub-config namesOswald Buddenhagen2017-02-221-0/+3
| | | | | | | | | | | | | | | | we derive the keys from the last fragment of the parent directory, which is potentially not globally unique. Change-Id: I57cf13394984e6e3d902c0f1bb495bd3920bfc75 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: propagate errors from libraries' transitive dependenciesOswald Buddenhagen2017-02-221-1/+5
| | | | | | | | | | | | | | | | | | | | if a library uses another library which happens to be absent, then the former must also fail. amends cc842ca4. Change-Id: I91f157a6d1ed40b66e196340a282ebe493fcf40e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: error out on activating conflicting librariesOswald Buddenhagen2017-02-221-0/+14
| | | | | | | | | | Change-Id: I5d7dbeb3b3a653f7151279c7eba9387c107f9c42 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: generalize command line overrides of library parametersOswald Buddenhagen2017-02-221-2/+36
| | | | | | | | | | | | | | | | | | the outdated ones remain for backwards compatibility; some remain unchanged. Task-number: QTBUG-30083 Change-Id: Ia596b854d26b00fcb4f48df0da7ad893650ac1c8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * add configure -list-librariesOswald Buddenhagen2017-02-222-1/+38
| | | | | | | | | | | | | | currently mostly for debugging purposes (especially with -verbose). Change-Id: I8af32c61df0b19861aa79bc4bbdd3f6095dbe9b7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * add configure -list-featuresOswald Buddenhagen2017-02-222-7/+27
| | | | | | | | | | | | | | | | | | also actually deletes qfeatures.txt, which was already claimed by a668c6a6, but not actually done. Task-number: QTBUG-58411 Change-Id: I686760632fee7c10b01bd2e83f2481b01bc2b774 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * fix usage of "empty" librariesOswald Buddenhagen2017-02-224-21/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | a header-only library in a default location would produce no variables at all, making it appear undefined. fix this by forcing the writeout of the QMAKE_LIBS_* variable, and use its definedness (rather than non-emptiness) as a signifier. this works for both QMAKE_USE and configure tests'/libraries' 'use' entries. Change-Id: Id7a1e23725caba1a91ea4db448b4aeb7fe632393 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * prefer library's export name when looking up input variablesOswald Buddenhagen2017-02-221-5/+14
| | | | | | | | | | | | | | | | | | | | if multiple library entries provide the same export (as openssl is going to), it makes sense to make them recognize the same input variables, as it would be rather counterproductive to require different configure arguments for each. Change-Id: Ia32842e95294296d50220297f85689bc92de2d05 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: refactor qtConfExportLibrary()'s interfaceOswald Buddenhagen2017-02-221-14/+18
| | | | | | | | | | | | | | | | pass the library name instead of a library source object. improves overall legibility at a marginal runtime cost. Change-Id: I248ee9622af2b2c37daa2dbc0cc0bca5701d7925 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Disable optimizations for macx-icc debugThiago Macieira2017-02-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | icc defaults to -O2, so this was causing debug code to be built like that, making debugging very hard. This change also hardcodes -O2 for release builds, just in case. Change-Id: Ibc5c715fda334a75bd2efffd14a478ce539a3a3f Reviewed-by: Robert Pancoast <RobertPancoast77@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Remove alias options from linux-icc/qmake.confThiago Macieira2017-02-211-1/+1
| | | | | | | | | | | | | | | | | | They are the default with icc. Change-Id: Ibc5c715fda334a75bd2efffd14a478c20b527d7c Reviewed-by: Robert Pancoast <RobertPancoast77@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Use native support for fp16 where availableAllan Sandfeld Jensen2017-02-162-0/+2
| | | | | | | | | | | | | | | | | | | | Use F16C or ARM FP16 if available at compile time. Configure check added because older clang compilers have F16C defines and flags but not all the intrinsics. Change-Id: I71f358b8fd003e70ab8fcf35097414591e485112 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-145-142/+58
|\| | | | | | | Change-Id: I2bd2e61bae1eab4fc74fa6accd741ed9ae1f0669
| * Replace gstrip by strip due to ELF corruptionJulien Gueytat2017-02-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This is an old error of the gstrip binutils. The bug has been corrected and re-introduced. The command *elfdump -d xxx* on the ELF does bring lines like those : .SUNW_syminfo: invalid sh_info: 0 Task-number: QTBUG-58814 Change-Id: I330c4031dcf4ba64297df4b333b41cf0a003914f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * moc: remember to quote the path to moc_predefs.hThiago Macieira2017-02-121-1/+1
| | | | | | | | | | | | Task-number: QTBUG-58764 Change-Id: I4baef2edf7624ad69d96fffd14a22209a2bb90be Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Remove out of date comments related to Xorg and GCCJulien Gueytat2017-02-082-12/+0
| | | | | | | | | | | | Task-number: QTBUG-56293 Change-Id: I8d2245755d08b528e2041a16aabb390f3796e545 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Remove _XOPEN_SOURCE=500 -D__EXTENSIONS__Julien Gueytat2017-02-081-18/+1
| | | | | | | | | | | | | | | | | | | | | | The value _XOPEN_SOURCE=600 should be used for C99 as we compile at least with C++11. By doing so the compilation reaches another error in a third library. Simply removing the option makes the compilation working normally. Task-number: QTBUG-56293 Change-Id: Ie040325936591958d05cc0a2d43643fa5d0c43b5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Complete solaris.conf following linux.conf templateJulien Gueytat2017-02-081-0/+7
| | | | | | | | | | | | Task-number: QTBUG-56293 Change-Id: I9e0240b3d4766f5c740a044d6eff44d21b340dc0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Update Solaris include path and library pathJulien Gueytat2017-02-083-9/+6
| | | | | | | | | | | | | | | | The path match OpenIndiana distribution based on Illumos. Task-number: QTBUG-56293 Change-Id: I44e7defa63809dc4f413b46329481b53e5e74c30 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Move configuration into includesJulien Gueytat2017-02-083-105/+45
| | | | | | | | | | | | | | | | | | Use of gcc-base.conf, g++-base.conf files and creation of solaris.conf. The content of solaris.conf should follow the content of linux.conf. Task-number: QTBUG-56293 Change-Id: I59cf9efa82ab0a2b22ea1a58f6339280460e5f92 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * don't litter configure test build dirs with .qmake.cache filesOswald Buddenhagen2017-02-081-2/+3
| | | | | | | | | | | | | | | | there should be only one, at the level of the isolating .qmake.conf. Change-Id: I25f05864d6f5c1bb5caf2fb4138adb4bb9cc2f22 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-0811-57/+38
|\| | | | | | | | | | | | | | | Conflicts: configure.json mkspecs/win32-icc/qmake.conf Change-Id: Ibf40546b024d644c7d9ed490bee15b82597f4d3f