forked from GitHub/gf-core
Add Dockerfile and script for building WASM files
This commit is contained in:
48
src/runtime/c/Dockerfile-wasm
Normal file
48
src/runtime/c/Dockerfile-wasm
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
FROM emscripten/emsdk:latest
|
||||||
|
|
||||||
|
RUN apt update
|
||||||
|
RUN apt install -y autoconf automake libtool make
|
||||||
|
|
||||||
|
WORKDIR /tmp/c
|
||||||
|
COPY gu/*.c gu/*.h /tmp/c/gu/
|
||||||
|
COPY pgf/*.c pgf/*.h /tmp/c/pgf/
|
||||||
|
COPY pgf/lightning/i386/*.h /tmp/c/pgf/lightning/i386/
|
||||||
|
COPY pgf/lightning/*.h /tmp/c/pgf/lightning/
|
||||||
|
COPY \
|
||||||
|
Makefile.am \
|
||||||
|
configure.ac \
|
||||||
|
lib*.pc.in \
|
||||||
|
/tmp/c/
|
||||||
|
RUN autoreconf -i
|
||||||
|
RUN emconfigure ./configure
|
||||||
|
RUN emmake make
|
||||||
|
RUN emcc .libs/libgu.a .libs/libpgf.a -o pgf.html \
|
||||||
|
-sFORCE_FILESYSTEM \
|
||||||
|
-sALLOW_MEMORY_GROWTH \
|
||||||
|
-sEXPORTED_FUNCTIONS="\
|
||||||
|
_pgf_read,\
|
||||||
|
_pgf_abstract_name,\
|
||||||
|
_pgf_read_expr,\
|
||||||
|
_pgf_print_expr,\
|
||||||
|
_pgf_expr_arity,\
|
||||||
|
_gu_new_pool,\
|
||||||
|
_gu_new_exn,\
|
||||||
|
_gu_data_in,\
|
||||||
|
_gu_exn_is_raised,\
|
||||||
|
_gu_exn_caught_,\
|
||||||
|
_gu_exn_caught_data,\
|
||||||
|
_gu_exn_clear,\
|
||||||
|
_gu_new_string_buf,\
|
||||||
|
_gu_string_buf_out,\
|
||||||
|
_gu_string_buf_data,\
|
||||||
|
_malloc,\
|
||||||
|
_free\
|
||||||
|
"\
|
||||||
|
-sEXPORTED_RUNTIME_METHODS="\
|
||||||
|
ccall,\
|
||||||
|
FS,\
|
||||||
|
getValue,\
|
||||||
|
stringToUTF8,\
|
||||||
|
UTF8ToString,\
|
||||||
|
allocateUTF8\
|
||||||
|
"
|
||||||
10
src/runtime/javascript/build-wasm.sh
Executable file
10
src/runtime/javascript/build-wasm.sh
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#! /usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
cd ../c
|
||||||
|
|
||||||
|
# Build inside Docker image
|
||||||
|
IMAGE="gf/build-c-runtime-wasm"
|
||||||
|
docker build . --file Dockerfile-wasm --tag $IMAGE
|
||||||
|
|
||||||
|
# Copy bulit files from container to host
|
||||||
|
docker run --rm --volume "$PWD":/tmp/host $IMAGE bash -c "cp pgf.js pgf.wasm /tmp/host/"
|
||||||
Reference in New Issue
Block a user