[package]
edition = "2021"
rust-version = "1.78"
name = "hara-native"
version = "0.1.13"
build = "build.rs"
include = [
"Cargo.lock",
"Cargo.toml",
"assets/**",
"build.rs",
"clippy.toml",
"examples/**",
"resources/**",
"specs/**",
"scripts/**",
"src/**",
"tests/**",
"web/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "HAL-free native host runtime and package launcher for Hara"
homepage = "https://www.hara-lang.org"
documentation = "https://github.com/hara-lang/hara-native#readme"
readme = false
license = "Apache-2.0"
repository = "https://github.com/hara-lang/hara-native"
[features]
browser-wasm = ["getrandom/js"]
bytecode-instrumentation = ["bytecode-vm"]
bytecode-observation = ["bytecode-vm"]
bytecode-vm = []
code-vm-conformance = [
"bytecode-observation",
"halc-encoder",
"evaluation-journal",
]
default = [
"bytecode-vm",
"bytecode-instrumentation",
"browser-wasm",
"direct-native",
]
dev-trace = ["evaluation-journal"]
direct-native = ["native-jit"]
evaluation-journal = []
halc-encoder = []
hir-encoder = ["halc-encoder"]
native-jit = ["tracing-jit"]
raw-wasm = []
tracing-jit = ["bytecode-vm"]
whole-wasm = ["bytecode-vm"]
[lib]
name = "hara_native"
crate-type = [
"cdylib",
"rlib",
]
path = "src/runtime_lib.rs"
test = false
[[bin]]
name = "hara-native"
path = "src/bin/hara-native.rs"
[[bin]]
name = "hara-native-conformance-artifact"
path = "src/bin/hara-native-conformance-artifact.rs"
[[bin]]
name = "hara-native-benchmark"
path = "src/bin/hara-native-benchmark.rs"
[[bin]]
name = "hara-native-benchmark-worker"
path = "src/bin/hara-native-benchmark-worker.rs"
required-features = ["bytecode-vm"]
[[bin]]
name = "hara-native-language-conformance-artifact"
path = "src/bin/hara-native-language-conformance-artifact.rs"
[[test]]
name = "native-test-registry"
path = "tests/native_test_registry.rs"
[[test]]
name = "native-command"
path = "tests/native_command.rs"
[dependencies.ed25519-dalek]
version = "2.1"
[dependencies.getrandom]
version = "0.2"
features = ["js"]
[dependencies.hara-abi]
version = "0.1.13"
[dependencies.hara-protocol-macros]
version = "0.1.13"
[dependencies.hmac]
version = "0.12"
[dependencies.inventory]
version = "0.3"
[dependencies.md5]
version = "0.8"
[dependencies.num-bigint]
version = "0.4"
[dependencies.num-integer]
version = "0.1"
[dependencies.num-traits]
version = "0.2"
[dependencies.p256]
version = "0.13"
features = [
"ecdh",
"ecdsa",
]
[dependencies.regex]
version = "1.11"
[dependencies.semver]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.uuid]
version = "1.24"
[dependencies.wasm-bindgen]
version = "0.2"
[dependencies.wasm-encoder]
version = "0.41.2"
[dependencies.x25519-dalek]
version = "2.0"
features = ["static_secrets"]
[dependencies.zeroize]
version = "1.8"
[dev-dependencies.hara-hta]
version = "0.1.13"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.home]
version = "=0.5.9"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.russh]
version = "0.62.7"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.russh-sftp]
version = "2.4.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustyline]
version = "14.0.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.53"
features = [
"io-util",
"net",
"rt",
"sync",
"time",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wasmtime]
version = "18.0.0"
features = [
"cranelift",
"runtime",
]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.zip]
version = "2.2"
features = ["deflate"]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.rand]
version = "0.10"
[target.'cfg(target_arch = "wasm32")'.dependencies.console_error_panic_hook]
version = "0.1"
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
[profile.browser-release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
inherits = "release"
strip = "symbols"