blob: 5fae040051c28558b2d3cc27a03424ef5ab7488d [file] [log] [blame]
#!/bin/sh
# Copyright 2019 The Emscripten Authors. All rights reserved.
# Emscripten is available under two separate licenses, the MIT license and the
# University of Illinois/NCSA Open Source License. Both these licenses can be
# found in the LICENSE file.
# Wrapper script that runs emsdk.py
# First look for python bundled in Emsdk
if [ -z "$EMSDK_PYTHON" ]; then
PYTHON3="$(dirname "$0")/python/3.9.2-1_64bit/bin/python3"
PYTHON3_CERT_FILE="$(dirname "$0")/python/3.9.2-1_64bit/lib/python3.9/site-packages/certifi/cacert.pem"
if [ ! -f "$PYTHON3" ]; then
PYTHON3="$(dirname "$0")/python/3.7.4-2_64bit/bin/python3"
PYTHON3_CERT_FILE="$(dirname "$0")/python/3.7.4-2_64bit/lib/python3.7/site-packages/certifi/cacert.pem"
fi
if [ -f "$PYTHON3" ]; then
EMSDK_PYTHON="$PYTHON3"
# When using our bundled python we never want the users
# PYTHONHOME or PYTHONPATH
# https://github.com/emscripten-core/emsdk/issues/598
unset PYTHONHOME
unset PYTHONPATH
# This is needed for MacOS. Without this, the urlopen
# code will try to use /usr/local/etc/openssl/cert.pem
# which may or may not exist on the system.
export SSL_CERT_FILE="$PYTHON3_CERT_FILE"
fi
fi
# If bundled python is not found, look for `python3` in PATH. This is especially important on macOS (See:
# https://github.com/emscripten-core/emsdk/pull/273)
if [ -z "$EMSDK_PYTHON" ]; then
if PYTHON3="$(which python3 2>/dev/null)"; then
EMSDK_PYTHON=$PYTHON3
fi
fi
# Finally fall back to just looking for `python` in PATH
if [ -z "$EMSDK_PYTHON" ]; then
EMSDK_PYTHON=python
fi
exec "$EMSDK_PYTHON" "$0.py" "$@"