J. Nick Koston
c419fc4bbc
Skip the pch when a header identity is unknown, union missing sloppiness tokens, report projenv import failures
2026-08-25 19:59:25 -05:00
J. Nick Koston
d08c524f19
Harden the pch script for Windows paths and make ignored pchs visible
2026-08-25 15:36:41 -05:00
J. Nick Koston
83a2f78075
Walk the include closure in the pch checksum and honor a user CCACHE_BASEDIR
2026-08-25 13:32:17 -05:00
J. Nick Koston
aaf76710a9
Merge remote-tracking branch 'origin/esp8266-arduino-toolchain' into esp8266-native-pch
2026-08-25 13:16:51 -05:00
J. Nick Koston
2665a4fa12
[esp8266] Precompile the shared prefix header for src compiles
2026-08-25 13:16:51 -05:00
J. Nick Koston
e2c2b2f53e
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-25 12:37:47 -05:00
J. Nick Koston
784f3b8680
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-25 12:37:47 -05:00
J. Nick Koston
21de71bd7a
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-25 12:37:46 -05:00
J. Nick Koston and pre-commit-ci-lite[bot]
19b434f99c
[espidf] Cache the discovered component list to skip the discovery configure ( #18752 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-08-25 12:36:57 -05:00
J. Nick Koston
9b02163b99
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
...
# Conflicts:
# tests/unit_tests/build_gen/test_arduino8266.py
2026-08-24 13:36:39 -05:00
J. Nick Koston
3f76981e2d
Serialize the cache-stamp command unambiguously, annotate the test helpers
2026-08-24 13:36:07 -05:00
J. Nick Koston
9974ad97fa
[core] Extract the shared idedata and size-summary helpers into build_helpers ( #18661 )
2026-08-23 21:59:19 -05:00
J. Nick Koston
0b920477b3
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-23 19:43:43 -05:00
J. Nick Koston
d4715511aa
Cover the non-UTF-8 script raise and the note-read race
2026-08-23 19:43:31 -05:00
J. Nick Koston
4a9dfe0456
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-23 19:38:34 -05:00
J. Nick Koston
983c5a1de9
Decode the linker script strictly, fold the diagnostic note into the cache stamp, fix the comment attachment
2026-08-23 19:35:42 -05:00
J. Nick Koston
6dbe414b77
Assemble plain .s without the preprocessor, allow unflagging operand-less linker flags
2026-08-23 18:59:45 -05:00
J. Nick Koston
b458d6b4af
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-23 18:26:13 -05:00
J. Nick Koston
9a04c0ffdc
ASCII-only shape regexes, document the flash_mode precondition
2026-08-23 18:26:04 -05:00
J. Nick Koston
73fd512a25
Make symbol unflags pair-aware on the link line, drop the dead KEY_FLASH_MODE
2026-08-23 18:03:15 -05:00
J. Nick Koston
a15dbe750f
Pin that a non-default flash mode reaches the define and the image header
2026-08-23 17:46:53 -05:00
J. Nick Koston
c97fb7744b
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-23 17:12:40 -05:00
J. Nick Koston
5990fbbf58
Warn on unrecognized flag shapes reaching the compile line, pin the IPv6 lwIP pair, fix stale comments
2026-08-23 17:12:31 -05:00
J. Nick Koston
ad4c59873b
Read flash mode from its real producer, share the mode set, store the scanf decision
...
flash_mode comes from the board_build.flash_mode option the component
already pins (validated by cv.one_of against the same BUILD_FLASH_MODES,
now living in const.py so the two sides cannot drift), retiring
KEY_FLASH_MODE from the generator. The scanf-float decision is stored in
CORE.data where it is computed instead of being a discarded local, so
KEY_SCANF_FLOAT has a producer in this PR. A trailing bare -include in
build_src_flags fails by name instead of degrading into the source dir.
2026-08-23 16:42:25 -05:00
J. Nick Koston
f955c59fe4
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-23 15:33:42 -05:00
J. Nick Koston
9cbdfa07cb
Require bodies on the MMU segment sizes, split driver link flags, warn on a stuck note
...
A bare -DMMU_IRAM_SIZE would preprocess to len = 1 and fail far away in
ld (or as a misleading testing-mode message), so MMU_CUSTOM requires a
body on both segment sizes before the shape check. -fuse-ld=/-specs=/
--specs= are driver options with no -Wl, spelling, so they get their
own rejection instead of advice that would make things worse. An
unremovable stale stderr note now warns with the clean hint, since its
consequence is a permanently unstamped cache.
2026-08-23 15:33:37 -05:00
J. Nick Koston
a80b5a9dd0
Cover the flash-mode rejection and src-flag pass-through
2026-08-23 14:06:11 -05:00
J. Nick Koston
4cc3012d98
Read build_src_flags from its producer, share the ldscript rule, shape-check flash_mode
...
The throw_stubs force-include now comes from the build_src_flags option
esp8266/__init__ pins, collapsing the two spellings to one source of
truth; -include paths resolve against the source root. The ldscript
fallback consumes boards.board_ld_script instead of duplicating the
per-board rule, flash_mode is checked against its closed set before
landing unquoted in the elf2bin command, and the board-gate comment no
longer names a nonexistent validator.
2026-08-23 13:56:27 -05:00
J. Nick Koston
39f6425170
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-23 13:54:27 -05:00
J. Nick Koston
6b5b13c17e
Pin the LOW_MEMORY lwIP fall-through, veto the stamp on a stuck stale note
...
LOW_MEMORY is upstream's else branch, so the default variant stands in
for it and every listed knob wins -- pinned for the ordinary SNTP
multi-server config where esp8266's HIGHER_BANDWIDTH_LOW_FLASH must
prevail. A stale warn note that cannot be removed now vetoes the stamp
(mirror of the lost-note case), and the unreadable-cached-note warning
names its cause.
2026-08-23 13:51:54 -05:00
J. Nick Koston
9f6d66a2e7
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
...
# Conflicts:
# esphome/build_gen/arduino8266.py
# tests/unit_tests/build_gen/test_arduino8266.py
2026-08-23 12:18:51 -05:00
J. Nick Koston
eb982e07a7
Veto the ld-script cache stamp when the warn note is lost, widen the linker denylist
...
A failed stderr-sidecar write no longer stamps the cache: the next build
re-runs -E and re-derives the preprocessor diagnostic honestly instead
of losing it for the life of the build dir. The sidecar unlink joins the
best-effort contract. The plain-linker denylist gains the
-nodefaultlibs/-nostdlib/-rdynamic family and the -fuse-ld=/--specs=
prefixes, with a comment naming it best-effort rather than complete.
The damaged-file helper test now lives only in test_helpers.py beside
the OSError-branch coverage.
2026-08-23 12:17:43 -05:00
J. Nick Koston
10d82b129a
Rely on the lex funnel's empty-argument drop
...
The funnel now warns and drops empty glued arguments itself, so the
raise here had nothing left to catch.
2026-08-23 12:15:52 -05:00
J. Nick Koston
cd3cdde87c
Preserve d1_wroom_02's shipped flash layout, refuse plain linker unflags, pin the real spaced-override outcome
2026-08-22 22:29:21 -05:00
J. Nick Koston
a7e5ac9dea
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 22:11:44 -05:00
J. Nick Koston
be5317ae46
Scope the hex-only MMU rule to the segment sizes the surgery parser reads
2026-08-22 22:11:42 -05:00
J. Nick Koston
476852c84f
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
...
# Conflicts:
# esphome/build_gen/arduino8266.py
2026-08-22 22:11:14 -05:00
J. Nick Koston
2521f29782
Apply the 18559 simplify pass: surgery wrapper, shared clean hint, resilient write helper, unified knob lookups, test scaffolding
2026-08-22 22:09:36 -05:00
J. Nick Koston
aadc10944c
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
...
# Conflicts:
# esphome/build_gen/arduino8266.py
2026-08-22 21:49:06 -05:00
J. Nick Koston
bb7ba38fd0
Hoist the knob tables to dicts and the shape checks to compiled module regexes
2026-08-22 21:48:41 -05:00
J. Nick Koston
822bb1d88f
Drop the stale ccache_path patch from the write_project test
2026-08-22 21:29:50 -05:00
J. Nick Koston
9487cf6b7c
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 21:29:33 -05:00
J. Nick Koston
81afaca560
Unify the MMU guards: hex-only sizes, every valued MMU_* validated, no-knob refuses all
2026-08-22 21:29:31 -05:00
J. Nick Koston
53cfdc92ba
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 20:26:38 -05:00
J. Nick Koston
c60b8d1b8b
Validate custom MMU sizes, refuse raw NONOSDK defines, warn on a lost stderr note
2026-08-22 20:26:27 -05:00
J. Nick Koston
7460f8df1a
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 20:01:32 -05:00
J. Nick Koston
33987c9682
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 20:01:32 -05:00
J. Nick Koston
8b8ef9bc61
Clean up the archive on any ar failure; state the link-order contract plainly
2026-08-22 20:00:22 -05:00
J. Nick Koston
c3eeb3fa2a
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
...
# Conflicts:
# tests/unit_tests/build_gen/test_arduino8266.py
2026-08-22 19:15:07 -05:00
J. Nick Koston
03dba8b63e
Raise on empty-argument build flags, pin the preprocessor decode, soften bookkeeping writes
2026-08-22 19:13:41 -05:00