diff third_party/emsdk/emsdk.ps1 @ 186:8cf4ec5e2191 hg-web

Fixed merge conflict.
author MrJuneJune <me@mrjunejune.com>
date Fri, 23 Jan 2026 22:38:59 -0800
parents 8d17f6e6e290
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/third_party/emsdk/emsdk.ps1	Fri Jan 23 22:38:59 2026 -0800
@@ -0,0 +1,40 @@
+$ScriptDirectory = Split-Path -parent $PSCommandPath
+
+$PythonLocations = $(
+    "python\3.13.3_64bit\python.exe",
+    "python\3.9.2_64bit\python.exe",
+    "python\3.9.2-nuget_64bit\python.exe"
+)
+
+# 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
+
+& $EMSDK_PY "$ScriptDirectory/emsdk.py" $args
+
+$ExitCode = $LASTEXITCODE
+
+# 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
+if ($ExitCode -eq 0 -and (Test-Path $ScriptDirectory/emsdk_set_env.ps1)) {
+    & $ScriptDirectory/emsdk_set_env.ps1
+    Remove-Item $ScriptDirectory/emsdk_set_env.ps1
+}
+
+Remove-Item Env:\EMSDK_POWERSHELL
+
+exit $ExitCode