Max Prokhorov
Max Prokhorov
I believe the gist of the issue is still the same as my previous ones - how do we build projects with multiple environments **fast**. ESPHome, ESPurna, etc. build process...
@ivankravets https://github.com/mcspr/pio4574 So, there are two identical envs - 'a' and 'b'. Doing some clean-up and building 'a' first ```console > rm -rf .build_cache/ > pio run -s -t clean...
Still does not retrieve cached .a from one env to the other Because of env separation, `CacheDir` retrieval uses build-dir target paths > ... > CacheRetrieve(.pio/build/a/libFrameworkArduino.a): retrieving from /home/runner/dev/pio4574/.build_cache/1A/1a8f427486d8fceb4d313ff8ca8f9f2e >...
> I found earlier that SCons internally likely uses the full path name to the file it is working on. This means that any compilation will be unique for different...
get_relpath() gives a very weird path in that context > ../../../../../../../dev/pio4574/.pio/build/a/src/main.cpp.o Project root is just `$PWD`, SConstruct is something distributed by PIO - https://github.com/platformio/platformio-core/blob/develop/platformio/builder/main.py `BUILD_DIR` is either `.pio/build/a/` or `.pio/build/b/`...
> do you see any issues in the PlatformIO Core? Maybe, it is our problem? From what I remember, we always use relative paths to the project directory. The gist...
The best I could come up with is to just have a custom env var `CACHEDIR_NODE_DIR` and pass it along to the signature func as dir when it exists instead...
^ I believe something like this was previously mentioned after lib\_extra\_dirs stopped working with lib\_deps in #4206, so in our (espurna) case the only real option now is to manually...
Also looks like https://github.com/platformio/platform-espressif32/issues/861 We try to call `env.GetActualLDScript()` to retrieve our flash size info https://github.com/platformio/platformio-core/blob/48655ad728c25c6af67da913c36651e27fdd05ad/platformio/builder/tools/piomisc.py#L42-L84 Which is broken in nobuild case, since there is no env.BuildProgram() and LINKFLAGS is...
> I generally do not merge patches which claim to just make a small change like adding some attribute, but in fact modify nearly all the code and likely will...