As Mbed OS is built as whole, we have long paths again. This is known issue with windows. To fix the paths, we need to use response files.
Ninja is special, needs to be forced to use long paths.
We should define CMAKE_TOOLCHAIN_FILE (as we are providing Mbed OS toolchain file). This fixes
also the issue we had with Unix makefiles where application would be without response files.
For more details, see https://gitlab.kitware.com/cmake/cmake/-/issues/21104
As the Mbed OS toolchain file is included by CMake, we need to have enabling language in the main CMake (can be executed
only once).
Auto mode for ASM files. There might be rare cases where this fails, we will fix
them by requesting the component to use gnu syntax for assembly files.
* Remove duplicated ARM toolchain directory
* Link with archived cryptocell 310 libraries instead
of adding them as source files
* Provide default MBED_BOOT_STACK_SIZE definition
in scatter file as is done for GCC_ARM linker file
Provide a function in each build profile module to set the toolchain
options. All the functions have the same interface therefore the
CMake source file including the module always calls the same
function regardless of which build profile module is actually
included.
When the `mbed-os` target is broken up into multiple libraries,
a library other than `mbed-os` might need to set the toolchain
options. This will be possible by simply including the module
and calling the function with the target and toolchain for which
to set the options.
Provide a function in each toolchain module to set the toolchain
specific options. All the functions have the same interface
therefore the CMake source file including the module always calls
the same function regardless of which toolchain module is actually
included.
When the `mbed-os` target is broken up into multiple libraries, a
library other than `mbed-os` might need to set the toolchain options.
This will be possible by simply including the module and calling the
function with the target for which to set the options.
Set `CMAKE_SYSTEM_PROCESSOR` in toolchain.cmake based on
`MBED_CPU_CORE`.
This information is needed by the ARM toolchain (and possibly other
toolchains), it therefore makes sense to set in `toolchain.cmake`.
Provide a function in each CPU core module to set toolchain options.
All the functions have the same interface therefore the CMake source
file including the module always calls the same function regardless
of which cpu core module is actually included.
When the `mbed-os` target is broken up into multiple libraries, a
library other than `mbed-os` might need to set the toolchain options.
This will be possible by simply including the module and calling the
function with the target and toolchain for which to set the options.
Use retarged version (nosys.specs) for Mbed OS. To resolve an issue with debug/develop profiles.
Otherwise we get kill or getpid errors from linker, as we use nosys lib but no specs defined.