aboutsummaryrefslogtreecommitdiffstats
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
* protobuf: remove deprecated propertiesIvan Komissarov2020-07-272-9/+2
| | | | | Change-Id: I871b7f46ffab880fa2a2762c2339907fe7d01f88 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch 1.17 into masterRichard Weickelt2020-07-2418-50/+272
|\ | | | | | | Change-Id: Ice408bd77aa9f6481960c4fdf7f345a1a39b9f80
| * Fix CONFIG variable being read incorrectly in setup-qt.jsMitch Curtis2020-07-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QT_CONFIG was read in the line before CONFIG, and the regex matched it: QT_CONFIG += private_tests shared shared [...] CONFIG += shared shared debug sanitize_address sanitizer This would lead to address sanitizer being ignored and requiring workarounds. Use a stricter regex that doesn't allow arbitrary characters before the key. The regex can be tested manually here: https://regex101.com/r/aYSWwG/2 Change-Id: I8b6a509d0fdd9500c527497fa3545646f24c42d1 Fixes: QBS-1387 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Android: Do not fail if project contains multiple shared librariesAlberto Mardegan2020-07-211-3/+2
| | | | | | | | | | | | | | | | | | Do not fail the detection of the main binary if the first two candidates do not match the product name. Simplify the logic to exclude all non-matching candidates except the first one. Change-Id: I5046d7e103a9130c602aa8991bb9853c6ff593dd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Add support for Cap'n Proto for the c++ languageIvan Komissarov2020-07-213-0/+226
| | | | | | | | | | | | | | | | | | | | | | Cap'n Proto is a 'cerialization protocol' similar to protobuf: https://capnproto.org/index.html This patch mainly focuses on the c++ support for the capnp protocol keeping in mind the possibility to add other languages later. Change-Id: Ib19a9df1f45f2787503197791ac597d06cc45e9d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * xcode: Fix Xcode 12.0 supportIvan Komissarov2020-07-203-2/+19
| | | | | | | | | | | | | | | | | | The *.xcspec files for macOS were moved into the *.ideplugin directory similar to how it is done for iOS/tvOS/etc. Fixes: QBS-1582 Change-Id: I478742c4b52b08f7feee4108272da7bf2b12a744 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Don't pass cpp.driverFlags to KEIL assemblerDenis Shienkov2020-07-161-2/+1
| | | | | | | | | | | | | | | | | | ... because the cpp.driverFlags intended only for the compiler and the linker; the assembler required the cpp.assemblerFlags instead. Change-Id: Ie1cca820d54095fc1361f5b9b049adc57674b3fd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Don't pass cpp.driverFlags to IAR assemblerDenis Shienkov2020-07-161-2/+1
| | | | | | | | | | | | | | | | | | ... because the cpp.driverFlags intended only for the compiler and the linker; the assembler required the cpp.assemblerFlags instead. Change-Id: I0758937d40f02cbc6ff76b36b7c11fe5f4ddcf08 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Don't pass cpp.driverFlags to SDCC assemblerDenis Shienkov2020-07-161-2/+1
| | | | | | | | | | | | | | | | | | ... because the cpp.driverFlags intended only for the compiler and the linker; the assembler required the cpp.assemblerFlags instead. Change-Id: Ib2b70b349517dfa7d125e3c15491e2f4a870a95d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Probes: Remove nameFilter from FrameworkProbeIvan Komissarov2020-07-162-8/+5
| | | | | | | | | | | | | | | | | | | | It is not possible to use functions as values for properties with the new JS engine. Remove nameFilter by allowing to have common nameSuffixes for different selectors. Change-Id: I24ae747f4d609c956285e77ee832c6e99304a622 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Probes: Remove deprecated properties from PathProbeIvan Komissarov2020-07-151-10/+2
| | | | | | | | | | | | | | | | They were declared deprecated in qbs 1.13, looks like it's safe to remove them. Change-Id: I493f7bb9578da1bb579161338bcb5d391cc15f4c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * protobuf: Do not call outputDir() that oftenIvan Komissarov2020-07-133-10/+10
| | | | | | | | | | Change-Id: I1f436eb2d15393fc010a4ab29f879ae0828b0cc3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * protobuf: use FileInfo.joinPaths instead of string concatenationIvan Komissarov2020-07-131-2/+3
| | | | | | | | | | Change-Id: Id86b94f0ca333942a769d86ebed47b629a43cf03 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Pass 'one-object-asm-application' test for SDCC MCS51Denis Shienkov2020-07-101-8/+1
| | | | | | | | | | | | Change-Id: I2b26c60bd5e9c84c917b58cddf45f25461313c66 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Fix wrong array iterationRichard Weickelt2020-07-132-6/+5
|/ | | | | | | | | | It is not recommended to use 'for in' loops to iterate over arrays because additional properties in Array.prototype would be iterated over as well. For unknown reasons this is not the case when using QtScript, but it would be a problem when running on QJSEngine. Change-Id: I4404c03a6277dae471a9beb162b539edb9ace426 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* protobuf: make outputDir property "private"Ivan Komissarov2020-07-084-6/+6
| | | | | Change-Id: I0b6d77a6ca2333feafa67bfd904862fb318f05e6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix wrong variable scope in protobuf.jsIvan Komissarov2020-07-071-1/+1
| | | | | | Change-Id: Ife096ede8ac7a929fb1ae2c7323c79258a0f1d8e Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* protobuf: get rid of the unused 'product' parameterIvan Komissarov2020-07-073-11/+11
| | | | | Change-Id: I1f1c5d04d2c3e87c39eb668e4dc3feebb9fc452c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* protobuf: get rid of the validateFunc()Ivan Komissarov2020-07-064-45/+41
| | | | | | | | Copy & pasting the base validate script leads to a cleaner and shorter code Change-Id: I67b3c5c4776d8cc321dc1f26e00c301c1a66f7fa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* protobuf: Rename protocBinary property to compilerPathIvan Komissarov2020-07-032-7/+17
| | | | | | | | For consistency with the cpp module Change-Id: I16b9facc1c5befa6b8860dc1a51f8302ffac7a4d Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Simplify cpp.prefixHeaders handling using KEIL ARM toolchainsDenis Shienkov2020-07-032-18/+18
| | | | | | | | | | | | | | | | It seems it makes no sense to add the 'pre-include' flags before the 'defines' and 'includes', because all pre-includes will be pre-processed after the 'defines' and 'includes'. At least this note belongs to the 'armclang' compiler: * http://www.keil.com/support/man/docs/armclang_ref/armclang_ref_sam1452772182261.htm So, we can simplify the cpp.prefixHeaders handling to minimize the JS code duplication. Change-Id: I7c6dd7b5545294ff6aba866c2be9ebbcff190f6f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix cpp.prefixHeaders for KEIL ARM clang toolchainDenis Shienkov2020-07-021-9/+18
| | | | | | | | The 'armclang' compiler does not have the '--preinclude' option, it has the '-include' option instead. Change-Id: Idfb537c0cead1152b4444aa152220a173ce30f5e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix order of known {C|Cpp} language versions for KEIL ARMDenis Shienkov2020-07-021-4/+2
| | | | | | | | | | | According to the QBS documentation, an element with the lowest index should contain a highest language version. Also, we don't need to handle the non-standard language extensions, e.g. as 'GNU' and so forth. Change-Id: Ieca02f040fa847f3c27249fa8c7971f59ebe5da1 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add support for c99 language version for SDCC toolchainDenis Shienkov2020-07-021-1/+4
| | | | | Change-Id: I7159e58fb15c7d8c131664ec0a4ee1c2deecc5a9 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Allow libraries linking with SDCC on Windows hostDenis Shienkov2020-07-021-1/+24
| | | | | | | | | | | | | | | | This commit implements a workaround for the SDCC bug on a Windows host: * https://sourceforge.net/p/sdcc/bugs/2970/ A bug is in that the SDCC generates an object files with the DOS line endings '\r\n' instead of the UNIX line endings '\n' on a Windows host, that leads to the linking errors. We need to patch the generated object files to use only the UNIX line endings. Change-Id: I055169d0e707b49434af3a7a8c488ae597d1c889 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix cpp.warningLevel for SDCC compilerDenis Shienkov2020-07-011-1/+6
| | | | | | | | | It turns out that it is possible to pass the '-Wall' and '-w' options directly to the preprocessor, due to the compiler does not support this options. Change-Id: I7624378fb4ae4e161fc19d0f4dfb8e66763ae6f6 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Implement cpp.{system|distribution}IncludePaths for SDCC compilerDenis Shienkov2020-07-011-1/+2
| | | | | Change-Id: I80d21f1d7761b5ff9a834ef51949684846592f03 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Implement cpp.prefixHeaders for SDCC compilerDenis Shienkov2020-07-011-0/+15
| | | | | | | | The SDCC compiler has the -Wp option which allows to pass the preprocessor options directly to the sdcpp preprocessor. Change-Id: I3b2c1bd5accb1bbdc7f7d7309384efc6649f4cfd Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Implement cpp.prefixHeaders for IAR and KEIL toolchainsDenis Shienkov2020-06-292-0/+9
| | | | | | | | | | | Right now it is possible to use the cpp.prefixHeaders property for the KEIL ARM MDK and the IAR EW toolchains. Take into account that the IAR EW toolchain support only one preinclude file. Change-Id: I9e367825575409fa446f3b012a0e1e8d156643ef Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix {c|cpp}LanguageVersion handling on KEIL ARM Clang toolchainDenis Shienkov2020-06-281-2/+4
| | | | | | | | We need to skip the 'undefined' language version returned from the Cpp.languageVersion() function. Change-Id: I3345c2fbdde8b50c8fb9035ec10ca21e0024e6d3 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix architecture code detection for ARM using IAR toolchainDenis Shienkov2020-06-281-1/+5
| | | | | | | | We need to use architecture.startsWith("arm") for the ARM architecture, because now the ARM architecture has detailed name (like 'armv7 and etc). Change-Id: Ia9bed35af66de954ec47d8b4a0622a6ad78bf074 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Android: Add support to generation of aab packageRaphaël Cotty2020-06-255-35/+130
| | | | | | | | | This patch adds the Android.sdk packageType property which sets the target application. By default (previous behavior) qbs generates an apk package. When set to aab, qbs generates instead an aab package Change-Id: Ic09776d08e2a2ecd68fb4c08881201a7a0a25240 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Fix linker name detection for ARM using IAR toolchainDenis Shienkov2020-06-221-1/+1
| | | | | | | | | | | | | | | | | | | This commit ab0abfc introduced a regression in the detection of a linker name for the ARM architecture. A problem is that now the ARM architecture has a detailed name, e.g. "armv7", "armv6", against the previous "arm" name. In this case the following code: "ilink" + architecture returns a wrong linker name, e.g. "ilinkarmv7" instead of "ilinkarm". So, we need to check on ARM architecture and then return a valid linker name directly. Change-Id: I4f44cdc9875f00676bc36cfa4fc36b36b92a8190 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Fix static library creation from multiple objects for KEIL toolchainDenis Shienkov2020-06-171-1/+1
| | | | | | | | | | | The problem was in that the 'input' parameter becomes undefined for a multiple input files. We need to use the 'product' parameter instead. Tested for MCS51 architecture. Change-Id: I147d8d9b483dc6c567669364375ed78ef70b94d2 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix generation of static libraries using IAR toolchainDenis Shienkov2020-06-161-13/+22
| | | | | | | | | | | | | | A problem was in that we use wrong 'xlib' utility to create the static libraries; we need to use the 'xar' utility instead. This utility delivered only for the following architectures: mcs51, avr, avr32, msp430, v850, 78k, m68k, m32c, r32c, m16c, cr16 in other cases we need to use the 'iarchive' utility. Change-Id: I69660d22842e2011aa02187021f491f270491144 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* MSVC: Add missing handling for cpp.distributionIncludePaths propertyDenis Shienkov2020-06-151-0/+3
| | | | | | | | | This commit adds handling of cpp.distributionIncludePaths property, which were ignored at all on MSVC toolchain. Fixes: QBS-1572 Change-Id: I30b6697bee2b1140a56a04931dd5d91369ef86fc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* XCode: fix filePath of provisioning profiles artifactsIvan Komissarov2020-06-151-6/+3
| | | | | | | | | | It is not correct to copy provisioning profiles to destination directory since 2 products can set it to the same location (e.g. external-libs test). Copy those to the project build directory instead, it is guaranteed to be unique. Change-Id: Ia895b1cfe46931197fccfa155ca323d65137408b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Handle missing cpp.includePaths for SDCC assemblerDenis Shienkov2020-06-131-0/+6
| | | | | Change-Id: I397884b4c174e4d5116ee219ad7da6a36e30c0b5 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix handling include paths for all IAR toolchainsDenis Shienkov2020-06-131-6/+6
| | | | | | | | | | | This commit fixes handling for include paths properties which are passed to the compiler or assembler arguments: * We don't need to handle the cpp.compilerIncludePaths property. * We need to handle the missing cpp.distributionLibraryPaths property. Change-Id: I8ec7f02d019431c98d1659e2f2a6da4fa2506c7c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix handling include paths for all KEIL toolchainsDenis Shienkov2020-06-131-6/+6
| | | | | | | | | | | This commit fixes handling for include paths properties which are passed to the compiler or assembler arguments: * We don't need to handle the cpp.compilerIncludePaths property. * We need to handle the missing cpp.distributionLibraryPaths property. Change-Id: I8c0b358b0c87a95e6a2e332f8bbded948f1861a1 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix handling include paths for SDCC toolchainDenis Shienkov2020-06-131-14/+17
| | | | | | | | | | | | | | | This commit fixes handling for include paths properties which are passed to the compiler or assembler arguments: * We don't need to handle the cpp.compilerIncludePaths property. * We need to handle the missing cpp.distributionLibraryPaths property. Also the cpp.{systemIncludePaths|distributionIncludePaths} grouped separately for a future purpose when the SDCC compiler will receive something like '-isystem' flag. Change-Id: Icb572b864ef46f540792acbfde908b0191a2de9b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* MSVC: Use "/external:I" flag to set the system include pathsDenis Shienkov2020-06-111-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we were using the "/I" compiler option to specify the system include paths, because the MSVC compiler had not the special option for that. But since v15.6, the MSVC 2017 compiler has the special "/external:I" option to specify the system include paths: * https://devblogs.microsoft.com/cppblog/broken-warnings-theory/ So, it makes sense to use this new option for the MSVC versions which are supports it (since _MSC_VER 1913, aka MSVC 2017 update 6, v15. 6.0): * https://dev.to/yumetodo/list-of-mscver-and-mscfullver-8nd But, due to MSVC 2017 update 6 has some bugs: * https://developercommunity.visualstudio.com/content/problem/181006/externali-include-paths-not-working.html which are fixed since MSVC 2017 update 9 (aka _MSC_VER 1916), then we just keep _MSC_VER 1916 as a base version. In other cases we fall back to the "/I" option. Fixes: QBS-1573 Change-Id: Ie180ba61a1988aaec7955f545b989edf406c7730 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add support for Compact Risc architecture to GCC toolchainDenis Shienkov2020-06-081-0/+2
| | | | | | | | | This patch adds the Compact Risc architecture (aka CR16): * https://en.wikipedia.org/wiki/CompactRISC Change-Id: I1bfc4639c69db55205aafaed6150fa0ad566eb16 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add support for Renesas SuperH architecture to GCC toolchainDenis Shienkov2020-06-071-0/+2
| | | | | | | | | | This patch adds the SuperH architecture, provided by Renesas: * https://www.renesas.com/us/en/products/microcontrollers- microprocessors/superh.html Change-Id: I60fbdc8ce5df55f61d6960a5360a6e026b190ab2 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add support for Renesas RX architecture to GCC toolchainDenis Shienkov2020-06-071-0/+2
| | | | | | | | | | This patch adds the RX architecture, provided by Renesas: * https://www.renesas.com/us/en/products/microcontrollers- microprocessors/rx/rx-features.html Change-Id: I2aa7e6adc6b72329f18dc89856c33f2b2d9094e8 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Android: Add option to use aapt2 instead of aapt in Android.sdk moduleRaphaël Cotty2020-06-042-3/+221
| | | | | | | | | | | aapt has been deprecated (https://developer.android.com/studio/command-line/aapt2) and replaced by aapt2. PropertyOption aaptFileName allows those value: "aapt" and "aapt2". Default value is set to "aapt" for the moment. Fixes: QBS-1562 Change-Id: I1970cafaa54a0e035c08ffe5f9967b712f5c5253 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* GCC: avoid duplicating framework paths in the resulting commandIvan Komissarov2020-06-021-1/+1
| | | | | | Fixes: QBS-1552 Change-Id: Ifc9f6bbeaa3ba145e3340b6c440f61120d693c91 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* XCode: fix handling provisioning profiles in dry-run modeIvan Komissarov2020-06-022-2/+2
| | | | | | | | | | Build in dry-run mode failed with "no such file..." because provisioning profile is not copied to the build directory. This amends 92970c2. Change-Id: I7c278376425c9982b9b402fd6071fac7847d3d2e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Msvc: Handle windows module definition fileDenis Shienkov2020-05-262-2/+16
| | | | | | | | | | | | | | | | | | | Module-definition (.def) file provide the linker with information about exports, attributes, and other information about the program to be linked. This file can be used instead of e.g. __declspec(dllexport) keywords inside of a header files to export an appropriate symbols: * https://docs.microsoft.com/en-us/cpp/build/reference/module-definition-dot-def-files?view=vs-2019 * https://docs.microsoft.com/en-us/cpp/build/reference/def-specify-module-definition-file?view=vs-2019 To make it supported, we have created the additional 'def' file tag, and now we can add the required module-definition file to the {Product|Group}'s 'files' property. Fixes: QBS-571 Change-Id: I831d2e1b8f9f061a4414a5eaac85b71584f48c5d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add IAR National Semiconductor CR16 toolchain supportDenis Shienkov2020-05-251-5/+17
| | | | | | | | | | | This commit adds a basic support of the IAR Embedded Workbench toolchain for the National Semiconductor CR16 processors family: * https://en.wikipedia.org/wiki/CompactRISC Change-Id: Idb241341a450ea5669e43c0ae7c0338be43ec16a Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>