I heard from an ESPD tester that compiling ESPD sometimes fails because (for some reason) HAVE_CONFIG_H is defined by the complicated ESP compile chain but there's no "config.h" in the Pd sources so this fails:
#ifdef HAVE_CONFIG_H /* autotools might put all the HAVE_... defines into "config.h" */ # include "config.h" #endif
It seems a bit fragile anyway... is there a way to make the test more stringent? Perhaps require that some other symbol be defined by hand before pulling in "config.h", and/or having some way to specify what directory to look for config.h in?
In the meantime I already have to patch the Pd sources slightly to get ESPD to compile so I can work around this if I have to.
thanks
Miller
Am 9. Oktober 2024 15:44:33 MESZ schrieb Miller Puckette mpuckette@cloud.ucsd.edu:
I heard from an ESPD tester that compiling ESPD sometimes fails because (for some reason) HAVE_CONFIG_H is defined by the complicated ESP compile chain but there's no "config.h" in the Pd sources so this fails:
#ifdef HAVE_CONFIG_H /* autotools might put all the HAVE_... defines into "config.h" */ # include "config.h" #endif
It seems a bit fragile anyway... is there a way to make the test more stringent? Perhaps require that some other symbol be defined by hand before pulling in "config.h", and/or having some way to specify what directory to look for config.h in?
This is really the standard way to include a `config.h` file. Zillions of project all over the world use this pattern, I don't think we should invent our own method.
Apart from that: "the complicated ESP compile chain" really must define `HAVE_CONFIG_H` **only** if it does "have config.h".
So since the behaviour of this define is so well defined, I doubt that this cannot be handled properly for the esp.
In the meantime I already have to patch the Pd sources slightly to get ESPD to compile so I can work around this if I have to.
I would really love it if the pd could be built for esp without having to patch anything
mfg.sfg.jfd IOhannes
On 10/9/24 15:44, Miller Puckette wrote:
I heard from an ESPD tester that compiling ESPD sometimes fails because (for some reason)
i just tried to build ESPD and it worked flawlessly (having no device at hand i cannot really test, and i don't know what i did exactly; but i now i have an "espd.bin" and an "espd.elf" file in my build/ directory).
passing `--verbose` to idf.py (as in `idf.py --verbose build`) will show all the commands that are executed. at least in my test-run there was no trace of `HAVE_CONFIG_H`.
so in order to understand the problem (and fix it in a satisfying way), it would be great if we could narrow down the "*some* reason" that *sometimes* triggers a build failure.
a good start would be a build.log when run with "--verbose". e.g.: ```sh idf.py --verbose build |& tee build.log ```
gdmfst IOhannes