[package]
edition = "2024"
rust-version = "1.86"
name = "luna-runtime-helpers"
version = "2.4.0"
authors = ["GOLIA K.K. <lihao@golia.jp>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Static-link runtime entry for AOT-produced binaries. Exposes a single C-ABI symbol `luna_aot_run(bytecode, len) -> i32` that constructs a luna `Vm`, `undump`s the embedded bytecode, calls the root chunk, and returns a process exit code. Built as a `staticlib` so `luna-aot`'s `cc` link step can statically pull it (plus rust stdlib) into the produced native binary. Also built as `rlib` so `luna-aot`'s integration tests can drive it via the Rust runtime."
readme = false
keywords = [
"lua",
"vm",
"interpreter",
"jit",
"embedded",
]
categories = [
"compilers",
"no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/goliajp/luna"
resolver = "2"
[features]
default = ["jit-helpers"]
jit-helpers = ["dep:luna-jit"]
[lib]
name = "luna_runtime_helpers"
crate-type = [
"staticlib",
"rlib",
]
path = "src/lib.rs"
[[test]]
name = "jit_helper_symbol_expose"
path = "tests/jit_helper_symbol_expose.rs"
[dependencies.luna-core]
version = "= 2.4.0"
[dependencies.luna-jit]
version = "= 2.4.0"
optional = true
[lints.clippy]
doc_lazy_continuation = "allow"
doc_overindented_list_items = "allow"
incompatible_msrv = "allow"
missing_safety_doc = "allow"
needless_range_loop = "allow"
too_many_arguments = "allow"
type_complexity = "allow"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(luna_aot_runtime_stub)"]