diff --git a/docker/Dockerfile b/docker/Dockerfile index cf2cd4c..bc201e1 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -64,7 +64,6 @@ COPY --from=stage_build /emsdk /emsdk # This will let use tools offered by this image inside other Docker images # (sub-stages) or with custom / no entrypoint ENV EMSDK=/emsdk \ - EM_CONFIG=/emsdk/.emscripten \ EMSDK_NODE=/emsdk/node/14.18.2_64bit/bin/node \ PATH="/emsdk:/emsdk/upstream/emscripten:/emsdk/upstream/bin:/emsdk/node/14.18.2_64bit/bin:${PATH}" diff --git a/emsdk.py b/emsdk.py index 499f14d..c26426b 100644 --- a/emsdk.py +++ b/emsdk.py @@ -2676,7 +2676,6 @@ def get_env_vars_to_add(tools_to_activate, system, user): # A core variable EMSDK points to the root of Emscripten SDK directory. env_vars_to_add += [('EMSDK', to_unix_path(emsdk_path()))] - env_vars_to_add += [('EM_CONFIG', os.path.normpath(dot_emscripten_path()))] for tool in tools_to_activate: config = tool.activated_config() @@ -2692,6 +2691,9 @@ def get_env_vars_to_add(tools_to_activate, system, user): # https://github.com/emscripten-core/emscripten/pull/11091 # - Default to embedded cache also started in 1.39.16 # https://github.com/emscripten-core/emscripten/pull/11126 + # - Emscripten supports automatically locating the embedded + # config in 1.39.13: + # https://github.com/emscripten-core/emscripten/pull/10935 # # Since setting EM_CACHE in the environment effects the entire machine # we want to avoid this except when installing these older emscripten @@ -2700,6 +2702,8 @@ def get_env_vars_to_add(tools_to_activate, system, user): if version < [1, 39, 16]: em_cache_dir = os.path.join(config['EMSCRIPTEN_ROOT'], 'cache') env_vars_to_add += [('EM_CACHE', em_cache_dir)] + if version < [1, 39, 13]: + env_vars_to_add += [('EM_CONFIG', os.path.normpath(dot_emscripten_path()))] envs = tool.activated_environment() for env in envs: @@ -2764,7 +2768,7 @@ def construct_env_with_vars(env_vars_to_add): 'EMSDK_NUM_CORES', 'EMSDK_NOTTY', 'EMSDK_KEEP_DOWNLOADS']) env_keys_to_add = set(pair[0] for pair in env_vars_to_add) for key in os.environ: - if key.startswith('EMSDK_') or key.startswith('EM_CACHE'): + if key.startswith('EMSDK_') or key in ('EM_CACHE', 'EM_CONFIG'): if key not in env_keys_to_add and key not in ignore_keys: info('Clearing existing environment variable: %s' % key) env_string += unset_env(key) diff --git a/test/test.py b/test/test.py index deb7240..f9766d0 100755 --- a/test/test.py +++ b/test/test.py @@ -10,9 +10,9 @@ import unittest WINDOWS = sys.platform.startswith('win') MACOS = sys.platform == 'darwin' -assert 'EM_CONFIG' in os.environ, "emsdk should be activated before running this script" +emconfig = os.path.abspath('.emscripten') +assert os.path.exists(emconfig) -emconfig = os.environ['EM_CONFIG'] upstream_emcc = os.path.join('upstream', 'emscripten', 'emcc') fastcomp_emcc = os.path.join('fastcomp', 'emscripten', 'emcc') emsdk = './emsdk' diff --git a/test/test_activation.ps1 b/test/test_activation.ps1 index 1aa0a97..6d38ffc 100644 --- a/test/test_activation.ps1 +++ b/test/test_activation.ps1 @@ -28,7 +28,6 @@ try { } $EMSDK = [System.Environment]::GetEnvironmentVariable("EMSDK", $env_type) - $EM_CONFIG = [System.Environment]::GetEnvironmentVariable("EM_CONFIG", $env_type) $EMSDK_NODE = [System.Environment]::GetEnvironmentVariable("EMSDK_NODE", $env_type) $EMSDK_PYTHON = [System.Environment]::GetEnvironmentVariable("EMSDK_PYTHON", $env_type) $JAVA_HOME = [System.Environment]::GetEnvironmentVariable("JAVA_HOME", $env_type) @@ -37,9 +36,6 @@ try { if (!$EMSDK) { throw "EMSDK is not set for the user" } - if (!$EM_CONFIG) { - throw "EM_CONFIG is not set for the user" - } if (!$EMSDK_NODE) { throw "EMSDK_NODE is not set for the user" } @@ -83,14 +79,12 @@ finally { # Recover pre activation env variables [Environment]::SetEnvironmentVariable("EMSDK", $null, "User") - [Environment]::SetEnvironmentVariable("EM_CONFIG", $null, "User") [Environment]::SetEnvironmentVariable("EMSDK_NODE", $null, "User") [Environment]::SetEnvironmentVariable("EMSDK_PYTHON", $null, "User") [Environment]::SetEnvironmentVariable("JAVA_HOME", $null, "User") try { [Environment]::SetEnvironmentVariable("EMSDK", $null, "Machine") - [Environment]::SetEnvironmentVariable("EM_CONFIG", $null, "Machine") [Environment]::SetEnvironmentVariable("EMSDK_NODE", $null, "Machine") [Environment]::SetEnvironmentVariable("EMSDK_PYTHON", $null, "Machine") [Environment]::SetEnvironmentVariable("JAVA_HOME", $null, "Machine") @@ -98,7 +92,6 @@ finally { [Environment]::SetEnvironmentVariable("EMSDK", $null, "Process") - [Environment]::SetEnvironmentVariable("EM_CONFIG", $null, "Process") [Environment]::SetEnvironmentVariable("EMSDK_NODE", $null, "Process") [Environment]::SetEnvironmentVariable("EMSDK_PYTHON", $null, "Process") [Environment]::SetEnvironmentVariable("JAVA_HOME", $null, "Process") diff --git a/test/test_path_preservation.ps1 b/test/test_path_preservation.ps1 index b894954..1547949 100644 --- a/test/test_path_preservation.ps1 +++ b/test/test_path_preservation.ps1 @@ -123,14 +123,12 @@ finally { # Recover pre activation env variables [Environment]::SetEnvironmentVariable("EMSDK", $null, "User") - [Environment]::SetEnvironmentVariable("EM_CONFIG", $null, "User") [Environment]::SetEnvironmentVariable("EMSDK_NODE", $null, "User") [Environment]::SetEnvironmentVariable("EMSDK_PYTHON", $null, "User") [Environment]::SetEnvironmentVariable("JAVA_HOME", $null, "User") try { [Environment]::SetEnvironmentVariable("EMSDK", $null, "Machine") - [Environment]::SetEnvironmentVariable("EM_CONFIG", $null, "Machine") [Environment]::SetEnvironmentVariable("EMSDK_NODE", $null, "Machine") [Environment]::SetEnvironmentVariable("EMSDK_PYTHON", $null, "Machine") [Environment]::SetEnvironmentVariable("JAVA_HOME", $null, "Machine") @@ -138,7 +136,6 @@ finally { [Environment]::SetEnvironmentVariable("EMSDK", $null, "Process") - [Environment]::SetEnvironmentVariable("EM_CONFIG", $null, "Process") [Environment]::SetEnvironmentVariable("EMSDK_NODE", $null, "Process") [Environment]::SetEnvironmentVariable("EMSDK_PYTHON", $null, "Process") [Environment]::SetEnvironmentVariable("JAVA_HOME", $null, "Process")