nuttx-mirror/.github/workflows
simbit18 d16de91e39 [MSYS2] CMake+Ninja Fix arm-none-eabi-ar: Argument list too long
This issue is related to the Arm toolchain for Windows which is available for x86 host architecture only (compatible with x86_64)

Windows (mingw-w64-i686) hosted cross toolchains
AArch32 bare-metal target (arm-none-eabi)

Issue
/bin/sh: line 1: /home/nuttx/nuttxnew/tools/gcc-arm-none-eabi/bin/arm-none-eabi-ar: Argument list too long

On Windows, arm-none-eabi-ar can only accept strings up to a maximum length of 32,768 characters.

We could suppress the 32K include string limitation by setting the CMake variable CMAKE_NINJA_FORCE_RESPONSE_FILE to ON.

This is unfortunately not enough!!! ): In the build phase this error comes out

$ cmake --build build
[2/1025] Building ASM object arch/CMakeFiles/arch.dir/arm/src/armv7-m/arm_exception.S.obj
FAILED: arch/CMakeFiles/arch.dir/arm/src/armv7-m/arm_exception.S.obj
/home/nuttx/nuttxnew/tools/gcc-arm-none-eabi/bin/arm-none-eabi-gcc.exe @arch/CMakeFiles/arch.dir/arm/src/armv7-m/arm_exception.S.obj.rsp -MD -MT arch/CMakeFiles/arch.dir/arm/src/armv7-m/arm_exception.S.obj -MF arch/CMakeFiles/arch.dir/arm/src/armv7-m/arm_exception.S.obj.d -o arch/CMakeFiles/arch.dir/arm/src/armv7-m/arm_exception.S.obj -c /home/nuttx/nxninja/nuttx/arch/arm/src/armv7-m/arm_exception.S
C:/msys64/home/nuttx/nxninja/nuttx/arch/arm/src/armv7-m/arm_exception.S:42:10: fatal error: nuttx/config.h: No such file or directory
   42 | #include <nuttx/config.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.

The Workround I found to solve this problem is to overwrite
the responsible file flag CMAKE_${lang}_RESPONSE_FILE_FLAG with $DEFINES $INCLUDES $FLAGS

Maybe there is a better solution but this one it works. :)
2024-11-21 19:18:38 -03:00
..
arch.yml CI: Enable builds for msys2, msvc, arm-08, arm-10, arm-13 for Complex PRs 2024-11-02 09:25:12 -03:00
build.yml [MSYS2] CMake+Ninja Fix arm-none-eabi-ar: Argument list too long 2024-11-21 19:18:38 -03:00
check.yml ci: add Python linter to check 2024-10-15 15:01:07 +02:00
doc.yml ci: documentation workflow is now only triggered when the Documentation subdirectory has modifications, and does not build pdfs. 2024-10-17 09:04:50 +08:00
docker_linux.yml tools/ci/docker/linux/Dockerfile: Restarting the Docker-Linux workflow a new attempt 2024-09-02 14:11:51 -04:00
issue_labeler.yml ISSUE_TEMPLATE: fix missing labels 2024-10-21 18:04:27 +02:00
labeler.yml build(deps): bump codelytv/pr-size-labeler from 1.10.0 to 1.10.1 2024-09-23 14:37:02 +08:00
lint.yml build(deps): bump github/super-linter from 6 to 7 2024-09-07 12:08:11 +08:00