This repository has been archived by the owner on May 21, 2024. It is now read-only.
/
Dockerfile
51 lines (40 loc) · 1.53 KB
/
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
FROM apiaryio/emcc:1.38.11
RUN apt-get -y update
RUN apt-get install -y g++ ccache openssl cmake gperf make git libssl-dev libreadline-dev zlib1g zlib1g-dev wget
WORKDIR /
# Patched tdlib; commit 2f7b563
RUN git clone https://github.com/feelfreelinux/td.git
SHELL ["/bin/bash", "-c"]
WORKDIR /td
RUN mkdir build
WORKDIR build
RUN cmake -DCMAKE_BUILD_TYPE=Release ..
RUN make -j 2
# RUN cmake --build . --target prepare_cross_compiling
RUN rm -rf *
WORKDIR /
# ENV OPENSSL openssl-1.0.2a
# ENV OPENSSL openssl-1.0.2p
# ENV OPENSSL openssl-1.1.0i
ENV OPENSSL openssl-1.1.0f
ENV EXT tar.gz
RUN wget https://www.openssl.org/source/${OPENSSL}.${EXT} && tar -xvzf ${OPENSSL}.${EXT}
WORKDIR ${OPENSSL}
RUN echo "Compiling OpenSSL..." \
&& emconfigure ./Configure no-asm no-ssl3 no-comp no-hw no-engine no-shared no-dso --openssldir=built linux-generic32 \
&& sed -i 's/CROSS_COMPILE= \/emscripten\/em/CROSS_COMPILE= /g' Makefile \
&& sed -i "s/-D_REENTRANT -O3 -Wall/-D_REENTRANT -Wall/g" Makefile \
&& sed -i 's/-Wall -O3 -pthread/-Wall -pthread/g' Makefile \
&& emmake make -j 4
WORKDIR /td/build
ENV OPENSSL_ROOT_DIR /${OPENSSL}
ENV OPENSSL_INCLUDE_DIR ${OPENSSL_ROOT_DIR}/include
ENV OPENSSL_CRYPTO_LIBRARY ${OPENSSL_ROOT_DIR}/libcrypto.a
ENV OPENSSL_SSL_LIBRARY ${OPENSSL_ROOT_DIR}/libssl.a
RUN emmake bash \
&& emcmake cmake -DCMAKE_BUILD_TYPE=Release \
-DOPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR} \
-DOPENSSL_CRYPTO_LIBRARY=${OPENSSL_CRYPTO_LIBRARY} \
-DOPENSSL_SSL_LIBRARY=${OPENSSL_SSL_LIBRARY} \
.. \
&& emmake make -j 2