-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgcc-wasm.Dockerfile
57 lines (43 loc) · 1.56 KB
/
gcc-wasm.Dockerfile
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#
# Build stage
#
FROM --platform=linux/arm64/v8 gcc:10 AS base
ARG ENABLED_TESTS=ON
ARG ENABLED_COVERAGE=OFF
LABEL Victor Timoshin <[email protected]>
RUN update-ca-certificates -f
RUN apt-get update -y && apt-get install -y software-properties-common && apt-add-repository 'deb http://archive.debian.org/debian stretch main contrib non-free'
RUN apt-get update -y && apt-get install -y \
cmake \
python3 \
wget \
unzip \
git
ARG EMSCRIPTEN_SDK_DIR=/opt/.emsdk
ARG EMSCRIPTEN_VERSION=latest
RUN git clone https://github.com/emscripten-core/emsdk.git $EMSCRIPTEN_SDK_DIR
RUN ./$EMSCRIPTEN_SDK_DIR/emsdk update-tags && \
./$EMSCRIPTEN_SDK_DIR/emsdk install $EMSCRIPTEN_VERSION && \
./$EMSCRIPTEN_SDK_DIR/emsdk activate $EMSCRIPTEN_VERSION
# RUN source ./emsdk/emsdk_env.sh
COPY ./lib /module_core_workspace/lib
COPY ./cmake_modules /module_core_workspace/cmake_modules
COPY ./CMakeLists.txt /module_core_workspace
COPY ./index.html /module_core_workspace
# Build development image
FROM base as module_core-debug
WORKDIR /module_core_workspace/build
RUN echo "source /opt/.emsdk/emsdk_env.sh > /dev/null 2>&1" >> ~/.bashrc
RUN cmake -D CMAKE_BUILD_TYPE=Debug \
-D GLOB_EMSCRIPTEN_ROOT_DIR=/opt/.emsdk/upstream/emscripten \
-D GLOB_EMSCRIPTEN_PLATFORM=ON \
-D MODULE_CORE_ENVIRONMENT=web,node \
-D MODULE_CORE_COMPILATION=async \
../
RUN cmake --build ./
WORKDIR /module_core_workspace
ENTRYPOINT ["tail"]
CMD ["-f", "/dev/null"]
# Build production image
FROM base as module_core-release
RUN ls ./