1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-26 16:09:27 -05:00
denoland-deno/build_extra/rust/BUILD.gn
2018-08-09 01:29:32 +02:00

460 lines
9.4 KiB
Text

# 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"
features = [
"std",
"alloc",
]
extern = [
":libc",
":rand_core",
":winapi",
]
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 = [ ":winapi" ]
}
rust_component("winapi") {
source_root = "$registry_github/winapi-0.3.5/src/lib.rs"
features = [
"basetsd",
"cfg",
"cfgmgr32",
"errhandlingapi",
"excpt",
"fileapi",
"guiddef",
"handleapi",
"inaddr",
"in6addr",
"ktmtypes",
"libloaderapi",
"lsalookup",
"minwinbase",
"minwindef",
"mstcpip",
"ntdef",
"ntsecapi",
"ntstatus",
"processthreadsapi",
"profileapi",
"qos",
"rpcndr",
"sspi",
"std",
"subauth",
"vadefs",
"vcruntime",
"winbase",
"wincred",
"windef",
"winerror",
"winnt",
"winreg",
"winsock2",
"ws2def",
"ws2ipdef",
"ws2tcpip",
"wtypes",
"wtypesbase",
]
}
# Old version of the 'winapi' crate, required by 'mio', 'miow', and 'iovec'.
# This exceptional! Generally we don't allow multiple versions of a crate.
# TODO: Remove this dependency. https://github.com/denoland/deno/issues/484
rust_component("winapi-0.2") {
crate_name = "winapi"
crate_version = "0.2"
source_root = "$registry_github/winapi-0.2.8/src/lib.rs"
}
# TODO: Remove this crate together with crate 'winapi-0.2'.
rust_component("kernel32") {
source_root = "$registry_github/kernel32-sys-0.2.2/src/lib.rs"
extern_version = [
{
label = ":winapi-0.2"
crate_name = "winapi"
crate_version = "0.2"
},
]
}
# TODO: Remove this crate together with crate 'winapi-0.2'.
rust_component("ws2_32") {
source_root = "$registry_github/ws2_32-sys-0.2.1/src/lib.rs"
extern_version = [
{
label = ":winapi-0.2"
crate_name = "winapi"
crate_version = "0.2"
},
]
}
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"
features = [
"default",
"with-deprecated",
]
extern = [
":iovec",
":kernel32",
":lazycell",
":libc",
":log",
":miow",
":net2",
":slab",
]
# TODO: Upgrade to a current version of the 'winapi' crate.
# See https://github.com/denoland/deno/issues/484.
extern_version = [
{
label = ":winapi-0.2"
crate_name = "winapi"
crate_version = "0.2"
},
]
}
rust_component("miow") {
source_root = "$registry_github/miow-0.2.1/src/lib.rs"
extern = [
":kernel32",
":net2",
":ws2_32",
]
# TODO: Upgrade to a current version of the 'winapi' crate.
# See https://github.com/denoland/deno/issues/484.
extern_version = [
{
label = ":winapi-0.2"
crate_name = "winapi"
crate_version = "0.2"
},
]
}
rust_component("iovec") {
source_root = "$registry_github/iovec-0.1.2/src/lib.rs"
extern = [ ":libc" ]
# TODO: Upgrade to a current version of the 'winapi' crate.
# See https://github.com/denoland/deno/issues/484.
extern_version = [
{
label = ":winapi-0.2"
crate_name = "winapi"
crate_version = "0.2"
},
]
}
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"
features = [
"default",
"duration",
]
extern = [
":cfg_if",
":libc",
":winapi",
]
}
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",
]
}