File size: 1,036 Bytes
21dd449
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash

CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
cd $CURRENT_PATH

# Clean up
docker kill hash-wasm-builder
docker rm hash-wasm-builder

# Start container
docker run -it -d --name hash-wasm-builder emscripten/emsdk:3.1.55 bash

# Copy & compile
docker exec hash-wasm-builder bash -c "mkdir /source"
docker cp ./sha256.c hash-wasm-builder:/source
docker exec hash-wasm-builder bash -c "\
  cd /source && \
  emcc sha256.c -o sha256.js -msimd128 -sSINGLE_FILE -sMODULARIZE=1 -sENVIRONMENT=web,worker -sEXPORTED_FUNCTIONS=_Hash_Init,_Hash_Update,_Hash_Final,_GetBufferPtr -sFILESYSTEM=0 -fno-rtti -fno-exceptions -O1 -sMODULARIZE=1 -sEXPORT_ES6=1 \
  "
# Patch "_scriptDir" variable
docker exec hash-wasm-builder bash -c "\
  cd /source && \
  sed -i 's\var _scriptDir\var _unused\g' ./sha256.js && \
  sed -i 's\_scriptDir\false\g' ./sha256.js \
  "

# Copy back compiled file
docker cp hash-wasm-builder:/source/sha256.js .


# Clean up
docker kill hash-wasm-builder
docker rm hash-wasm-builder