@@ -33,32 +33,26 @@ RUN git clone -b v3.9.1 https://github.com/protocolbuffers/protobuf \
3333ARG MODSEC_SHA=a3454df9b09a8de16d41be10cdea4fc46ef08e91
3434
3535WORKDIR /root/
36- RUN git clone https://github.com/emscripten-core/emsdk.git -b 3.1.15 \
37- && git clone https://github.com/maxfierke /libpcre.git -b mf-wasm32-wasi-cross-compile \
36+ RUN git clone https://github.com/emscripten-core/emsdk.git -b 3.1.16 \
37+ && git clone https://github.com/M4tteoP /libpcre.git -b wasm-emscripten \
3838 && git clone https://github.com/SpiderLabs/ModSecurity.git \
3939 && git -C ModSecurity checkout $MODSEC_SHA \
4040 && git clone https://github.com/abseil/abseil-cpp -b 20211102.0 \
4141 && git clone https://github.com/proxy-wasm/proxy-wasm-cpp-sdk \
4242 && git clone https://github.com/istio/proxy.git -b 1.13.3
4343
4444WORKDIR /root/emsdk
45- RUN ./emsdk install 2.0.7 \
46- && ./emsdk activate 2.0.7 \
45+ RUN ./emsdk install 3.1.16 \
46+ && ./emsdk activate 3.1.16 \
4747 && echo "source /root/emsdk/emsdk_env.sh" >> ~/.bashrc \
4848 && cd ..
4949
50- RUN wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk-12.0-linux.tar.gz \
51- && tar xvf wasi-sdk-12.0-linux.tar.gz -C /opt/ \
52- && mv /opt/wasi-sdk-12.0/ /opt/wasi-sdk \
53- && rm wasi-sdk-12.0-linux.tar.gz
54-
55- ENV WASI_SDK_PATH="/opt/wasi-sdk"
56-
5750WORKDIR /root/libpcre
5851RUN autoreconf -ivf \
59- && ./build_for_crystal.sh wasm32-wasi \
52+ && source "/root/emsdk/emsdk_env.sh" \
53+ && ./build_for_wasm.sh wasm32-emscripten \
6054 && mkdir /usr/local/pcre \
61- && cp targets/wasm32-wasi /*.a /usr/local/pcre \
55+ && cp targets/wasm32-emscripten /*.a /usr/local/pcre \
6256 && cd ..
6357
6458WORKDIR /root/ModSecurity
@@ -80,6 +74,22 @@ WORKDIR /root/proxy-wasm-cpp-sdk
8074RUN mkdir /build /sdk \
8175 && cp *.cc *.h *.js *.proto Makefile* *.a /sdk/
8276
77+ WORKDIR /root
78+ RUN source "/root/emsdk/emsdk_env.sh" \
79+ && git clone https://github.com/protocolbuffers/protobuf -b v3.9.1 protobuf-wasm \
80+ && cd protobuf-wasm \
81+ && git clone https://github.com/kwonoj/protobuf-wasm wasm-patches \
82+ && cd wasm-patches \
83+ && git checkout 4bba8b2f38b5004f87489642b6ca4525ae72fe7f \
84+ && cd .. \
85+ && git apply wasm-patches/*.patch \
86+ && ./autogen.sh \
87+ && emconfigure ./configure --disable-shared CXXFLAGS="-O3 -flto" \
88+ && emmake make \
89+ && cd .. \
90+ && cp protobuf-wasm/src/.libs/libprotobuf-lite.a /sdk/libprotobuf-lite.a \
91+ && cp protobuf-wasm/src/.libs/libprotobuf.a /sdk/libprotobuf.a
92+
8393WORKDIR /root
8494RUN wget -O /usr/local/bin/bazel https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64 \
8595 && chmod +x /usr/local/bin/bazel
0 commit comments