feat: プラグインパスをOS非依存に更新(.so拡張子削除)

- nyash.tomlからすべての.so拡張子を削除
- plugin_loader_v2のresolve_library_pathが自動的に適切な拡張子を追加
  - Linux: .so
  - Windows: .dll
  - macOS: .dylib
- クロスプラットフォーム対応の準備完了
This commit is contained in:
Moe Charm
2025-08-29 23:11:21 +09:00
parent 1eee62a8ea
commit 8e58942726
27 changed files with 701 additions and 159 deletions

View File

@ -45,6 +45,8 @@ pub struct CliConfig {
pub jit_direct: bool,
// DOT emit helper
pub emit_cfg: Option<String>,
// Verbose CLI
pub cli_verbose: bool,
}
impl CliConfig {
@ -116,16 +118,23 @@ impl CliConfig {
.help("Choose execution backend: 'interpreter' (default), 'vm', or 'llvm'")
.default_value("interpreter")
)
.arg(
Arg::new("verbose")
.long("verbose")
.short('v')
.help("Verbose CLI output (sets NYASH_CLI_VERBOSE=1)")
.action(clap::ArgAction::SetTrue)
)
.arg(
Arg::new("compile-wasm")
.long("compile-wasm")
.help("Compile to WebAssembly (WAT format) instead of executing")
.help("Compile to WebAssembly (WAT/WASM). Requires --features wasm-backend")
.action(clap::ArgAction::SetTrue)
)
.arg(
Arg::new("compile-native")
.long("compile-native")
.help("Compile to native AOT executable using wasmtime precompilation")
.help("Compile to native executable (AOT). Requires --features cranelift-jit")
.action(clap::ArgAction::SetTrue)
)
.arg(
@ -306,6 +315,7 @@ impl CliConfig {
emit_cfg: matches.get_one::<String>("emit-cfg").cloned(),
jit_only: matches.get_flag("jit-only"),
jit_direct: matches.get_flag("jit-direct"),
cli_verbose: matches.get_flag("verbose"),
}
}
}