feat(9.75f-1): Implement FileBox dynamic plugin foundation

- Add workspace configuration to support plugins
- Create nyash-file plugin with C ABI
- Implement nyash_file_open/read/write/exists/free functions
- Add libloading dependency with dynamic-file feature
- Successfully build libnyash_file.so (1.55s build time)

Next: Implement plugin loader in interpreter
This commit is contained in:
Moe Charm
2025-08-17 04:13:42 +09:00
parent 349dba24b5
commit 226618de05
4 changed files with 398 additions and 0 deletions

View File

@ -16,6 +16,8 @@ cli = []
gui = ["dep:egui", "dep:eframe", "dep:egui_extras", "dep:image"]
gui-examples = ["gui"]
all-examples = ["gui-examples"]
# 動的ライブラリサポート
dynamic-file = ["dep:libloading"]
[lib]
name = "nyash_rust"
@ -113,6 +115,9 @@ js-sys = "0.3"
wabt = "0.10"
wasmtime = "35.0.0"
# 動的ライブラリロードPhase 9.75f
libloading = { version = "0.8", optional = true }
# GUI フレームワーク - only when gui feature is enabled
egui = { version = "0.29", optional = true }
eframe = { version = "0.29", default-features = false, features = ["default_fonts", "glow"], optional = true }
@ -169,3 +174,11 @@ panic = "abort"
# 開発用設定
opt-level = 0
debug = true
# Workspace configuration
[workspace]
members = [
".", # メインのnyash-rustプロジェクト
"plugins/nyash-file", # FileBoxプラグイン
]
resolver = "2"