[package] name = "scryer-prolog" version = "0.9.2" authors = ["Mark Thom "] edition = "2021" description = "A modern Prolog implementation written mostly in Rust." readme = "README.md" repository = "https://github.com/mthom/scryer-prolog" license = "BSD-3-Clause" keywords = ["prolog", "prolog-interpreter", "prolog-system"] categories = ["command-line-utilities"] build = "build/main.rs" rust-version = "1.70" [lib] crate-type = ["cdylib", "rlib"] [features] default = ["ffi", "repl", "hostname", "tls", "http", "crypto-full"] ffi = ["dep:libffi"] repl = ["dep:crossterm", "dep:ctrlc", "dep:rustyline"] hostname = ["dep:hostname"] tls = ["dep:native-tls"] http = ["dep:hyper", "dep:reqwest"] rust_beta_channel = [] crypto-full = [] [build-dependencies] indexmap = "1.0.2" proc-macro2 = "1.0.36" quote = "1.0.15" strum = "0.23" strum_macros = "0.23" syn = { version = "1.0.88", features = ['full', 'visit', 'extra-traits'] } to-syn-value = "0.1.0" to-syn-value_derive = "0.1.0" walkdir = "2" [dependencies] bit-set = "0.5.3" bitvec = "1" cpu-time = "1.0.0" dirs-next = "2.0.0" divrem = "0.1.0" fxhash = "0.2.1" git-version = "0.3.4" indexmap = "1.0.2" lazy_static = "1.4.0" lexical = "5.2.2" libc = "0.2.62" modular-bitfield = "0.11.2" ordered-float = "2.6.0" phf = { version = "0.9", features = ["macros"] } ref_thread_local = "0.0.0" ripemd160 = "0.8.0" sha3 = "0.8.2" blake2 = "0.8.1" crrl = "0.6.0" chrono = "0.4.11" select = "0.6.0" roxmltree = "0.11.0" base64 = "0.12.3" smallvec = "1.8.0" static_assertions = "1.1.0" ryu = "1.0.9" futures = "0.3" libloading = "0.7" derive_deref = "1.1.1" http-body-util = "0.1.0-rc.2" bytes = "1" dashu = { git = "https://github.com/coasys/dashu.git", version = "0.3.1" } rand = "0.8.5" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] libffi = { git = "https://github.com/coasys/libffi-rs.git", branch = "windows-space", optional = true, version = "3.2.0" } hostname = { version = "0.3.1", optional = true } crossterm = { version = "0.20.0", optional = true } ctrlc = { version = "3.2.2", optional = true } rustyline = { version = "12.0.0", optional = true } native-tls = { version = "0.2.4", optional = true } hyper = { version = "=1.0.0-rc.3", features = ["full"], optional = true } reqwest = { version = "0.11.18", features = ["blocking"], optional = true } tokio = { version = "1.28.2", features = ["full"] } [target.'cfg(target_arch = "wasm32")'.dependencies] getrandom = { version = "0.2.10", features = ["js"] } tokio = { version = "1.28.2", features = ["sync", "macros", "io-util", "rt"] } [target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies] console_error_panic_hook = "0.1" console_log = "1.0" wasm-bindgen = "0.2.87" wasm-bindgen-futures = "0.4" serde-wasm-bindgen = "0.5" web-sys = { version = "0.3", features = [ "Document", "Window", "Element", ]} [target.'cfg(target_os = "wasi")'.dependencies] ring-wasi = { version = "0.16.25" } [target.'cfg(not(target_os = "wasi"))'.dependencies] ring = { version = "0.16.13" } [dev-dependencies] assert_cmd = "1.0.3" predicates-core = "1.0.2" serial_test = "2.0.0" [patch.crates-io] modular-bitfield = { git = "https://github.com/mthom/modular-bitfield" } [profile.release] debug = true