From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 26 May 2026 17:05:51 +0000 (+0200) Subject: [3.14] gh-148557: Use em-config to locate trampoline clang (GH-148556) (#150482) X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=8732053c92fdf3120e94ea2b8fc2d39b372f0602;p=thirdparty%2FPython%2Fcpython.git [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 1310d2c25242041f0a218012426fba14e756eef8) Co-authored-by: Clément Péron --- diff --git a/Makefile.pre.in b/Makefile.pre.in index ce320042bbf0..f86d7363e090 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -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