Using custom compiler settings not working
I am using my own compiler settings, I have several folders that get included during compilation, so much so that it seems that even though the printed shell command looks ok, it doesn't seem that all of the arguments are actually passed to gcc. I matched up my settings with the default settings because building with the ":tools:" section of the .yml excluded did not fail in the same way, when I use the custom settings, gcc complains about not having any input files when they are in fact included. Below is the trace:
$ ceedling test:watchdog
Test 'test_watchdog.c'
Compiling watchdog.c... gcc.exe: fatal error: no input files compilation terminated. ERROR: Shell command failed.
Shell executed command: 'gcc.exe -I"C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src” -I"C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src” -I"build/test/mocks” -I"test” -I"test/support” -I"..” -I"../autogen” -I"../bamboo” -I"../bamboo/AWA_keys” -I"../bamboo/output_gbl” -I"../bamboo/scripts” -I"../config” -I"../config/btconf” -I"../config/btmeshconf” -I"../gecko_sdk_4.0.1” -I"../gecko_sdk_4.0.1/app” -I"../gecko_sdk_4.0.1/app/bluetooth” -I"../gecko_sdk_4.0.1/app/bluetooth/common” -I"../gecko_sdk_4.0.1/app/bluetooth/common/app_btmesh_util” -I"../gecko_sdk_4.0.1/app/bluetooth/common/btmesh_factory_reset” -I"../gecko_sdk_4.0.1/app/bluetooth/common/btmesh_friend” -I"../gecko_sdk_4.0.1/app/bluetooth/common/simple_timer” -I"../gecko_sdk_4.0.1/app/common” -I"../gecko_sdk_4.0.1/app/common/util” -I"../gecko_sdk_4.0.1/app/common/util/app_assert” -I"../gecko_sdk_4.0.1/app/common/util/app_log” -I"../gecko_sdk_4.0.1/platform” -I"../gecko_sdk_4.0.1/platform/CMSIS” -I"../gecko_sdk_4.0.1/platform/CMSIS/Include” -I"../gecko_sdk_4.0.1/platform/Device” -I"../gecko_sdk_4.0.1/platform/Device/SiliconLabs” -I"../gecko_sdk_4.0.1/platform/Device/SiliconLabs/EFR32MG12P” -I"../gecko_sdk_4.0.1/platform/Device/SiliconLabs/EFR32MG12P/Include” -I"../gecko_sdk_4.0.1/platform/Device/SiliconLabs/EFR32MG12P/Source” -I"../gecko_sdk_4.0.1/platform/Device/SiliconLabs/EFR32MG12P/Source/GCC” -I"../gecko_sdk_4.0.1/platform/bootloader” -I"../gecko_sdk_4.0.1/platform/bootloader/api” -I"../gecko_sdk_4.0.1/platform/bootloader/app_properties” -I"../gecko_sdk_4.0.1/platform/common” -I"../gecko_sdk_4.0.1/platform/common/inc” -I"../gecko_sdk_4.0.1/platform/common/src” -I"../gecko_sdk_4.0.1/platform/common/toolchain” -I"../gecko_sdk_4.0.1/platform/common/toolchain/inc” -I"../gecko_sdk_4.0.1/platform/common/toolchain/src” -I"../gecko_sdk_4.0.1/platform/driver” -I"../gecko_sdk_4.0.1/platform/driver/leddrv” -I"../gecko_sdk_4.0.1/platform/driver/leddrv/inc” -I"../gecko_sdk_4.0.1/platform/driver/leddrv/src” -I"../gecko_sdk_4.0.1/platform/emdrv” -I"../gecko_sdk_4.0.1/platform/emdrv/common” -I"../gecko_sdk_4.0.1/platform/emdrv/common/inc” -I"../gecko_sdk_4.0.1/platform/emdrv/nvm3” -I"../gecko_sdk_4.0.1/platform/emdrv/nvm3/inc” -I"../gecko_sdk_4.0.1/platform/emdrv/nvm3/lib” -I"../gecko_sdk_4.0.1/platform/emdrv/nvm3/src” -I"../gecko_sdk_4.0.1/platform/emlib” -I"../gecko_sdk_4.0.1/platform/emlib/inc” -I"../gecko_sdk_4.0.1/platform/emlib/src” -I"../gecko_sdk_4.0.1/platform/radio” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/autogen” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/autogen/librail_release” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/chip” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/chip/efr32” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/chip/efr32/efr32xg1x” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/common” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/plugin” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/plugin/pa-conversions” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/plugin/pa-conversions/efr32xg1x” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/plugin/rail_util_pti” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/protocol” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/protocol/ble” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/protocol/ieee802154” -I"../gecko_sdk_4.0.1/platform/radio/rail_lib/protocol/zwave” -I"../gecko_sdk_4.0.1/platform/service” -I"../gecko_sdk_4.0.1/platform/service/cli” -I"../gecko_sdk_4.0.1/platform/service/cli/inc” -I"../gecko_sdk_4.0.1/platform/service/cli/src” -I"../gecko_sdk_4.0.1/platform/service/device_init” -I"../gecko_sdk_4.0.1/platform/service/device_init/inc” -I"../gecko_sdk_4.0.1/platform/service/device_init/src” -I"../gecko_sdk_4.0.1/platform/service/iostream” -I"../gecko_sdk_4.0.1/platform/service/iostream/inc” -I"../gecko_sdk_4.0.1/platform/service/iostream/src” -I"../gecko_sdk_4.0.1/platform/service/mpu” -I"../gecko_sdk_4.0.1/platform/service/mpu/inc” -I"../gecko_sdk_4.0.1/platform/service/mpu/src” -I"../gecko_sdk_4.0.1/platform/service/power_manager” -I"../gecko_sdk_4.0.1/platform/service/power_manager/inc” -I"../gecko_sdk_4.0.1/platform/service/power_manager/src” -I"../gecko_sdk_4.0.1/platform/service/sleeptimer” -I"../gecko_sdk_4.0.1/platform/service/sleeptimer/inc” -I"../gecko_sdk_4.0.1/platform/service/sleeptimer/src” -I"../gecko_sdk_4.0.1/platform/service/system” -I"../gecko_sdk_4.0.1/platform/service/system/inc” -I"../gecko_sdk_4.0.1/platform/service/system/src” -I"../gecko_sdk_4.0.1/platform/service/udelay” -I"../gecko_sdk_4.0.1/platform/service/udelay/inc” -I"../gecko_sdk_4.0.1/platform/service/udelay/src” -I"../gecko_sdk_4.0.1/protocol” -I"../gecko_sdk_4.0.1/protocol/bluetooth” -I"../gecko_sdk_4.0.1/protocol/bluetooth/inc” -I"../gecko_sdk_4.0.1/protocol/bluetooth/lib” -I"../gecko_sdk_4.0.1/protocol/bluetooth/lib/EFR32MG12P” -I"../gecko_sdk_4.0.1/protocol/bluetooth/lib/EFR32MG12P/GCC” -I"../gecko_sdk_4.0.1/protocol/bluetooth/src” -I"../gecko_sdk_4.0.1/util” -I"../gecko_sdk_4.0.1/util/silicon_labs” -I"../gecko_sdk_4.0.1/util/silicon_labs/silabs_core” -I"../gecko_sdk_4.0.1/util/silicon_labs/silabs_core/memory_manager” -I"../gecko_sdk_4.0.1/util/third_party” -I"../gecko_sdk_4.0.1/util/third_party/crypto” -I"../gecko_sdk_4.0.1/util/third_party/crypto/mbedtls” -I"../gecko_sdk_4.0.1/util/third_party/crypto/mbedtls/include” -I"../gecko_sdk_4.0.1/util/third_party/crypto/mbedtls/include/mbedtls” -I"../gecko_sdk_4.0.1/util/third_party/crypto/mbedtls/include/psa” -I"../gecko_sdk_4.0.1/util/third_party/crypto/mbedtls/library” -I"../gecko_sdk_4.0.1/util/third_party/crypto/sl_component” -I"../gecko_sdk_4.0.1/util/third_party/crypto/sl_component/sl_mbedtls_support” -I"../gecko_sdk_4.0.1/util/third_party/crypto/sl_component/sl_mbedtls_support/config” -I"../gecko_sdk_4.0.1/util/third_party/crypto/sl_component/sl_mbedtls_support/inc” -I"../gecko_sdk_4.0.1/util/third_party/crypto/sl_component/sl_mbedtls_support/src” -I"../gecko_sdk_4.0.1/util/third_party/crypto/sl_component/sl_protocol_crypto” -I"../gecko_sdk_4.0.1/util/third_party/crypto/sl_component/sl_protocol_crypto/src” -I"../gecko_sdk_4.0.1/util/third_party/crypto/sl_component/sl_psa_driver” -I"../gecko_sdk_4.0.1/util/third_party/crypto/sl_component/sl_psa_driver/inc” -I"../gecko_sdk_4.0.1/util/third_party/crypto/sl_component/sl_psa_driver/src” -I"../wlc-node-app” -I"../wlc-node-app/app” -I"../wlc-node-app/modules” -I"../wlc-node-app/modules/fixture_interface” -I"../wlc-node-app/modules/fixture_interface/stm_8_upgrade” -I"../wlc-node-app/modules/fixture_interface/stm_8_upgrade/hex_to_byte_array_conversion” -I"../wlc-node-app/modules/ir_receiver” -I"../wlc-node-app/modules/led” -I"../wlc-node-app/modules/light_engine” -I"../wlc-node-app/modules/light_engine/cls_light_engine” -I"../wlc-node-app/modules/light_engine/cls_light_engine/include” -I"../wlc-node-app/modules/light_engine/cls_light_engine/include/light_engine” -I"../wlc-node-app/modules/light_engine/cls_light_engine/src” -I"../wlc-node-app/modules/light_engine/logging” -I"../wlc-node-app/modules/light_sensor_interface” -I"../wlc-node-app/modules/motion_sensor” -I"../wlc-node-app/modules/vendor_model” -I"../wlc-node-app/modules/vendor_model/scene” -I"../wlc-node-app-test” -I"../wlc-node-app-test/build” -I"../wlc-node-app-test/build/artifacts” -I"../wlc-node-app-test/build/artifacts/test” -I"../wlc-node-app-test/build/logs” -I"../wlc-node-app-test/build/temp” -I"../wlc-node-app-test/build/test” -I"../wlc-node-app-test/build/test/cache” -I"../wlc-node-app-test/build/test/dependencies” -I"../wlc-node-app-test/build/test/mocks” -I"../wlc-node-app-test/build/test/out” -I"../wlc-node-app-test/build/test/out/asm” -I"../wlc-node-app-test/build/test/out/c” -I"../wlc-node-app-test/build/test/preprocess” -I"../wlc-node-app-test/build/test/preprocess/files” -I"../wlc-node-app-test/build/test/preprocess/includes” -I"../wlc-node-app-test/build/test/results” -I"../wlc-node-app-test/build/test/runners” -I"../wlc-node-app-test/test” -I"../wlc-node-app-test/test/support” -DEFR32MG12P432F1024IM48=1 -DTEST -DGNU_COMPILER -g -c "../wlc-node-app/app/watchdog.c" -o "build/test/out/c/watchdog.o" -MMD -MF "build/test/dependencies/watchdog.d"' And exited with status: [1].
#<Thread:0x000001cb63b3dcd0 C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/par_map.rb:7 run> terminated with exception (report_on_exception is true):
C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/tool_executor.rb:88:in exec': ShellExecutionException (ShellExecutionException) from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/generator.rb:99:in generate_object_file'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/rules_tests.rake:17:in block in <top (required)>' from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/task.rb:281:in block in execute'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/task.rb:281:in each' from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/task.rb:281:in execute'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/task.rb:219:in block in invoke_with_call_chain' from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/task.rb:199:in synchronize'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/task.rb:199:in invoke_with_call_chain' from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/task.rb:188:in invoke'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/task_invoker.rb:97:in block in invoke_test_objects' from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/par_map.rb:10:in block (2 levels) in par_map'
rake aborted!
ShellExecutionException: ShellExecutionException
Tasks: TOP => build/test/out/c/watchdog.o (See full trace by running task with --trace) ERROR: Ceedling Failed