Previously, the project relied on undefined behavior of older versions of the Arduino build system, where correct file extension case was not enforced when copying files from the sketch folder to the build folder, in order to .
This stopped working at Arduino IDE 1.8.14, meaning that users were forced to use a significantly outdated version of the IDE; a requirement which was undocumented.
This is fixed by adding an additional build hook to platform.local.txt that copies the .s files from the sketch folder to the build folder.
Due to limitations of the Arduino platform framework, it was necessary to jump through some hoops to get working patterns for these commands:
Windows command pattern must use cmd /C because copy is not directly usable via the os/exec Go package that executes the generated commands.
Linux/macOS command patterns must use cd because otherwise the *.s glob was broken by being automatically quoted as part of the sketch path.
Linux/macOS command patters must use sh -c because cd is not directly usable via the os/exec Go package that executes the generated commands.
Previously, the project relied on undefined behavior of older versions of the Arduino build system, where correct file extension case was not enforced when copying files from the sketch folder to the build folder, in order to .
This stopped working at Arduino IDE 1.8.14, meaning that users were forced to use a significantly outdated version of the IDE; a requirement which was undocumented.
This is fixed by adding an additional build hook to
platform.local.txt
that copies the.s
files from the sketch folder to the build folder.Due to limitations of the Arduino platform framework, it was necessary to jump through some hoops to get working patterns for these commands:
cmd /C
becausecopy
is not directly usable via theos/exec
Go package that executes the generated commands.cd
because otherwise the*.s
glob was broken by being automatically quoted as part of the sketch path.sh -c
becausecd
is not directly usable via theos/exec
Go package that executes the generated commands.Fixes https://github.com/duff2013/ulptool/issues/74