aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '1.15' into masterRichard Weickelt2019-11-0523-5/+3164
|\ | | | | | | Change-Id: Ide94d5c74c5ebd5cde4bf8963cf4449ed026cc39
| * Fix user dependency scannersChristian Kandeler2019-11-053-4/+15
| | | | | | | | | | | | | | | | | | Since commit 9e55ddfa97, we mistakenly passed the output artifact to the scan script, rather than the input artifact. Fixes: QBS-1511 Change-Id: Ieb2a2b3bdf0366ef203e96d578a30a0ef8b1838a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * baremetal: Add USB HID gamepads example for MSP430f5529 chipDenis Shienkov2019-11-0220-1/+3149
| | | | | | | | | | | | | | | | | | This example demonstrates how to create the USB HID device on MSP430f5529 chip (based on MSP430 architecture) using the different toolchains (IAR EW, GCC). Change-Id: Ic4d6a17d3e75e7ccb9b1f3eeaaef9abdf2da896b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Auto-detect MPLAB X32 GCC toolchain on WindowsDenis Shienkov2019-10-311-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Microchip Technology Inc. provides set of own GCC toolchains to use it with the PIC32 microcontrollers: * https://www.microchip.com/mplab/compilers On Windows these toolchains distributed in a form of the installer packages. So, it will be good to auto-detect such toolchains there. But, this patch do it partially, it can not detect each installed toolchain as separate instance. For example, if we have a two toolchains v2.20 and v2.30 installed, then it will looks like this: Profile 'xc32-gcc' created for 'C:/microchip/xc32/v2.20/bin/xc32-gcc.exe'. Profile 'xc32-gcc' created for 'C:/microchip/xc32/v2.30/bin/xc32-gcc.exe'. In resulting, the toolchain v2.20 will be overwritten by toolchain v2.30, because its names are identical, and then the one last profile will be created. Seems, to solve this issue we need to dump the compiler version. But a problem is in that both compilers has same 4.8.3 version. So, it is not possible to separate there two compilers in a simple way. Maybe, in future, we can look on the __XC_VERSION__ macro, and to interpret it as 'build' version (which is 2200 vs 2300). But, for this purpose we need to refactor the logic in gccprobe.cpp. Change-Id: Id804a411ed6046b31e57b0468d75830eef92693c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Auto-detect IAR toolchain for Renesas RL78 architectureDenis Shienkov2019-10-301-2/+6
| | | | | | | | | | | | Change-Id: I49dec9b3d33de7a1bf69c785f485e3db7baaa3d5 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add IAR Renesas RL78 toolchain supportDenis Shienkov2019-10-301-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a basic support of the IAR Embedded Workbench toolchain for the Renesas RL78 processors family. To use it with Qt Creator, it is enough to add there a desired Kit with a custom IAR C/C++ compiler, and then set the following in the Kit's Qbs profile settings: * Key: qbs.toolchainType * Value: iar Tested with EW for RL78 v4.10.1 on Windows using the simple projects samples which come with the default IAR installer. Change-Id: I1f68f27feaac26a5cf606f326b97f8bccc5c2847 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Auto-detect the Renesas RL78 GCC toolchain on WindowsDenis Shienkov2019-10-301-7/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch impplements an auto-detection of installed GCC toolchain for RL78 architecture from the Renesas: * https://gcc-renesas.com/rl78/rl78-download-toolchains/ I had surprised that Renesas RL78 toolchain has a "non-standard" name, like: * rl78-elf-gcc-4.9.2.201902-GNURL78.exe As you can see, this name ends with "GNURL78" text, which causes a wrong prefix and suffix detection. So, now we use a scary regular expression to right compiler name parsing. Change-Id: Ibf820f8fb44419be4cf02894b1ab9dad9e18d77e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add support for Renesas RL78 architecture to GCC toolchainDenis Shienkov2019-10-301-0/+2
| | | | | | | | | | | | | | | | | | | | This patch adds a new RL78 architecture, provided by Renesas: * https://en.wikipedia.org/wiki/RL78 Change-Id: I7679808d9b4c84ceade8dd3f76ad172f7b09140d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Merge branch 1.15 into masterRichard Weickelt2019-10-2931-9/+3392
|\| | | | | | | Change-Id: Iac392a921b5be14f94c8500a057d7045f76db0bf
| * baremetal: Add USB HID gamepads example for CY7C68013A chipDenis Shienkov2019-10-2919-0/+3286
| | | | | | | | | | | | | | | | | | | | | | This example demonstrates how to create the USB HID device on CY7C68013A chip (based on 8051 architecture) using the different toolchains (SDCC, IAR EW, KEIL). Change-Id: I2678c680245c1b969466b2e91fe04850635cc09b Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix qbsSession autotestChristian Kandeler2019-10-231-2/+2
| | | | | | | | | | | | | | It failed with mingw on Windows. Change-Id: Ia5cc3b4590ea184106cee6119b9670138ad5fb07 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Bump build graph versionChristian Kandeler2019-10-221-1/+1
| | | | | | | | | | | | | | | | This was forgotten in 923f98062b. Change-Id: I1b62c1dbf0c9ed1d61cac7fa2e061571080d9616 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Add test for cpp.generateLinkerMapFile propertyDenis Shienkov2019-10-214-0/+74
| | | | | | | | | | | | | | | | | | This test cover only the applications using the MSVC and GCC-like toolchains yet. Other toolchains and a product types can be added later if it will required. Change-Id: I37db96015774447e1e30b503d9853599be0177f2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Allow to generate map file using MSVC toolchainDenis Shienkov2019-10-212-1/+12
| | | | | | | | | | | | | | | | | | Right now it is possible to generate a linker map file using the cpp.generateLinkerMapFile property. Change-Id: Iffed6867e9829f5f2ca51b1932d6641963e66abe Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Implement cpp.generateLinkerMapFile for GCC-like toolchainsDenis Shienkov2019-10-213-3/+15
| | | | | | | | | | | | | | | | | | Now it is possible to generate a linker map file from the GCC, MinGW and CLang toolchains. Change-Id: I69b07e907129daac0ff29bd62034d8807cd5fdf1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Richard Weickelt <richard@weickelt.de>
| * Export the GLIB switch properlyRichard Weickelt2019-10-212-2/+2
| | | | | | | | | | | | | | | | | | The GLIB event dispatcher was disabled in order to work around QTBUG-79020. But the environment variable was not exported properly and hence, the work-around had no effect. Change-Id: I9bad99168456ae734c895db0ed4f46885d6b4d48 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Update build environment and Bionic Docker imageRichard Weickelt2019-10-243-7/+7
| | | | | | | | | | | | | | Update also the docs to refer to the Ubuntu image rather than Debian. Change-Id: I2c64f8f169c7a8ff9d5090ebc55c56bffd957659 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | qbs build: Add more sanity check convenience propertiesChristian Kandeler2019-10-231-1/+12
| | | | | | | | | | Change-Id: Ifa60c6510a720e49bebf892a6060926f918aa2d7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Version bump 1.16.0Richard Weickelt2019-10-221-1/+1
|/ | | | | Change-Id: I210733c0aba94e1d248d5544b954f63ae911e0d6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Introduce new cpp::generate{Assembler|Compiler}ListingFilesDenis Shienkov2019-10-178-39/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This properties enables or disables generation of a compiler or assembler listing files. Reason why we need in this property is in that some compilers (e.g. KEIL C51) generates a listing files by default, that spams a project sources directory. So, we need to have a possibility e.g. to disable it or to generate to an output directory. This patch implements this feature for KEIL, IAR, SDCC compilers with the following restrictions: * IAR (8051, AVR, STM8, MSP430, ARM) - full support. * KEIL (8051) - full support. * KEIL (ARM) - has only one restriction in that a compiler does not support specifying of an output listing file name. It is possible to specify only an output listing directory. So, a listing file names will be a bit different than for other compilers (e.g. if a source file name is 'foo.c', then the listing file name will be 'foo.lst', instead of 'foo.c.lst'). * SDCC (8051, STM8) - seems, has not possibility to disable an auto-generated listing files. But it generates an output listing files to a right output directory with the object files. Besides, a listing files has a correct names (e.g. for the 'foo.c' file, the listing file will be 'foo.c.lst'). Change-Id: Ic3516101e69eed156cf71606a7144efc72d40204 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge 1.14 into masterChristian Kandeler2019-10-162-2/+6
|\ | | | | | | Change-Id: I7ee0af7942b15e889bd9dec35adbf43f9f17c839
| * Add change log for 1.14.1v1.14.11.14Christian Kandeler2019-10-161-0/+4
| | | | | | | | | | Change-Id: Ide01ad4e9abb3e0e1c1ffe3fe10bf14368cb32b6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Qt support: Do not put all the QML plugin list content on one lineChristian Kandeler2019-10-141-1/+1
| | | | | | | | | | | | | | | | | | Add a newline after each PRL file entry. Otherwise, a line can get longer than 16K characters, which breaks the MSVC linker. Fixes: QBS-1465 Change-Id: Idb1e39aee8c3ae3ad6ea844723253e7d228bd7de Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Qt support: Fix reading plugin prl filesChristian Kandeler2019-10-141-1/+1
| | | | | | | | | | | | | | Amends 8c290c624d. Change-Id: I9b08b921a46ac56239dd7934f8c3aa9addf70d52 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Version bumpChristian Kandeler2019-10-081-1/+1
| | | | | | | | | | Change-Id: Ibfe460f99c2dae3ccf64169389dd7ddfb11be5ac Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Fix session autotest for slow machinesChristian Kandeler2019-10-141-1/+1
| | | | | | | | | | | | | | Let the user configure the time to wait for the next JSON packet. Change-Id: I2336cdbfebb64a8fdf44c74c1d4ae7abaac4dc4e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | baremetal: Show full details of KEIL A51 errorsDenis Shienkov2019-10-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A problem is that a first lines of the following errors: 0000 24 ljmp usb_stub_isr ; (00) Setup data available. *** ________________________________________^ *** ERROR #A45 IN 24 (autovec_keil.a51, LINE 24): UNDEFINED SYMBOL 002C 46 ljmp usb_stub_isr ; (2C) EP1 out. *** _____________________________________^ *** ERROR #A45 IN 46 (autovec_keil.a51, LINE 46): UNDEFINED SYMBOL are ignored, becaue it does not match with the expected token. It does not expect that a line starts with a four hexadecimal letters. We can fix it using the regexp, like "^([0-9A-F]{4})" which is covered this use-case. Fixes: QBS-1503 Change-Id: I19c535ac1aa12bd3e8ffa33ad6c2abfa42d66dff Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Enable errors printing for KEIL A51 assemblerDenis Shienkov2019-10-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | An errors printing for A51 assembler are disabled by default: http://www.keil.com/support/man/docs/a51/a51_errorprint.htm so, we need to enable it explicitly. Change-Id: I22cb268aa7c884daf58b86424ddfbce81dbbe97b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Improve artifact creation code for IAR EW moduleDenis Shienkov2019-10-112-50/+45
| | | | | | | | | | | | | | ... to move this code to a separate helper functions. Change-Id: I56678be39df931105b04bec1340aa7ba09e523d9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Use 'sdar' utility to create the library on SDCCDenis Shienkov2019-10-111-2/+2
| | | | | | | | | | | | | | | | | | The 'sdcclib' utility is deprecated since SDCC v2.9.0 (which was released in 2010 year). So, we need to use the 'sdar' utility instead. Change-Id: I6a9f7f4d4d93ad3a2f63b75827fce84a011945d2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Update windowsservercore/DockerfileJoerg Bornemann2019-10-115-75/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Update qbs to 1.12.1 - Update Qt to 5.12.5 We're not using the installer anymore, because a) the unattended-install-hack doesn't work for newer Qt installers b) newer installers do not provide VS 2015 builds. c) it allows us to tailor the Qt build to our needs in the future. We're not building the documentation on Windows anymore due to the genius move to require libclang for qdoc. That means we need additional twiddling with the packages to add documentation that was built on an usable OS. Task-number: QBS-1438 Change-Id: I77a487562c2f5edd69b8b8a10ef3410ab599dc92 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Remove superfluous calls to Windows DefenderRichard Weickelt2019-10-111-12/+0
| | | | | | | | | | | | | | | | They seem to no longer work and it is unclear whether they were even needed. Change-Id: I784ecca1920be16ff6712c3b26340328c58ce75c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Don't interpret BL51 linker warnings as errorsDenis Shienkov2019-10-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BL51 linker (from Keil product for 8051 architecture) ends with the exit code '1' in case any linking warning occurred. It is not an error, because at errors the linker ends with the exit code '2'. So, we need just to increase the value of the linking command 'maxExitCode' property from 0 to 1, similar to the compiler command handling. Change-Id: I4917d08ca3407c8046879780e4c8696fdef7736a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Fix merging issues from 1.14 to masterDenis Shienkov2019-10-104-46/+9
| | | | | | | | | | Change-Id: Id859d95ddfb776ec534ba0e46d989bb2ba30770a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Bundle Qt libraries on all platformsRichard Weickelt2019-10-105-161/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows us to deploy a self-containing Qbs package on all host platforms that are supported by the official Qt binary packages. Although not all (Linux) distributions make use of it, this will be helpful to - provide at least some binary convenience packages for the most important distributions, - perform building and testing in different environments, for instance build Qbs in one stage and then run autotests for desktop, iOS, android in parallel on multiple machines, - avoid windeployqt which does not work when cross-building for Windows on a Linux hosts. Change-Id: I63de4ea2240b37d8bd465cbbf4ddff3d01eeac7e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix static buildChristian Kandeler2019-10-1030-41/+80
| | | | | | | | | | | | | | | | Make sure we link in the generator plugins. Fixes: QBS-1491 Change-Id: I8c48a73f972c4089cfc8c097a67e2945837e9ed4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.14 into masterChristian Kandeler2019-10-087-126/+192
|\| | | | | | | Change-Id: Ief78bb9d82344e31135faca42a422c23951e87ec
| * Darwin: Adapt to Xcode 11Christian Kandeler2019-10-043-19/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - xcspec files can now refer to variables in variable names, as in the following line: CONTENTS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH_SHALLOW_BUNDLE_$ (SHALLOW_BUNDLE)) - Some new environment variables have been introduced and need to be set when running our probes; e.g. "SWIFT_PLATFORM_TARGET_PREFIX". - The symbolLinkMode autotest made an invalid assumption about order of output. Change-Id: Ic845c2c4a8eafb4ece0f0bb04e6e492681a02979 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * baremetal: Add missed output artifacts for SDCC compilerDenis Shienkov2019-10-012-61/+92
| | | | | | | | | | | | | | | | | | | | Compiler produces a lot of additional ".adb", ".lst", ".asm", ".sym", ".rst", ".lk", ".mem" files. This files should be also processed in SDCC module (e.g. it allows to remove this files by 'clean' command). Change-Id: Ib07dbe63ab27e263d67025ce5cd40a967910d354 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Fix missed linker artifact for C51 compilerDenis Shienkov2019-09-302-55/+50
| | | | | | | | | | | | | | | | | | | | | | We need to add a file with extension '.m51' which is a map file, generated by BL51 linker for 8051 architecture. Also the artifacts creation code is refactored and improved a bit. Change-Id: I49b487acf87263dde818696d5a3478333839c30b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Handle missed 'driverLinkerFlags' property for SDCCDenis Shienkov2019-09-301-1/+3
| | | | | | | | | | Change-Id: Ibd58a4bdf6c05af79c0d847ccaacaec5381b35d5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Fix assembler command for SDCC compilerv1.14.0Denis Shienkov2019-09-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use the assembler command in the followiong format: Usage: [-Options] outfile file1 [file2 file3 ...] Besides, we have added an additional assembler option '-l' to explicitly generate of a listing file; without of this option the linking fails. Change-Id: I0240b354f44edac94e3e4305fe6b1a4c34ca4bf9 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Disable glib event dispatcher in bionic Docker imageRichard Weickelt2019-10-072-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Disable glib in the bionic Docker image, as the glib event dispatcher leads to deadlocks in TestBlackbox::concurrentExecutor quite often. The problem should hardly occur in practice. This is a work-around until QTBUG-79020 is fixed. Fixes: QBS-1499 Change-Id: I8cecc979b1c13b053c0ee0787cc4bc0a0de8b701 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Refactor the map file generation propertyDenis Shienkov2019-10-0114-37/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. It is makes sense to define this property once inside of CppModule, instead of duplicate it in each other module. 2. A new property name 'generateLinkerMapFile' will be better than a previous, so, we can rename this property. 3. The map file generation is not necessary to be always enabled, so, we can disable this property by default. Change-Id: I0439e8b3e0273593c8456d32b1c099ff09498fad Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | JSON API: Force binary mode for stdout on WindowsChristian Kandeler2019-09-301-0/+15
| | | | | | | | | | | | | | | | Otherwise, the line feed character will get expanded to \r\n. Change-Id: I90e83d80625c59978986541fb2d04f49e75afaf0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* | Merge 1.14 into masterChristian Kandeler2019-09-268-22/+94
|\| | | | | | | Change-Id: Ie432987ee2d3ccaa6e881b1b01f142185eddabd8
| * Darwin: More filtering in SDK directoryChristian Kandeler2019-09-261-0/+3
| | | | | | | | | | | | | | | | Do not try to detect an SDK from a driver kit directory. Fixes: QBS-1495 Change-Id: I05ef565d599e83dcc02d0d18e656fabfd0aad943 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * baremetal: Fix auto detection of SDCC toolchain on WindowsDenis Shienkov2019-09-232-18/+49
| | | | | | | | | | | | | | | | | | | | | | | | The SDCC toolchain package can be provided as 32-bit or as 64-bit installer. If the SDCC 64-bit package will be installed on the 32-bit Windows, then it will not be found in the system registry, because we use the QSettings::NativeFormat. So, we need to check the data for the 32-bit and 64-bit registry sequentially. Change-Id: I15981f39274308e3690cf072396cf1ae82b6743d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Add how-to about ccacheKai Koehne2019-09-162-1/+32
| | | | | | | | | | | | | | Task-number: QBS-1325 Change-Id: Ice2e5f16b453b9bde8d2a90918eb593db81bff97 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Richard Weickelt <richard@weickelt.de>
| * Fix MSVC warningsOrgad Shaneh2019-09-132-2/+2
| | | | | | | | | | | | | | | | 'return': conversion from 'size_t' to 'int' Change-Id: I18e8fa03a9303855693da3027b722b104cee5d6d Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: hjk <hjk@qt.io>