2 name = "mozilla-central-workspace-hack"
5 description = "Workspace hack for mozilla-central"
7 # This is a hack to help rust code in the tree that are built by different
8 # invocations of cargo share dependencies rather than rebuilding them. This is
9 # based on the "rustc-workspace-hack" used by the rustc build system to achieve
10 # the same. From the description of the issue given there:
12 # "Each time Cargo runs a build it will re-resolve the dependency graph, "
13 # "notably selecting different features sometimes for each build."
15 # We work around this by specifying the union of the set of features selected
16 # by dependencies in each cargo invocation for each instance they would differ.
19 arrayvec = { version = "0.7", features = ["serde"], optional = true }
20 bytes = { version = "1", optional = true }
21 chrono = { version = "0.4", features = ["serde"], optional = true }
22 env_logger = { version = "0.10", default-features = false, features = ["color"], optional = true }
23 flate2 = { version = "1", optional = true }
24 futures-channel = { version = "0.3", features = ["sink"], optional = true }
25 futures-sink = { version = "0.3", optional = true }
26 futures-core = { version = "0.3", optional = true }
27 futures-util = { version = "0.3", features = ["channel", "io", "sink"], optional = true }
28 getrandom = { version = "0.2", default-features = false, features = ["std"], optional = true }
29 hashbrown = { version = "0.12", optional = true }
30 hyper = { version = "0.14", features = ["full"], optional = true }
31 indexmap = { version = "1", default-features = false, features = ["serde-1", "std"], optional = true }
32 libc = { version = "0.2", features = ["extra_traits"] }
33 log = { version = "0.4", features = ["release_max_level_info"], optional = true }
34 num-integer = { version = "0.1", optional = true }
35 num-traits = { version = "0.2", features = ["i128"], optional = true }
36 once_cell = { version = "1", optional = true }
37 regex = { version = "1", optional = true }
38 semver = { version = "1", features = ["serde"], optional = true }
39 serde = { version = "1", features = ["derive", "rc"], optional = true }
40 serde_json = { version = "1", features = ["preserve_order", "unbounded_depth"], optional = true }
41 smallvec = { version = "1", features = ["const_new", "serde", "union"], optional = true }
42 tokio = { version = "1", features = ["fs", "num_cpus", "rt-multi-thread"], optional = true }
43 tokio-util = { version = "0.7", features = ["io"], optional = true }
44 tracing = { version = "0.1", features = ["log"], optional = true }
45 url = { version = "2", features = ["serde"], optional = true }
46 uuid = { version = "1", features = ["serde", "v4"], optional = true }
48 [target."cfg(windows)".dependencies]
49 scopeguard = { version = "1", optional = true }
52 bindgen = { version = "0.66", default-features = false, features = ["runtime"], optional = true }
54 memchr = { version = "2", optional = true }
55 nom = { version = "7", optional = true }
58 regex = { version = "1", default-features = false, features = ["perf"], optional = true }
59 semver = { version = "1", features = ["serde"], optional = true }
60 serde = { version = "1", features = ["derive"], optional = true }
61 syn = { version = "2", features = ["extra-traits", "full", "visit", "visit-mut"] }
63 [target."cfg(windows)".dependencies.winapi]
156 builtins-static = ["dep:bindgen", "dep:memchr", "dep:nom", "dep:regex", "dep:serde", "dep:smallvec"]
157 defaultagent-static = ["dep:bytes", "dep:getrandom", "dep:hashbrown", "dep:indexmap", "dep:log", "dep:once_cell", "dep:scopeguard", "dep:serde", "dep:serde_json", "dep:smallvec", "dep:url"]
158 geckodriver = ["dep:bytes", "dep:chrono", "dep:flate2", "dep:futures-channel", "dep:futures-core", "dep:futures-sink", "dep:futures-util", "dep:getrandom", "dep:hashbrown", "dep:hyper", "dep:indexmap", "dep:log", "dep:memchr", "dep:num-integer", "dep:num-traits", "dep:once_cell", "dep:regex", "dep:semver", "dep:serde", "dep:serde_json", "dep:smallvec", "dep:tokio", "dep:tokio-util", "dep:tracing", "dep:url", "dep:uuid"]
159 gkrust = ["dep:arrayvec", "dep:bindgen", "dep:bytes", "dep:chrono", "dep:env_logger", "dep:flate2", "dep:futures-channel", "dep:futures-core", "dep:futures-sink", "dep:futures-util", "dep:getrandom", "dep:hashbrown", "dep:indexmap", "dep:log", "dep:memchr", "dep:nom", "dep:num-integer", "dep:num-traits", "dep:once_cell", "dep:regex", "dep:scopeguard", "dep:semver", "dep:serde", "dep:serde_json", "dep:smallvec", "dep:url", "dep:uuid"]
160 gkrust-gtest = ["gkrust"]
161 http3server = ["dep:arrayvec", "dep:bindgen", "dep:bytes", "dep:chrono", "dep:env_logger", "dep:futures-channel", "dep:futures-core", "dep:futures-sink", "dep:futures-util", "dep:getrandom", "dep:hashbrown", "dep:hyper", "dep:indexmap", "dep:log", "dep:memchr", "dep:nom", "dep:num-integer", "dep:num-traits", "dep:once_cell", "dep:regex", "dep:serde", "dep:serde_json", "dep:smallvec", "dep:tokio", "dep:tokio-util", "dep:tracing", "dep:url"]
162 ipcclientcerts-static = ["dep:bindgen", "dep:memchr", "dep:nom", "dep:regex"]
163 jsrust = ["dep:arrayvec", "dep:env_logger", "dep:getrandom", "dep:hashbrown", "dep:indexmap", "dep:log", "dep:memchr", "dep:once_cell", "dep:semver", "dep:serde", "dep:smallvec", "dep:url"]
164 mozwer_s = ["dep:getrandom", "dep:hashbrown", "dep:indexmap", "dep:once_cell", "dep:serde", "dep:serde_json", "dep:uuid"]
165 osclientcerts-static = ["dep:bindgen", "dep:env_logger", "dep:log", "dep:memchr", "dep:nom", "dep:regex"]