You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The emscripten build for SYSTEM mode embeds build/minimal.dtb via
--embed-file, but after commit c6638da which fixed DTB compilation
to be conditional, the DTB was not being built for emscripten builds.
Add $(BUILD_DTB) and $(BUILD_DTB2C) to deps_emcc when ENABLE_SYSTEM=1
AND ENABLE_ELF_LOADER=0 AND CC_IS_EMCC=1 to ensure the DTB is built
before emscripten attempts to embed it.
The triple-nested condition is necessary because:
- DTB compilation requires CFLAGS_dt macros (MEM_START, INITRD_START, etc.)
- These macros are only defined when SYSTEM=1 AND ELF_LOADER=0
- Emscripten SYSTEM builds use the default ELF_LOADER=0
- CC_IS_EMCC guard prevents DTB from being built during `make distclean ENABLE_SYSTEM=1`
when CC is not emcc (e.g., macOS workflow running distclean between builds)
Fixes emscripten build errors:
error: build/minimal.dtb@/minimal.dtb does not exist
Error: <stdin>:12.31-32 syntax error (undefined macros)
Fixes macOS workflow regression where `make distclean ENABLE_SYSTEM=1`
incorrectly triggered DTB compilation when CC was not emcc.
0 commit comments