Fix running emsdk_env.sh outside of emsdk directory (#541)
Fixes: #540
diff --git a/emsdk.py b/emsdk.py
index 1f1d85b..61c7e39 100755
--- a/emsdk.py
+++ b/emsdk.py
@@ -170,10 +170,18 @@
if os.path.exists(os.path.join(emsdk_path(), '.emscripten')):
emscripten_config_directory = emsdk_path()
-EMSDK_SET_ENV = 'emsdk_set_env.ps1' if POWERSHELL \
- else 'emsdk_set_env.bat' if (WINDOWS and not MSYS) \
- else 'emsdk_set_env.csh' if CSH \
- else 'emsdk_set_env.sh'
+
+def get_set_env_script_name():
+ if POWERSHELL:
+ return 'emsdk_set_env.ps1'
+ if WINDOWS and not MSYS:
+ return 'emsdk_set_env.bat'
+ if CSH:
+ return 'emsdk_set_env.csh'
+ return 'emsdk_set_env.sh'
+
+
+EMSDK_SET_ENV = os.path.join(emsdk_path(), get_set_env_script_name())
ARCHIVE_SUFFIXES = ('zip', '.tar', '.gz', '.xz', '.tbz2', '.bz2')