]> git.lizzy.rs Git - rust.git/blob - src/ci/docker/scripts/emscripten.sh
Rollup merge of #61389 - Zoxc:arena-cleanup, r=eddyb
[rust.git] / src / ci / docker / scripts / emscripten.sh
1 set -ex
2
3 hide_output() {
4   set +x
5   on_err="
6 echo ERROR: An error was encountered with the build.
7 cat /tmp/build.log
8 exit 1
9 "
10   trap "$on_err" ERR
11   bash -c "while true; do sleep 30; echo \$(date) - building ...; done" &
12   PING_LOOP_PID=$!
13   $@ &> /tmp/build.log
14   trap - ERR
15   kill $PING_LOOP_PID
16   rm -f /tmp/build.log
17   set -x
18 }
19
20 cd /
21 curl -fL https://mozilla-games.s3.amazonaws.com/emscripten/releases/emsdk-portable.tar.gz | \
22     tar -xz
23
24 cd /emsdk-portable
25 ./emsdk update
26 hide_output ./emsdk install sdk-1.38.15-64bit
27 ./emsdk activate sdk-1.38.15-64bit
28
29 # Compile and cache libc
30 source ./emsdk_env.sh
31 echo "main(){}" > a.c
32 HOME=/emsdk-portable/ emcc a.c
33 HOME=/emsdk-portable/ emcc -s BINARYEN=1 a.c
34 rm -f a.*
35
36 # Make emsdk usable by any user
37 cp /root/.emscripten /emsdk-portable
38 chmod a+rxw -R /emsdk-portable