[3.14] gh-148557: Use em-config to locate trampoline clang (GH-148556) (#150482)

When CC is wrapped by ccache, the Emscripten trampoline rule cannot derive the
matching clang path by treating CC as a single executable path. Query the active
LLVM toolchain path with em-config instead.
(cherry picked from commit 1310d2c252)

Co-authored-by: Clément Péron <peron.clem@gmail.com>
This commit is contained in:
Miss Islington (bot) 2026-05-26 19:05:51 +02:00 committed by GitHub
parent e01a038972
commit 8732053c92
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3112,7 +3112,7 @@ Python/asm_trampoline.o: $(srcdir)/Python/asm_trampoline.S
Python/emscripten_trampoline_inner.wasm: $(srcdir)/Python/emscripten_trampoline_inner.c
# emcc has a path that ends with emsdk/upstream/emscripten/emcc, we're looking for emsdk/upstream/bin/clang.
$$(dirname $$(dirname $(CC)))/bin/clang -o $@ $< -mgc -O2 -Wl,--no-entry -Wl,--import-table -Wl,--import-memory -target wasm32-unknown-unknown -nostdlib
$$(em-config LLVM_ROOT)/clang -o $@ $< -mgc -O2 -Wl,--no-entry -Wl,--import-table -Wl,--import-memory -target wasm32-unknown-unknown -nostdlib
Python/emscripten_trampoline_wasm.c: Python/emscripten_trampoline_inner.wasm
$(PYTHON_FOR_REGEN) $(srcdir)/Platforms/emscripten/prepare_external_wasm.py $< $@ getWasmTrampolineModule