2024-10-08 18:05:54 +02:00
|
|
|
#!/bin/sh
|
|
|
|
# ^^^^^^^ Please try to keep this script Bourne-compatible.
|
2024-09-26 00:13:49 +02:00
|
|
|
########################################################################
|
|
|
|
# WARNING: emcc.sh is generated from emcc.sh.in by the configure
|
|
|
|
# process. Do not edit emcc.sh directly, as it may be deleted or
|
|
|
|
# overwritten by the configure script.
|
|
|
|
#
|
|
|
|
# A wrapper around the emcc compiler which uses configure-time state
|
|
|
|
# to locate the Emscripten SDK and import the SDK's environment
|
|
|
|
# script, if needed.
|
|
|
|
########################################################################
|
|
|
|
# EMSDK_HOME comes from the configure --with-emsdk=/dir flag.
|
2024-11-06 03:59:59 +01:00
|
|
|
# EMSDK_ENV_SH is ${thatDir}/emsdk_env.sh and is also set by the
|
2024-09-26 00:13:49 +02:00
|
|
|
# configure process.
|
|
|
|
EMSDK_HOME="@EMSDK_HOME@"
|
2024-11-06 03:59:59 +01:00
|
|
|
EMSDK_ENV_SH="@EMSDK_ENV_SH@"
|
2024-09-26 00:13:49 +02:00
|
|
|
emcc="@BIN_EMCC@"
|
|
|
|
|
2024-10-22 14:56:00 +02:00
|
|
|
if [ x = "x${emcc}" ]; then
|
2024-10-08 18:05:54 +02:00
|
|
|
emcc=`which emcc 2>/dev/null`
|
2024-09-26 00:13:49 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ x = "x${emcc}" ]; then
|
|
|
|
# If emcc is not found in the path, try to find it via an emsdk
|
2024-11-06 03:59:59 +01:00
|
|
|
# installation. The SDK variant is the official installation style
|
|
|
|
# supported by the Emscripten project, but emcc is also available
|
|
|
|
# via package managers on some OSes.
|
2024-09-26 00:13:49 +02:00
|
|
|
if [ x = "x${EMSDK_HOME}" ]; then
|
|
|
|
echo "EMSDK_HOME is not set. Pass --with-emsdk=/path/to/emsdk" \
|
|
|
|
"to the configure script." 1>&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2024-11-06 03:59:59 +01:00
|
|
|
if [ x = "x${EMSDK_ENV_SH}" ]; then
|
2024-09-26 00:13:49 +02:00
|
|
|
if [ -f "${EMSDK_HOME}/emsdk_env.sh" ]; then
|
2024-11-06 03:59:59 +01:00
|
|
|
EMSDK_ENV_SH="${EMSDK_HOME}/emsdk_env.sh"
|
2024-09-26 00:13:49 +02:00
|
|
|
else
|
2024-11-06 03:59:59 +01:00
|
|
|
echo "EMSDK_ENV_SH is not set. Expecting configure script to set it." 1>&2
|
2024-09-26 00:13:49 +02:00
|
|
|
exit 2
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2024-11-06 03:59:59 +01:00
|
|
|
if [ ! -f "${EMSDK_ENV_SH}" ]; then
|
|
|
|
echo "emsdk_env script not found: $EMSDK_ENV_SH" 1>&2
|
2024-09-26 00:13:49 +02:00
|
|
|
exit 3
|
|
|
|
fi
|
|
|
|
|
|
|
|
# $EMSDK is part of the state set by emsdk_env.sh.
|
|
|
|
if [ x = "x${EMSDK}" ]; then
|
2024-11-06 03:59:59 +01:00
|
|
|
EMSDK_QUIET=1
|
|
|
|
export EMSDK_QUIET
|
|
|
|
# ^^^ Squelches informational output from ${EMSDK_ENV_SH}.
|
|
|
|
source "${EMSDK_ENV_SH}" || {
|
2024-09-26 00:13:49 +02:00
|
|
|
rc=$?
|
2024-11-06 03:59:59 +01:00
|
|
|
echo "Error sourcing ${EMSDK_ENV_SH}"
|
2024-09-26 00:13:49 +02:00
|
|
|
exit $rc
|
|
|
|
}
|
|
|
|
fi
|
2024-10-08 18:05:54 +02:00
|
|
|
emcc=`which emcc 2>/dev/null`
|
2024-09-26 00:13:49 +02:00
|
|
|
if [ x = "x${emcc}" ]; then
|
2024-11-06 03:59:59 +01:00
|
|
|
echo "emcc not found in PATH. Normally that's set up by ${EMSDK_ENV_SH}." 1>&2
|
2024-09-26 00:13:49 +02:00
|
|
|
exit 4
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
exec emcc "$@"
|