Binding mruby to WebAssembly use WebIDL
- Emscripten SDK
- Ruby
- Rake
- Python
To compile project, please make sure your emsdk is already configured with $EMSDK environment and emcc command.
Please make sure you are use
LLVMversion instead Fastcomp version. TheLLVMversion can install by useemsdk install latest-upstream.
Compile mruby and generate libmruby.bc
rake libmrubyGenerate glue.cpp and glue.js for WebIDL
rake mruby.idlGenerate mruby's WebAssembly file
rake wasm
rake js
rake htmlThe
rake htmlis default task, you can specify which output you wants
If you want to minify for production, please add MINIFY environment
MINIFY=1 rake htmlPrepare WebAssembly
# Create mruby.html
rake html
# Serve mruby.wasm
ruby -run -e httpd .Goto http://localhost:8080/mruby.html and open the console to execute ruby code.
var ruby = new Ruby()
ruby.Execute('puts "Hello World"')Prepare WebAssembly
rake js
Copy mruby.js and mruby.wasm to your project and load WebAssembly by yourself.
Currently this project is for prototype to test use mruby on browser, it is not stable!