| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| | |
Change-Id: I7ee0af7942b15e889bd9dec35adbf43f9f17c839
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
Amends 8c290c624d.
Change-Id: I9b08b921a46ac56239dd7934f8c3aa9addf70d52
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
... to move this code to a separate helper functions.
Change-Id: I56678be39df931105b04bec1340aa7ba09e523d9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: Id859d95ddfb776ec534ba0e46d989bb2ba30770a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ief78bb9d82344e31135faca42a422c23951e87ec
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: Ibd58a4bdf6c05af79c0d847ccaacaec5381b35d5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| | |
Change-Id: Ie432987ee2d3ccaa6e881b1b01f142185eddabd8
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I6eef8b28a741c417dc54a33577a2ad4b43def767
Fixes: QBS-1492
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The handling of version numbers in the cpp module was overly complicated and
too restrictive. Version numbers that are valid according to SemVer (for
instance 1.2.3-beta+47) were not accepted although being valid.
This patch allows the usage of any version number as long as it starts with
x[.y[.z]]. It also simplifies version number handling in the cpp module.
Task-number: QBS-1486
Change-Id: I2790f8a80bd78bf549f5d46c0748f88c788addec
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I4747e3e99015fef93cc2c072a49c787d8c42811f
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Move an architecture-specific code to a functions in the sdcc.js file.
* Remove the redundant copy-paste code.
* Align order for assembler, compiler, linker and archiver flags to
the unified form, like:
<inputs> <outputs> <defines> <includes> <flags>
* Add some comments.
* Fix handling of cLanguageVersion property.
Change-Id: Id787b4455847ac5dde4a926d850e7c076edc34d2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Move an architecture-specific code to a functions in the keil.js file.
* Remove the redundant copy-paste code.
* Align order for assembler, compiler, linker and archiver flags to
the unified form, like:
<inputs> <outputs> <defines> <includes> <flags>
* Add some comments.
* Fix handling of c{xx}LanguageVersion property.
* Fix JS warnings about the variables re-definition.
Change-Id: I708a446292e6f5c6bfb56ef3fa92815123808ccf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The KEIL IDE examples contains the following patterns
[*.s, *.a51, *.asm] for the assembler files.
So, we will use same patterns too, which are intended:
'*.s' - for ARM architecture.
'*.a51' - for 8051 architecture.
Change-Id: I8268d309bb6e9237a0f64d3280163afa997bfb81
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The IAR EW IDE provides the following file patterns
[*.s*, *.msa, *.asm] for the assembler files.
So, we will use same patterns too. But, instead of '*.s*'
pattern we will use a set of the following patterns:
'*.s' - for ARM and/or STM8 architectures.
'*.s43' - for MSP430 architecture.
'*.s51' - for 8051 architecture.
'*.s90' - for AVR architecture.
Change-Id: I5aad9ee7a81325e65be18d0ae0e0c1c9a9f6cf27
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Move an architecture-specific code to a functions in the iar.js file.
* Remove the redundant copy-paste code.
* Align order for assembler, compiler, linker and archiver flags to
the unified form, like:
<inputs> <outputs> <defines> <includes> <flags>
Change-Id: Ibfdc536f78d1145f6e1190da33f67b0fb7063f05
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Richard Weickelt <richard@weickelt.de>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit adds a basic support of the IAR Embedded Workbench
toolchain for the MSP430 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 MSP430 v7.12.4 on Windows using the simple
projects samples which come with the default IAR installer.
Change-Id: I6a31da1823fd08ba7bf41a315ac20e98f5ba77f6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is about clang in "mingw mode", not clang-cl.
When targeting Windows, clang is a lot like mingw, so factor out the
common parts into a new base module.
Testing uncovered a number of invalid assumptions in our autotests,
which are also fixed in this patch. In addition, minor adjustments had
to be made to the Qt.core module and to the qbscore lib.
Change-Id: I73085dc62a65e2a9d0397cf234c8641989246f22
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I340c66090f0934eb2bc6dccdd0c2dbe1b1e1db2f
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ia90ea48e414fe9c4041f4bfc6961638b8a49fec4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QBS-1454
Change-Id: I6e2514d10cca0cba0a14456ecd2abfb495539ee4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* SDCC support only the '.lib' library suffix.
* SDCC support only the '.rel' object suffix.
* SDCC produce the 'ihx' default image format.
Besides, SDCC expect same target flag for both compiler
and linker. We automatically take this flag from
the cpp.architecture property.
Change-Id: If7eac1d5ddc0c571d3c6a870f46f78d61d699f12
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ic632b377bf10e2b320956011e9a7d4eea99f560b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... which is used at dumping of predefined macros
and a header paths.
Reason is that for the different architectures the IAR
use different C++ language options:
* for ARM: --c++
* for AVR or 8051: --ec++
Change-Id: Ic2b4d50e9e2a978a5cbc69ed5353d5953e83c85d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Amends 65cb0d3e2d.
Fixes: QBS-1459
Change-Id: I771cc179bcc996559d76c85d785780a1b044812b
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes (at least) two compile errors:
- clang: error: invalid deployment target for -stdlib=libc++ (requires
iOS 5.0 or later)
- ld: library not found for -ldylib1.o
The dylib1 is only present on macOS and not present in recent tvOS/iOS
SDKs, clang tries to link to it if deployment target is less or equal to
"5.0".
Change-Id: Ie77a514bb2661312823df054f0dfca07d69e3059
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It seems, that console ios apps should not try to do a _qt_main_wrapper
trick since there's no platform plugin linked to the app and linker
fails to find wrapper.
Change-Id: I607db658d5e25d6029626b4a7efb46b2e228ab52
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This allows us to treat Qt.core similar to other Qt modules based upon
QtModule.qbs when bundling Qt libraries together with an application.
Change-Id: I9ae54ec40c3fb7506181afbd437f4e2f03b02e41
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is required because earlier iOS versions are broken in recent XCode
installations (at least, for XCode >= 7.0.0)
Change-Id: Ib55e2eafcf26357695ab057da8109921518b7fea
Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit adds a basic support of the IAR Embedded Workbench
toolchain for the STM8 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 STM8 v3.11.1 on Windows using the simple
projects samples which come with the default IAR installer.
Change-Id: Ibc116ceb33b7df49c3241d26fa97136255ba06dd
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previous implementation of SDCC toolchain based on an assumption,
that the default target architecture always is MCS51.
But, the SDCC compiler support multiple architectures:
* http://sdcc.sourceforge.net/
So, it is makes sense to add support and for STM8 architecture
to the SDCC toolchain.
Change-Id: Ibbd32764fe2fac3e45fda93ac3d903c3619efb18
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
|
| |
We need to use the '--c++' option instead of '--ec++'
to dump the macroses and headers for the C++ language.
Change-Id: I545e661babc1ffa84ef189d28b2dd59be3cef29e
Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
This implements support for the gRPC framework: https://www.grpc.io
Change-Id: Ia85461b9618e73827114c137fce8615e5a8139e3
Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
Otherwise, tests fail to locate old c++ library on recent Macs.
Change-Id: I6ff5ceb0753dea73a5da1c70cfeb97b848cb7948
Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This property can be used to check if candidate conforms with some
conditions. For example, an architecture of a shared
library candidate should match the current qbs.architecture.
Also, this will allow to implement support for the "text based stub
libraries" (yaml files that point to a real library in a system) on
macOS - instead of checking real file architecture, it should be read
from .tbd file
Change-Id: Ie84a3e70d883dec949440358e2f08213a8501982
Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
| |
Change-Id: I6ae2dd130cbafb03e51bc6e8e8a3e262d6d45fc6
Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
In NDK r20 clang adds -lc++ library automatically which leads to link fails.
Change-Id: Ifa5ae1f4be7d8a93146ef08a5dc312596dd19147
Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\ |
|
| |\
| | |
| | |
| | | |
Change-Id: Idab53d6bd9b6f2841e30d4a31f53ac53a05c2f09
|