Commit Graph
141 Commits
Author SHA1 Message Date
J. Nick Koston 337ecfb8f9 Select the pch TU by source path, expand response files, and key the failure marker on the command 2026-08-25 13:58:34 -05:00
J. Nick Koston 8625e02b8e Cover the remaining pch branches 2026-08-25 13:50:01 -05:00
J. Nick Koston d46518d890 Cover the pch compile-command and failure paths 2026-08-25 13:45:43 -05:00
J. Nick Koston 71cf6049aa [esp32] Precompile the shared core headers for src compiles 2026-08-25 13:33:56 -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 Kostonandpre-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