Cleanup emsdk.bat launcher (#566)

TIL a couple of things about bat files. God help me.

- Use a single @echo off at the top rather than @ on every line
- Use lowercase names for builtin operation
- Use setlocal/endlocal rather than reseting EM_PYTHON at the end
This commit is contained in:
Sam Clegg
2020-07-22 14:06:08 -07:00
committed by GitHub
parent 9b405d313a
commit 56f5a2bcc5

View File

@@ -1,56 +1,61 @@
@echo off
:: Find python from an explicit location relative to the Emscripten SDK. :: Find python from an explicit location relative to the Emscripten SDK.
@IF EXIST "%~dp0python\3.7.4-pywin32_64bit\python.exe" (
@SET EMSDK_PY="%~dp0python\3.7.4-pywin32_64bit\python.exe" setlocal
@GOTO end
if exist "%~dp0python\3.7.4-pywin32_64bit\python.exe" (
set EMSDK_PY="%~dp0python\3.7.4-pywin32_64bit\python.exe"
goto end
) )
@IF EXIST "%~dp0python\3.7.4_64bit\python.exe" ( if exist "%~dp0python\3.7.4_64bit\python.exe" (
@SET EMSDK_PY="%~dp0python\3.7.4_64bit\python.exe" set EMSDK_PY="%~dp0python\3.7.4_64bit\python.exe"
@GOTO end goto end
) )
@IF EXIST "%~dp0python\2.7.13.1_64bit\python-2.7.13.amd64\python.exe" ( 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 EMSDK_PY="%~dp0python\2.7.13.1_64bit\python-2.7.13.amd64\python.exe"
@GOTO end goto end
) )
@IF EXIST "%~dp0python\2.7.13.1_32bit\python-2.7.13\python.exe" ( if exist "%~dp0python\2.7.13.1_32bit\python-2.7.13\python.exe" (
@SET EMSDK_PY="%~dp0python\2.7.13.1_32bit\python-2.7.13\python.exe" set EMSDK_PY="%~dp0python\2.7.13.1_32bit\python-2.7.13\python.exe"
@GOTO end goto end
) )
@IF EXIST "%~dp0python\2.7.5.3_64bit\python.exe" ( if exist "%~dp0python\2.7.5.3_64bit\python.exe" (
@SET EMSDK_PY="%~dp0python\2.7.5.3_64bit\python.exe" set EMSDK_PY="%~dp0python\2.7.5.3_64bit\python.exe"
@GOTO end goto end
) )
@IF EXIST "%~dp0python\2.7.5.3_32bit\python.exe" ( if exist "%~dp0python\2.7.5.3_32bit\python.exe" (
@SET EMSDK_PY="%~dp0python\2.7.5.3_32bit\python.exe" set EMSDK_PY="%~dp0python\2.7.5.3_32bit\python.exe"
@GOTO end goto end
) )
@IF EXIST "%~dp0python\2.7.5_64bit\python.exe" ( if exist "%~dp0python\2.7.5_64bit\python.exe" (
@SET EMSDK_PY="%~dp0python\2.7.5_64bit\python.exe" set EMSDK_PY="%~dp0python\2.7.5_64bit\python.exe"
@GOTO end goto end
) )
@IF EXIST "%~dp0python\2.7.5.1_32bit\python.exe" ( if exist "%~dp0python\2.7.5.1_32bit\python.exe" (
@SET EMSDK_PY="%~dp0python\2.7.5.1_32bit\python.exe" set EMSDK_PY="%~dp0python\2.7.5.1_32bit\python.exe"
@GOTO end goto end
) )
:: As a last resort, access from PATH. :: As a last resort, access from PATH.
@SET EMSDK_PY=python set EMSDK_PY=python
:end :end
@call %EMSDK_PY% "%~dp0\emsdk.py" %* call %EMSDK_PY% "%~dp0\emsdk.py" %*
@set EMSDK_PY= endlocal
:: python is not able to set environment variables to the parent calling :: 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 :: process, so therefore have it craft a .bat file, which we invoke after
:: finishing python execution, to set up the environment variables :: finishing python execution, to set up the environment variables
@IF EXIST "%~dp0\emsdk_set_env.bat" ( if exist "%~dp0\emsdk_set_env.bat" (
@CALL "%~dp0\emsdk_set_env.bat" > NUL call "%~dp0\emsdk_set_env.bat" > nul
@DEL /F /Q "%~dp0\emsdk_set_env.bat" del /F /Q "%~dp0\emsdk_set_env.bat"
) )