2017-10-20 14:03:31 +09:00
|
|
|
$ScriptDirectory = Split-Path -parent $PSCommandPath
|
|
|
|
|
|
|
|
|
|
$PythonLocations = $(
|
2025-10-25 00:22:31 +03:00
|
|
|
"python\3.13.3_64bit\python.exe",
|
|
|
|
|
"python\3.9.2_64bit\python.exe",
|
2024-10-17 19:47:11 +03:00
|
|
|
"python\3.9.2-nuget_64bit\python.exe"
|
2017-10-20 14:03:31 +09:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Find python from an explicit location relative to the Emscripten SDK.
|
|
|
|
|
foreach ($Location in $PythonLocations) {
|
|
|
|
|
$FullLocation = Join-Path $ScriptDirectory $Location
|
|
|
|
|
if (Test-Path $FullLocation) {
|
|
|
|
|
$EMSDK_PY = $FullLocation
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# As a last resort, access from PATH.
|
|
|
|
|
if (-Not $EMSDK_PY) {
|
|
|
|
|
$EMSDK_PY = "python"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Tell EMSDK to create environment variable setter as a .ps1 file
|
|
|
|
|
$env:EMSDK_POWERSHELL = 1
|
|
|
|
|
|
2019-08-28 17:29:10 -07:00
|
|
|
& $EMSDK_PY "$ScriptDirectory/emsdk.py" $args
|
2017-10-20 14:03:31 +09:00
|
|
|
|
2025-10-25 00:22:31 +03:00
|
|
|
$ExitCode = $LASTEXITCODE
|
|
|
|
|
|
2017-10-20 14:03:31 +09:00
|
|
|
# python is not able to set environment variables to the parent calling process, so
|
|
|
|
|
# therefore have it craft a .ps1 file, which we invoke after finishing python execution,
|
|
|
|
|
# to set up the environment variables
|
2025-10-25 00:22:31 +03:00
|
|
|
if ($ExitCode -eq 0 -and (Test-Path $ScriptDirectory/emsdk_set_env.ps1)) {
|
2020-07-29 13:18:23 -07:00
|
|
|
& $ScriptDirectory/emsdk_set_env.ps1
|
|
|
|
|
Remove-Item $ScriptDirectory/emsdk_set_env.ps1
|
2017-10-20 14:03:31 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Remove-Item Env:\EMSDK_POWERSHELL
|
2025-10-25 00:22:31 +03:00
|
|
|
|
|
|
|
|
exit $ExitCode
|