Skip to content

elct9620/mruby.wasm

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

mruby.wasm

Binding mruby to WebAssembly use WebIDL

Requirements

  • Emscripten SDK
  • Ruby
  • Rake
  • Python

Compile

To compile project, please make sure your emsdk is already configured with $EMSDK environment and emcc command.

Please make sure you are use LLVM version instead Fastcomp version. The LLVM version can install by use emsdk install latest-upstream.

libmruby

Compile mruby and generate libmruby.bc

rake libmruby

WebIDL Glue

Generate glue.cpp and glue.js for WebIDL

rake mruby.idl

WebAssemtly

Generate mruby's WebAssembly file

rake wasm
rake js
rake html

The rake html is default task, you can specify which output you wants

If you want to minify for production, please add MINIFY environment

MINIFY=1 rake html

Usage

Local PlayGround

Prepare 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"')

Production

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!

References

About

mruby WebAssembly using WebIDL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published