-
Notifications
You must be signed in to change notification settings - Fork 801
Expand file tree
/
Copy pathemsdk.bat
More file actions
53 lines (42 loc) · 1.31 KB
/
emsdk.bat
File metadata and controls
53 lines (42 loc) · 1.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
@echo off
:: Find python from an explicit location relative to the Emscripten SDK.
setlocal
:: When using our bundled python we never want the users
:: PYTHONHOME or PYTHONPATH
:: https://github.com/emscripten-core/emsdk/issues/598
if exist "%~dp0python\3.13.3_64bit\python.exe" (
set EMSDK_PY="%~dp0python\3.13.3_64bit\python.exe"
set PYTHONHOME=
set PYTHONPATH=
goto end
)
if exist "%~dp0python\3.9.2_64bit\python.exe" (
set EMSDK_PY="%~dp0python\3.9.2_64bit\python.exe"
set PYTHONHOME=
set PYTHONPATH=
goto end
)
if exist "%~dp0python\3.9.2-nuget_64bit\python.exe" (
set EMSDK_PY="%~dp0python\3.9.2-nuget_64bit\python.exe"
set PYTHONHOME=
set PYTHONPATH=
goto end
)
:: As a last resort, access from PATH.
set EMSDK_PY=python
:end
call %EMSDK_PY% "%~dp0\emsdk.py" %*
:: If emsdk returned with error code >= 1, then skip executing emsdk_set_env
:: below.
if ERRORLEVEL 1 (
endlocal
exit /b %ERRORLEVEL%
)
endlocal
:: python is not able to set environment variables to the parent calling
:: process, so therefore have it craft a .bat file, which we invoke after
:: finishing python execution, to set up the environment variables
if exist "%~dp0\emsdk_set_env.bat" (
call "%~dp0\emsdk_set_env.bat" > nul
del /F /Q "%~dp0\emsdk_set_env.bat"
)