Tools - mkbuildoptglobals refactoring & attempt to fix caching by mcspr · Pull Request #9249 · esp8266/Arduino

@mcspr marked this pull request as ready for review

May 28, 2025 20:39
Optional include for build-dir header to exclude it from core.a when no
build opts are created / used. Preventive reads before writes, too
Plus, missing change to makecorever.py doing read before write
Prefer to use --output-dir in scripts, tests/device *must* be
out-of-tree for caching to work properly (avoid changing core nested dirs)

Assume 'aggressive caching' is normal mode of operation, no need for special treatment
(can be checked by looking at .d files in the build dir)

Even CI uses arduino-cli ~/.cache/arduino/{sketch,core} for building
Allow sketches without globals.h to share core.a, rebuild otherwise
(same sketch cache is retained, core.a & .o's reused)

Drop manual logging in favour of 'import logging'. Arduino-CLI might still need
tweaks in debug mode, though. Output flushing does not always happen promptly.

Allow multiple entries for the same name, which are then merged.
Allow spaces between @ and the signature words.
Allow to use line right after signature.
Syntax warnings show relevant snippet from globals.h

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr

bump global build options page in the menu hierarchy
share pydoc blob as rst instead, reference on the main page
note that aggressive caching opts are only for IDE 1.x

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr

@mcspr