Files

126 lines
3.3 KiB
TOML

[package]
name = "dever-backend-bridge"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
publish.workspace = true
autotests = false
[lib]
crate-type = ["rlib", "staticlib"]
# Deliberately do not inherit workspace forbid: only src/ffi.rs may allow it.
[lints.rust]
unsafe_code = "deny"
unsafe_op_in_unsafe_fn = "deny"
[features]
default = []
embedded = ["dep:cc", "dep:rustix"]
runtime-abi = ["dep:dever-runtime", "dever-runtime/crypto", "dever-runtime/wire", "dep:libc"]
runtime-database = ["runtime-abi", "dever-runtime/database"]
runtime-api = ["runtime-abi", "dever-runtime/api"]
runtime-external = ["runtime-abi", "dever-runtime/external"]
runtime-sqlite = ["runtime-database", "dever-runtime/sqlite"]
runtime-postgres = ["runtime-database", "dever-runtime/postgres"]
[dependencies]
dever-runtime = { workspace = true, optional = true }
[target.'cfg(unix)'.dependencies]
libc = { version = "=0.2.189", optional = true }
rustix = { version = "=1.1.2", features = ["process"], optional = true }
[dev-dependencies]
dever-core.workspace = true
serde_json.workspace = true
sha2.workspace = true
[build-dependencies]
cc = { version = "=1.4.5", optional = true }
[[test]]
name = "backend_bridge"
path = "../../test/backend_bridge.rs"
required-features = ["embedded"]
[[test]]
name = "native_runtime_abi"
path = "../../test/native_runtime_abi.rs"
required-features = ["runtime-abi"]
[[test]]
name = "native_runtime_link"
path = "../../test/native_runtime_link.rs"
required-features = ["runtime-abi"]
[[test]]
name = "llvm_database_source"
path = "../../test/llvm_database_source.rs"
required-features = ["embedded", "runtime-sqlite"]
[[test]]
name = "llvm_api_source"
path = "../../test/llvm_api_source.rs"
required-features = ["embedded", "runtime-api"]
[[test]]
name = "llvm_job_test_source"
path = "../../test/llvm_job_test_source.rs"
required-features = ["embedded", "runtime-api", "runtime-sqlite"]
[[test]]
name = "llvm_native"
path = "../../test/llvm_native.rs"
required-features = ["embedded"]
[[test]]
name = "llvm_managed_native"
path = "../../test/llvm_managed_native.rs"
required-features = ["embedded", "runtime-abi"]
[[test]]
name = "llvm_result_native"
path = "../../test/llvm_result_native.rs"
required-features = ["embedded", "runtime-abi"]
[[test]]
name = "llvm_resource_native"
path = "../../test/llvm_resource_native.rs"
required-features = ["embedded", "runtime-abi"]
[[test]]
name = "llvm_async_native"
path = "../../test/llvm_async_native.rs"
required-features = ["embedded", "runtime-abi"]
[[test]]
name = "llvm_async_source"
path = "../../test/llvm_async_source.rs"
required-features = ["embedded", "runtime-abi"]
[[test]]
name = "llvm_stream_network_source"
path = "../../test/llvm_stream_network_source.rs"
required-features = ["embedded", "runtime-abi"]
[[test]]
name = "llvm_http_system_source"
path = "../../test/llvm_http_system_source.rs"
required-features = ["embedded", "runtime-abi"]
[[test]]
name = "llvm_application_source"
path = "../../test/llvm_application_source.rs"
required-features = ["embedded", "runtime-abi"]
[[test]]
name = "llvm_external_source"
path = "../../test/llvm_external_source.rs"
required-features = ["embedded", "runtime-external"]
[[test]]
name = "llvm_process_entry_source"
path = "../../test/llvm_process_entry_source.rs"
required-features = ["embedded"]