@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.9.2-1_64bit\python.exe" (
  set EMSDK_PY="%~dp0python\3.9.2-1_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
)

if exist "%~dp0python\3.7.4-pywin32_64bit\python.exe" (
  set EMSDK_PY="%~dp0python\3.7.4-pywin32_64bit\python.exe"
  set PYTHONHOME=
  set PYTHONPATH=
  goto end
)

if exist "%~dp0python\3.7.4_64bit\python.exe" (
  set EMSDK_PY="%~dp0python\3.7.4_64bit\python.exe"
  set PYTHONHOME=
  set PYTHONPATH=
  goto end
)

if exist "%~dp0python\2.7.13.1_64bit\python-2.7.13.amd64\python.exe" (
  set EMSDK_PY="%~dp0python\2.7.13.1_64bit\python-2.7.13.amd64\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" %*

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"
)
