@@ -110,7 +110,7 @@ all: plugin.wasm
110110
111111%.wasm %.wat: %.cc ${CPP_API}/proxy_wasm_intrinsics.h ${CPP_API}/proxy_wasm_enums.h ${CPP_API}/proxy_wasm_externs.h ${CPP_API}/proxy_wasm_api.h ${CPP_API}/proxy_wasm_intrinsics.js ${CPP_CONTEXT_LIB}
112112 ls /root
113- em++ -s STANDALONE_WASM=1 -s EMIT_EMSCRIPTEN_METADATA=1 -s EXPORTED_FUNCTIONS=['_malloc'] --std=c++17 -O3 -flto -s WASM_OBJECT_FILES=0 --llvm-lto 1 -I${CPP_API} -I${CPP_API}/google/protobuf -I/usr/local/include -I${ABSL} --js-library ${CPP_API}/proxy_wasm_intrinsics.js ${ABSL_CPP} $*.cc ${CPP_API}/proxy_wasm_intrinsics.pb.cc ${CPP_CONTEXT_LIB} ${CPP_API}/libprotobuf.a -o $*.wasm
113+ em++ --no-entry -s EXPORTED_FUNCTIONS=['_malloc'] --std=c++17 -O3 -flto -I${CPP_API} -I${CPP_API}/google/protobuf -I/usr/local/include -I${ABSL} --js-library ${CPP_API}/proxy_wasm_intrinsics.js ${ABSL_CPP} $*.cc ${CPP_API}/proxy_wasm_intrinsics.pb.cc ${CPP_CONTEXT_LIB} ${CPP_API}/libprotobuf.a -o $*.wasm
114114```
115115
116116Precompiled abseil libraries are also available, so the above can also be done as:
@@ -126,7 +126,7 @@ all: plugin.wasm
126126
127127%.wasm %.wat: %.cc ${CPP_API}/proxy_wasm_intrinsics.h ${CPP_API}/proxy_wasm_enums.h ${CPP_API}/proxy_wasm_externs.h ${CPP_API}/proxy_wasm_api.h ${CPP_API}/proxy_wasm_intrinsics.js ${CPP_CONTEXT_LIB}
128128 ls /root
129- em++ -s STANDALONE_WASM=1 -s EMIT_EMSCRIPTEN_METADATA=1 -s EXPORTED_FUNCTIONS=['_malloc'] --std=c++17 -O3 -flto -s WASM_OBJECT_FILES=0 --llvm-lto 1 -I${CPP_API} -I${CPP_API}/google/protobuf -I/usr/local/include -I${ABSL} --js-library ${CPP_API}/proxy_wasm_intrinsics.js $*.cc ${CPP_API}/proxy_wasm_intrinsics.pb.cc ${CPP_CONTEXT_LIB} ${CPP_API}/libprotobuf.a ${ABSL_LIBS} -o $*.wasm
129+ em++ --no-entry -s EXPORTED_FUNCTIONS=['_malloc'] --std=c++17 -O3 -flto -I${CPP_API} -I${CPP_API}/google/protobuf -I/usr/local/include -I${ABSL} --js-library ${CPP_API}/proxy_wasm_intrinsics.js $*.cc ${CPP_API}/proxy_wasm_intrinsics.pb.cc ${CPP_CONTEXT_LIB} ${CPP_API}/libprotobuf.a ${ABSL_LIBS} -o $*.wasm
130130```
131131
132132### Ownership of the resulting .wasm files
@@ -175,8 +175,8 @@ sudo make install
175175git clone https://github.com/emscripten-core/emsdk.git
176176cd emsdk
177177./emsdk update-tags
178- ./emsdk install 1.39.2
179- ./emsdk activate 1.39.2
178+ ./emsdk install 2.0.7
179+ ./emsdk activate 2.0.7
180180
181181source ./emsdk\_ env.sh
182182```
@@ -189,7 +189,7 @@ It is possible later versions will work, e.g.
189189./emsdk activate latest
190190```
191191
192- However 1.39.2 is known to work.
192+ However 2.0.7 is known to work.
193193
194194### Rebuilding the libprotobuf.a files
195195
@@ -203,10 +203,11 @@ git clone https://github.com/kwonoj/protobuf-wasm wasm-patches
203203cd wasm-patches && git checkout 4bba8b2f38b5004f87489642b6ca4525ae72fe7f && cd ..
204204git apply wasm-patches/* .patch
205205./autogen.sh
206- emconfigure ./configure --disable-shared CXXFLAGS=" -O3 -flto -s WASM_OBJECT_FILES=0 --llvm-lto 1 "
206+ emconfigure ./configure --disable-shared CXXFLAGS=" -O3 -flto"
207207emmake make
208- cp src/.libs/libprotobuf-lite.a ${CPP_API} /libprotobuf-lite.a
209- cp src/.libs/libprotobuf.a ${CPP_API} /libprotobuf.a
208+ cd ..
209+ cp protobuf-wasm/src/.libs/libprotobuf-lite.a ${CPP_API} /libprotobuf-lite.a
210+ cp protobuf-wasm/src/.libs/libprotobuf.a ${CPP_API} /libprotobuf.a
210211```
211212
212213### WAVM binaries
0 commit comments