# Copyright 2018 the Deno authors. All rights reserved. MIT license. # Dependencies between third party crates is mapped out here manually. This is # not so difficult and having it be tedious to add dependencies might help us # avoid dependency hell later on. Always try to minimize dependencies. # Versioning for third party rust crates is controlled in //Cargo.toml # Use //tools/sync_third_party.py instead of running "cargo install". import("rust.gni") crates = "//third_party/rust_crates" registry_github = "$crates/registry/src/github.com-1ecc6299db9ec823/" rust_component("libc") { source_root = "$registry_github/libc-0.2.42/src/lib.rs" features = [ "use_std" ] } rust_component("url") { source_root = "$registry_github/url-1.7.1/src/lib.rs" extern = [ ":matches", ":idna", ":percent_encoding", ] } rust_component("percent_encoding") { source_root = "$registry_github/percent-encoding-1.0.1/lib.rs" args = [ # TODO: Suppress some warnings at this moment # This should be removed when it's fixed in servo/rust-url repository # https://github.com/servo/rust-url/issues/455 "-Aunused-imports", "-Adeprecated", ] } rust_component("matches") { source_root = "$registry_github/matches-0.1.7/lib.rs" } rust_component("idna") { source_root = "$registry_github/idna-0.1.5/src/lib.rs" extern = [ ":matches", ":unicode_bidi", ":unicode_normalization", ] } rust_component("unicode_bidi") { source_root = "$registry_github/unicode-bidi-0.3.4/src/lib.rs" extern = [ ":matches" ] } rust_component("unicode_normalization") { source_root = "$registry_github/unicode-normalization-0.1.7/src/lib.rs" } rust_component("log") { source_root = "$registry_github/log-0.4.3/src/lib.rs" extern = [ ":cfg_if" ] } rust_component("cfg_if") { source_root = "$registry_github/cfg-if-0.1.4/src/lib.rs" } rust_component("sha1") { source_root = "$registry_github/sha1-0.6.0/src/lib.rs" } rust_component("tempfile") { source_root = "$registry_github/tempfile-3.0.3/src/lib.rs" extern = [ ":libc", ":rand", ":remove_dir_all", ":winapi", ] } rust_component("rand") { source_root = "$registry_github/rand-0.5.4/src/lib.rs" extern = [ ":libc", ":rand_core", ] if (is_win) { extern += [ ":winapi" ] } features = [ "std", "alloc", ] if (is_mac) { libs = [ "Security.framework" ] } } rust_component("rand_core") { source_root = "$registry_github/rand_core-0.2.1/src/lib.rs" } rust_component("remove_dir_all") { source_root = "$registry_github/remove_dir_all-0.5.1/src/lib.rs" extern = [] if (is_win) { extern += [ ":winapi" ] } } rust_component("winapi") { source_root = "$registry_github/winapi-0.3.5/src/lib.rs" features = [ "basetsd", "cfg", "cfgmgr32", "errhandlingapi", "excpt", "fileapi", "guiddef", "handleapi", "ktmtypes", "libloaderapi", "lsalookup", "minwinbase", "minwindef", "ntdef", "ntsecapi", "ntstatus", "processthreadsapi", "profileapi", "sspi", "std", "subauth", "vadefs", "vcruntime", "winbase", "wincred", "windef", "winerror", "winnt", "winreg", ] } rust_component("futures") { source_root = "$registry_github/futures-0.1.23/src/lib.rs" cfg = [ "feature=\"use_std\"", "feature=\"with-deprecated\"", ] } rust_component("mio") { source_root = "$registry_github/mio-0.6.15/src/lib.rs" extern = [ ":iovec", ":lazycell", ":log", ":net2", ":slab", ":libc", ] cfg = [ "feature=\"with-deprecated\"" ] } rust_component("iovec") { source_root = "$registry_github/iovec-0.1.2/src/lib.rs" extern = [ ":libc" ] } rust_component("lazycell") { source_root = "$registry_github/lazycell-0.6.0/src/lib.rs" } rust_component("net2") { source_root = "$registry_github/net2-0.2.33/src/lib.rs" extern = [ ":cfg_if", ":libc", ] } rust_component("slab") { source_root = "$registry_github/slab-0.4.0/src/lib.rs" } rust_component("bytes") { source_root = "$registry_github/bytes-0.4.9/src/lib.rs" extern = [ ":byteorder", ":iovec", ] } rust_component("byteorder") { source_root = "$registry_github/byteorder-1.2.4/src/lib.rs" } rust_component("crossbeam_deque") { source_root = "$registry_github/crossbeam-deque-0.5.1/src/lib.rs" extern = [ ":crossbeam_epoch", ":crossbeam_utils", ] } rust_component("crossbeam_epoch") { source_root = "$registry_github/crossbeam-epoch-0.5.1/src/lib.rs" extern = [ ":arrayvec", ":cfg_if", ":crossbeam_utils", ":lazy_static", ":memoffset", ":scopeguard", ] cfg = [ "feature=\"use_std\"" ] } rust_component("crossbeam_utils") { source_root = "$registry_github/crossbeam-utils-0.4.1/src/lib.rs" extern = [ ":cfg_if" ] cfg = [ "feature=\"use_std\"" ] } rust_component("arrayvec") { source_root = "$registry_github/arrayvec-0.4.7/src/lib.rs" extern = [ ":nodrop" ] } rust_component("nodrop") { source_root = "$registry_github/nodrop-0.1.12/src/lib.rs" } rust_component("lazy_static") { source_root = "$registry_github/lazy_static-1.0.2/src/lib.rs" } rust_component("memoffset") { source_root = "$registry_github/memoffset-0.2.1/src/lib.rs" } rust_component("scopeguard") { source_root = "$registry_github/scopeguard-0.3.3/src/lib.rs" cfg = [ "feature=\"use_std\"" ] } rust_component("num_cpus") { source_root = "$registry_github/num_cpus-1.8.0/src/lib.rs" extern = [ ":libc" ] } tokio_root = "$crates/git/checkouts/tokio-377c595163f99a10/5d0d2a2/" rust_component("tokio") { source_root = "$tokio_root/src/lib.rs" extern = [ ":futures", ":mio", ":tokio_executor", ":tokio_fs", ":tokio_io", ":tokio_reactor", ":tokio_tcp", ":tokio_threadpool", ":tokio_current_thread", ":tokio_timer", ":tokio_udp", ] } rust_component("tokio_executor") { source_root = "$tokio_root/tokio-executor/src/lib.rs" extern = [ ":futures" ] } rust_component("tokio_current_thread") { source_root = "$tokio_root/tokio-current-thread/src/lib.rs" extern = [ ":tokio_executor", ":futures", ] } rust_component("tokio_fs") { source_root = "$tokio_root//tokio-fs/src/lib.rs" extern = [ ":futures", ":tokio_io", ":tokio_threadpool", ] } rust_component("tokio_io") { source_root = "$tokio_root/tokio-io/src/lib.rs" extern = [ ":bytes", ":futures", ":log", ] } rust_component("tokio_timer") { source_root = "$tokio_root/tokio-timer/src/lib.rs" extern = [ ":futures", ":tokio_executor", ] } rust_component("tokio_udp") { source_root = "$tokio_root/tokio-udp/src/lib.rs" extern = [ ":bytes", ":futures", ":log", ":mio", ":tokio_codec", ":tokio_io", ":tokio_reactor", ] } rust_component("tokio_codec") { source_root = "$tokio_root/tokio-codec/src/lib.rs" extern = [ ":bytes", ":futures", ":tokio_io", ] } rust_component("tokio_reactor") { source_root = "$tokio_root/tokio-reactor/src/lib.rs" extern = [ ":futures", ":log", ":mio", ":slab", ":tokio_executor", ":tokio_io", ] } rust_component("tokio_tcp") { source_root = "$tokio_root/tokio-tcp/src/lib.rs" extern = [ ":bytes", ":futures", ":iovec", ":mio", ":tokio_io", ":tokio_reactor", ] } rust_component("tokio_threadpool") { source_root = "$tokio_root/tokio-threadpool/src/lib.rs" extern = [ ":crossbeam_deque", ":crossbeam_utils", ":futures", ":log", ":num_cpus", ":rand", ":tokio_executor", ] }