v86/docker/test-image/Dockerfile
Fabian 01061dc4b6 The final Rust porting
This commit contains the final changes requires for porting all C code
to Rust and from emscripten to llvm:

- tools/wasm-patch-indirect-function-table.js: A script that rewrites
  the wasm generated by llvm to remove the table limit
- tools/rust-lld-wrapper: A wrapper around rust-lld that removes
  arguments forced by rustc that break compilation for us
- src/rust/cpu2/Makefile: A monstrosity to postprocess c2rust's output
- gen/generate_interpreter.js: Ported to produce Rust instead of C
- src/rust/*: A few functions and macros to connect the old Rust code
  and the new Rust code
- src/*.js: Removes the loading of the old emscripten wasm module and
  adapts imports and exports from emscripten to llvm
2020-08-30 19:29:53 -05:00

17 lines
782 B
Docker

FROM ttt43ttt/emscripten
RUN \
dpkg --add-architecture i386 && \
apt-get update -qq && \
apt-get install -y clang-tidy gcc-multilib nasm gdb unzip openjdk-8-jre wget python python3 qemu-system-x86 && \
wget https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-x64.tar.xz && \
tar xfv node-v8.9.4-linux-x64.tar.xz && \
rm node-v8.9.4-linux-x64.tar.xz && \
wget https://sh.rustup.rs -O rustup.sh && \
sh ./rustup.sh -y && \
rm ./rustup.sh && \
export PATH="$HOME/.cargo/bin:$PATH" && \
rustup toolchain install nightly && \
rustup default nightly && \
rustup target add wasm32-unknown-unknown --toolchain nightly && \
rustup component add rustfmt-preview --toolchain nightly