Commit Graph
17961 Commits
Author SHA1 Message Date
J. Nick Koston 9c9ddea00c Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain 2026-08-23 12:34:10 -05:00
J. Nick Koston 33c010e1b0 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 12:34:08 -05:00
J. Nick Koston 7155d5446b Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 12:34:06 -05:00
J. Nick Koston 590605c417 Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 12:34:03 -05:00
J. Nick Koston dcd76ec9de Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 12:34:01 -05:00
J. Nick Koston 36ea8a2c17 Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 12:33:59 -05:00
J. Nick Koston 7c7deba4e4 Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 12:33:57 -05:00
J. Nick Koston bd69eab7fb Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 12:33:55 -05:00
J. Nick Koston 5adaee5408 Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 12:33:53 -05:00
J. Nick Koston b903c884fd Absorb the converter-hardening split (#18685); this PR keeps only the download parallelization 2026-08-23 12:33:21 -05:00
J. Nick Koston 9731c9527a Harden the shared library converter
Split out of #18662: the converter/manifest hardening without the
download parallelization, which stays there.

The PIO extra-script shim moves from espidf/ to platformio/ and gains
type checks for every manifest field, capture of the Append variants and
CPPPATH, warn-once diagnostics for unmodelled env reads, and uniform
shlex quoting so captured values survive the lex_build_flags round-trip.
The dependency walk normalizes every spelling PIO accepts, splits the
routine cross-platform skip (IncompatiblePlatform) from real manifest
problems, validates manifest shape once, and the shared flag lexer
warns and drops trailing or empty glued arguments.
2026-08-23 12:32:44 -05:00
J. Nick Koston 8d0eab9111 Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain 2026-08-23 12:19:24 -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 49bdd061b8 Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 12:15:20 -05:00
J. Nick Koston 88cc355293 Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 12:15:19 -05:00
J. Nick Koston 25b429de5d Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 12:15:19 -05:00
J. Nick Koston 65f116eaf8 Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 12:15:19 -05:00
J. Nick Koston 9bb4fedc98 Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 12:15:19 -05:00
J. Nick Koston f595a32434 Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 12:15:19 -05:00
J. Nick Koston 1959913347 Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 12:15:18 -05:00
J. Nick Koston 035555b24c Drop an empty glued flag argument at the lex funnel
shlex.split('-D ""') left a bare -D that gcc resolves by eating the
next flag; the funnel now warns and drops it for every consumer, which
also retires raise_on_empty_arg_flags, whose staged ESP8266 caller no
longer has anything to catch.
2026-08-23 12:15:04 -05:00
J. Nick Koston 1b255b429f Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain 2026-08-23 12:05:21 -05:00
J. Nick Koston 15727692e0 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 12:05:19 -05:00
J. Nick Koston 244e275dfb Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 12:05:17 -05:00
J. Nick Koston d53356a2b0 Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 12:05:15 -05:00
J. Nick Koston 92ab6b7581 Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 12:05:13 -05:00
J. Nick Koston 187df36971 Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 12:05:11 -05:00
J. Nick Koston 353ce8a3a2 Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 12:05:09 -05:00
J. Nick Koston f8de6fe0d1 Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 12:05:07 -05:00
J. Nick Koston 5137c3f16b Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 12:05:05 -05:00
J. Nick Koston ea3ff0e372 Abort in-flight batch downloads on Ctrl-C, make the deferral test hermetic
cancel_futures only drops queued jobs, and the non-daemon workers are
joined at interpreter exit, so a Ctrl-C during the ESP-IDF toolchain
fetch waited out every in-flight archive. The tracker each job reports
through now checks a cancellation flag set when the wait raises, so
downloads abort at their next progress tick and the resumable .part
files keep the bytes already fetched.

The wave-deferral test stubs _content_lengths instead of issuing real
HEAD requests that passed only by failing, the dead hasattr branch in
the HEAD-probe test is gone, and the .C suffix comment names the SCons
divergence instead of claiming parity.
2026-08-23 12:04:49 -05:00
J. Nick Koston cf7c6151e7 Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain 2026-08-23 11:37:10 -05:00
J. Nick Koston 23c1527cf0 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 11:37:08 -05:00
J. Nick Koston bcc1004b5d Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 11:37:06 -05:00
J. Nick Koston 3ea83b12f5 Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 11:37:04 -05:00
J. Nick Koston 6b35e082bf Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 11:37:02 -05:00
J. Nick Koston 8a10914d8d Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 11:37:00 -05:00
J. Nick Koston af195eb1fc Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 11:36:58 -05:00
J. Nick Koston 1157189b36 Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 11:36:56 -05:00
J. Nick Koston dd7a25b302 Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 11:36:54 -05:00
J. Nick Koston 7c0e03f309 Capture the Append variants, warn on unmodelled env reads, quote every lexed bucket
Prepend/AppendUnique/PrependUnique write the same captured keys and now
alias Append instead of no-op'ing away a link directory. env.get on an
unmodelled var warns once so a script taking the default branch is
diagnosable. LIBS/LINKFLAGS/CPPFLAGS entries are shlex-quoted like the
path buckets, since each is one argv token in SCons and re-lexing must
not split a spaced value. The HEAD probes follow the happy-eyeballs
convention, and the tool-prefetch backstop keeps its traceback at debug.
2026-08-23 11:36:36 -05:00
J. Nick Koston 412bc4be7f Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain 2026-08-23 10:48:54 -05:00
J. Nick Koston acc919e993 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 10:48:54 -05:00
J. Nick Koston 610d630cd4 Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 10:48:54 -05:00
J. Nick Koston 34e2a82d8d Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 10:48:54 -05:00
J. Nick Koston 13eed46d28 Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 10:48:54 -05:00
J. Nick Koston e660c126f8 Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 10:48:53 -05:00
J. Nick Koston 326b3bf3ee Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 10:48:53 -05:00