Skip to content

Commit

Permalink
Preliminary work to support the riscv vm in place of wasm
Browse files Browse the repository at this point in the history
  • Loading branch information
checkroom committed Dec 15, 2024
1 parent ab48b20 commit 2fb5ddf
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 4 deletions.
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ Compared to other approaches, `vs` is extremely opinionated and tries to enforce
- [ ] JS powered by [QuickJS](https://github.com/quickjs-ng).
- [ ] Lua, either based on the reference implementation or LuaJIT.
- [ ] WASM to run any language which can be compiled to this target & their compilers.
- [ ] A RISCV simulator to run components from any language supporting this architecture.
- [ ] Distribution of components via http/https and [gemini](https://geminiprotocol.net/).
- [ ] A self-hosted visual editor to design, code and test new components (something like [gambas](https://gambas.sourceforge.net/en/main.html) or [fluid](https://www.fltk.org/doc-1.4/fluid.html)).
- [ ] A robust permission system to decide what components can do based on their origin.
Expand Down Expand Up @@ -161,7 +162,7 @@ This project is based on the following dependencies:
- [fmt](https://github.com/fmtlib/fmt) to format strings and as `printf` replacement.
- [pugixml](https://pugixml.org/) to parse xml.
- [mio](https://github.com/vimpunk/mio) memory mapping for loading files.
- [hashlib](https://github.com/KaruroChori/hash-library) for cryptographic functions (and not).
- [hashlib](https://github.com/lazy-eggplant/hash-library) for cryptographic functions (and not).
- [libuv](https://libuv.org/) for me not to care about portable code.
- [vs.templ](https://github.com/lazy-eggplant/vs.templ) a library to parse markdown (not just to HTML).
- [vs.robot](https://github.com/lazy-eggplant/vs.robot) a library to perform automatic actions on FLTK.
Expand All @@ -171,11 +172,12 @@ This project is based on the following dependencies:
### For embedded scripts

- [libffi](https://github.com/libffi/libffi) to simplify symbol sharing between languages.
- [tcc](https://github.com/KaruroChori/tcc-vs) the embeddable C compiler used for C scripts.
- [tcc](https://github.com/lazy-eggplant/tcc-vs) the embeddable C compiler used for C scripts.
- [cello](https://libcello.org) an unholy macro machine for C to transform it into a dynamic language.
- [quickjs](https://github.com/quickjs-ng) the embeddable JS runtime used for JS scripts.
- [lua](https://www.lua.org/) and [luajit](http://luajit.org/) to support Lua scripts.
- [wamr](https://github.com/bytecodealliance/wasm-micro-runtime) the embeddable WASM runtime used for scripts, portable compiled components & compilers.
- [wamr](https://github.com/bytecodealliance/wasm-micro-runtime) the embeddable WASM runtime used for scripts, portable compiled components & toolchains.
- [libriscv](https://github.com/libriscv/libriscv) the embeddable riscv vm, used for scripts, portable compiled components & toolchains.

### For custom components

Expand Down
3 changes: 2 additions & 1 deletion include/cbindings/vs.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ enum vs_symbol_mode_t{
VS_SYMBOL_MODE_QUICKJS,
VS_SYMBOL_MODE_WASM,
VS_SYMBOL_MODE_EXTERNAL,
VS_SYMBOL_MODE_LUA
VS_SYMBOL_MODE_LUA,
VS_SYMBOL_MODE_RISCV
};
typedef enum vs_symbol_mode_t vs_symbol_mode_t;

Expand Down
1 change: 1 addition & 0 deletions include/ui-frame.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ enum class symbol_mode_t{
WASM,
EXTERNAL,
LUA,
RISCV,
};

struct symbol_t{
Expand Down
Empty file added include/ui-tree.riscv.hpp
Empty file.
1 change: 1 addition & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@ vs_fltk = shared_library(
'./src/ui-tree.wasm.cpp',
'./src/ui-tree.cnative.cpp',
'./src/ui-tree.dylib.cpp',
'./src/ui-tree.riscv.cpp',

'./src/ui-field.types.cpp',

Expand Down
Empty file added src/ui-tree.riscv.cpp
Empty file.

0 comments on commit 2fb5ddf

Please sign in to comment.