[package] name = "veilid-core" version = "0.1.0" authors = ["John Smith "] edition = "2021" build = "build.rs" license = "LGPL-2.0-or-later OR MPL-2.0 OR (MIT AND BSD-3-Clause)" [lib] crate-type = ["cdylib", "staticlib", "rlib"] [features] android_tests = [] ios_tests = [ "simplelog", "backtrace" ] [dependencies] capnp = { version = "^0", default_features = false } rust-fsm = "^0" static_assertions = "^1" log = "^0" cfg-if = "^1" anyhow = "^1" thiserror = "^1" hex = "^0" generic-array = "^0" secrecy = "^0" chacha20poly1305 = "^0" uluru = "^3" serde-big-array = "^0" futures-util = { version = "^0", default_features = false, features = ["alloc"] } parking_lot = "^0" lazy_static = "^1" directories = "^4" once_cell = "^1" ed25519-dalek = { version = "^1", default_features = false, features = ["alloc", "u64_backend"] } x25519-dalek = { package = "x25519-dalek-ng", version = "^1", default_features = false, features = ["u64_backend"] } curve25519-dalek = { package = "curve25519-dalek-ng", version = "^4", default_features = false, features = ["alloc", "u64_backend"] } # ed25519-dalek needs rand 0.7 until it updates itself rand = "0.7" # curve25519-dalek-ng is stuck on digest 0.9.0 blake3 = { version = "1.1.0", default_features = false } digest = "0.9.0" # Dependencies for native builds only # Linux, Windows, Mac, iOS, Android [target.'cfg(not(target_arch = "wasm32"))'.dependencies] async-std = { version = "^1", features = ["unstable"] } async-tungstenite = { version = "^0", features = ["async-std-runtime", "async-tls"] } maplit = "^1" config = { version = "^0", features = ["yaml"] } keyring-manager = { path = "../external/keyring-manager" } lru = "^0" async-tls = "^0.11" webpki = "^0" webpki-roots = "^0" rustls = "^0.19" rustls-pemfile = "^0.2" num_cpus = "^1" futures-util = { version = "^0", default-features = false, features = ["async-await", "sink", "std"] } keyvaluedb-sqlite = { path = "../external/keyvaluedb/keyvaluedb-sqlite" } data-encoding = { version = "^2" } serde = { version = "^1", features = ["derive" ] } serde_cbor = { version = "^0" } async_executors = { version = "^0", default-features = false, features = [ "async_std" ]} socket2 = "^0" bugsalot = "^0" chrono = "^0" libc = "^0" # Dependencies for WASM builds only [target.'cfg(target_arch = "wasm32")'.dependencies] wasm-bindgen = "^0" console_error_panic_hook = "^0" wee_alloc = "^0" js-sys = "^0" wasm-bindgen-futures = "^0" wasm-logger = "^0" hashbrown = "^0" lru = {version = "^0", features = ["hashbrown"] } no-std-net = "^0" keyvaluedb-web = { path = "../external/keyvaluedb/keyvaluedb-web" } data-encoding = { version = "^2", default_features = false, features = ["alloc"] } serde = { version = "^1", default-features = false, features = ["derive", "alloc"] } serde_cbor = { version = "^0", default-features = false, features = ["alloc"] } getrandom = { version = "^0", features = ["js"] } ws_stream_wasm = "^0" async_executors = { version = "^0", default-features = false, features = [ "bindgen" ]} async-lock = "^2" async-channel = { version = "^1" } # Configuration for WASM32 'web-sys' crate [target.'cfg(target_arch = "wasm32")'.dependencies.web-sys] version = "^0" features = [ # 'Document', # 'Element', # 'HtmlElement', # 'Node', 'IdbFactory', 'IdbOpenDbRequest', 'Storage', 'Location', 'Window', ] # Dependencies for Android [target.'cfg(target_os = "android")'.dependencies] jni = "^0" jni-sys = "^0" ndk = { version = "^0", features = ["trace"] } ndk-glue = { version = "^0", features = ["logger"] } android_logger = { version = "^0" } backtrace = { version = "^0" } # Dependenices for all Unix (Linux, Android, MacOS, iOS) [target.'cfg(unix)'.dependencies] ifstructs = "^0" # Dependencies for Linux or Android [target.'cfg(any(target_os = "android",target_os = "linux"))'.dependencies] rtnetlink = { version = "^0", default-features = false, features = [ "smol_socket" ] } # Dependencies for iOS [target.'cfg(target_os = "ios")'.dependencies] simplelog = { version = "^0", optional = true } backtrace = { version = "^0", optional = true } # Rusqlite configuration to ensure platforms that don't come with sqlite get it bundled # Except WASM which doesn't use sqlite [target.'cfg(all(not(target_os = "ios"),not(target_os = "android"),not(target_arch = "wasm32")))'.dependencies.rusqlite] version = "^0" features = ["bundled"] ### DEV DEPENDENCIES [dev-dependencies] serial_test = "^0" [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] simplelog = { version = "^0", features=["test"] } [target.'cfg(target_arch = "wasm32")'.dev-dependencies] wasm-bindgen-test = "^0" ### BUILD OPTIONS [build-dependencies] capnpc = "^0" [package.metadata.wasm-pack.profile.release] wasm-opt = ["-O", "--enable-mutable-globals"]