Environment variables look correct in the modified environment. I'm able to reproduce the issue by just running a simple : |> emcc |> . Installing emscripten and running it through tup seems to reproduce the issue.
Somehow fixed it by prefixing my command with CMD /c. Not really sure why that fixes it though.
Have another issue with emcc - it creates an app.wasm.tmp0 file and then also deletes that during compilation I believe. Tup throws errors up about output dependencies not being declared, but if I declare it as an (extra) output dependency I get this error
[ ] 0%tup error: GetFileAttributesExW("\\?\C:\Dev\wasm_render_test\build-web\app.wasm.tmp0") failed: 0x00000002
* 0) [build-web] CMD /c emcc -g -sUSE_WEBGL2 --shell-file=configs/index.html build-web/./log.o build-web/./main.o -o build-web/./app.html
Everything does build normally but seems like tup doesn't have any mechanism for dealing with commands that produce and delete files. Maybe being able to exclude particular files/extensions from being observed by tup would be nice? I get that that sort of bypasses the whole point of tup though, so maybe tup needs to check if created files still exist at the end of some command before accepting them as a real "dependency"?