Open fpistm opened 3 years ago
@fpistm Would it not be better to fix this by using a different extension that .h? Since build_opt.h
does not actually contain C/C++ code, but compiler commandline options, so .h
does not seem appropriate? Or is it needed to ensure that the file is copied into the temp directory when compiling a sketch?
@matthijskooijman Yes we agree, as mentioned:
.h
file extension has been used because Arduino 1.8.x does not allow to create file without a specific extension (ino, c, cpp, h, hpp).
And this is exactly what I've suggested at the end of my OP:
Maybe a fix would be to add an extra file extension to avoid to parse it. Ex: .opt or simply .txt.
For me ".opt" is fine and more explicit: build.opt
. And is inline with gcc documention: Read command-line options
https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html
About the copy I don't yet think about it but it can always be done by the prebuild recipe.
Just chiming in to say that am not ignoring this. We're focusing on developing the Pluggable Discovery and it's taking most of our time, I want to take a look at this as soon as we're done with the Pluggable. No ETA for now.
Describe the bug STM32 core allows user to define some value by adding a build_opt.h file at sketch level. This file is not a standard header file as it is used by the gcc command line with
@file
option.https://github.com/stm32duino/wiki/wiki/Customize-build-options-using-build_opt.h
To achieve this a simple recipe hooks prebuild is used. When no file exists at sketch level it creates an empty one. It works fine until Arduino 1.8.13. Since 1.8.15 it is failed.
.h
file extension has been used because Arduino 1.8.x does not allow to create file without a specific extension (ino, c, cpp, h, hpp).I guess it is linked to https://github.com/arduino/arduino-cli/pull/1224
For example a build_opt.h with:
-DHAL_CRC_MODULE_ENABLED
is converted to:
Below the build result due to the
#line
addition: Using command:To Reproduce Steps to reproduce the behaviour:
build_opt.h
file containing the line-DHAL_CRC_MODULE_ENABLED
to an examplearduino-cli compile -b STMicroelectronics:stm32:Nucleo_144:pnum=NUCLEO_H743ZI2 C:\\STM32\\arduino\\arduino-1.8.15\\portable\\sketchbook\\blink_minimal\\blink_minimal.ino
Expected behavior Do not preprocess .h file and able to build.Desktop (please complete the following information):
arduino-cli version
): arduino-cli.exe alpha Version: 0.18.3 Commit: d710b642 Date: 2021-05-14T12:36:58ZAdditional context
Issue originally reported by an user here: https://github.com/stm32duino/Arduino_Core_STM32/issues/1387 https://github.com/arduino/arduino-ide/issues/363
Maybe a fix would be to add an extra file extension to avoid to parse it. Ex: .opt or simply .txt.