When I build my firmware either in WSL or in a docker container, it takes about 2 minutes for the LDF to run, I’m assuming due to the Windows hypervisor overhead.
Because of this (and just because it’s a slow process), I would like to disable the LDF but I’m unsure of how to provide the new dependencies.
I have dumped the dependencies found by the LDF via
Import("env")
print(env.Dump())
and now I’m trying to add them manually like so:
...
lib_ldf_mode = off
lib_deps =
${platformio.packages_dir}/framework-arduinoespressif32/libraries/AsyncUDP
${platformio.packages_dir}/framework-arduinoespressif32/libraries/WiFi
${platformio.packages_dir}/framework-arduinoespressif32/libraries/WiFiClientSecure
${platformio.packages_dir}/framework-arduinoespressif32/libraries/HTTPClient
${platformio.packages_dir}/framework-arduinoespressif32/libraries/HTTPUpdate
${platformio.packages_dir}/framework-arduinoespressif32/libraries/HTTPUpdateServer
${platformio.packages_dir}/framework-arduinoespressif32/libraries/ArduinoOTA
${platformio.packages_dir}/framework-arduinoespressif32/libraries/AzureIoT
${platformio.packages_dir}/framework-arduinoespressif32/libraries/BLE
${platformio.packages_dir}/framework-arduinoespressif32/libraries/BluetoothSerial
${platformio.packages_dir}/framework-arduinoespressif32/libraries/DNSServer
${platformio.packages_dir}/framework-arduinoespressif32/libraries/EEPROM
${platformio.packages_dir}/framework-arduinoespressif32/libraries/ESP32
${platformio.packages_dir}/framework-arduinoespressif32/libraries/ESPmDNS
${platformio.packages_dir}/framework-arduinoespressif32/libraries/FFat
${platformio.packages_dir}/framework-arduinoespressif32/libraries/FS
${platformio.packages_dir}/framework-arduinoespressif32/libraries/NetBIOS
${platformio.packages_dir}/framework-arduinoespressif32/libraries/Preferences
${platformio.packages_dir}/framework-arduinoespressif32/libraries/SD
${platformio.packages_dir}/framework-arduinoespressif32/libraries/SD_MMC
${platformio.packages_dir}/framework-arduinoespressif32/libraries/SPI
${platformio.packages_dir}/framework-arduinoespressif32/libraries/SPIFFS
${platformio.packages_dir}/framework-arduinoespressif32/libraries/SimpleBLE
${platformio.packages_dir}/framework-arduinoespressif32/libraries/Ticker
${platformio.packages_dir}/framework-arduinoespressif32/libraries/Update
${platformio.packages_dir}/framework-arduinoespressif32/libraries/WebServer
${platformio.packages_dir}/framework-arduinoespressif32/libraries/WiFiProv
${platformio.packages_dir}/framework-arduinoespressif32/libraries/Wire
${extra.lib_deps_base}
etlcpp/Embedded Template Library @ ^19.3.5
./lib/ControllablePowerOutputs/ControllablePowerOutputBase
./lib/ControllablePowerOutputs/PowerOutput_24V
./lib/ControllablePowerOutputs/PowerOutput_5V
...
This doesn’t work though because I end up with issues where it doesn’t find the correct header anyway. It also ends up that all of these depedencies are copied into .pio rather than just being seen as includes. The other alternative to do it is via build flags but I feel like SCons/platformio should have a native way to do it correctly.