mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-18 15:55:36 +00:00
56dc293f15
This is the equivalent of the rustc-workspace-hack used by the rust build to ensure cargo and RLS see the same set of features for dependencies so that these dependencies may be reused by invocations of cargo for these two projects. The trivial crate added specifies the union of the set of features activated for a particular crate for each time it appears in the dependency tree so that cargo will understand these dependencies to be re-usable across cargo implementations. This eliminates re-building jsrust and some of its dependencies twice, and reduces the number of crates compiled in the tree by about 90 in testing on linux. Differential Revision: https://phabricator.services.mozilla.com/D9041
59 lines
1.8 KiB
TOML
59 lines
1.8 KiB
TOML
[package]
|
|
name = "mozilla-central-workspace-hack"
|
|
version = "0.1.0"
|
|
|
|
# This is a hack to help rust code in the tree that are built by different
|
|
# invocations of cargo share dependencies rather than rebuilding them. This is
|
|
# based on the "rustc-workspace-hack" used by the rustc build system to achieve
|
|
# the same. From the description of the issue given there:
|
|
#
|
|
# "Each time Cargo runs a build it will re-resolve the dependency graph, "
|
|
# "notably selecting different features sometimes for each build."
|
|
#
|
|
# We work around this by specifying the union of the set of features selected
|
|
# by dependencies in each cargo invocation for each instance they would differ.
|
|
|
|
[build-dependencies]
|
|
void = { features = ["std", "default"], version = "1.0.2" }
|
|
syn = { features = ["extra-traits", "fold", "full"], version = "0.14" }
|
|
log = { features = ["release_max_level_info", "release_max_level_warn", "std"], version = "0.4.5" }
|
|
serde = { features = ["default", "rc", "serde_derive", "std"], version = "1.0.66" }
|
|
serde_derive = { features = ["default", "deserialize_in_place"], version = "1.0.66" }
|
|
quote = { features = ["default", "proc-macro"], version = "0.5.2" }
|
|
proc-macro2 = { features = ["default", "proc-macro"], version = "0.3.5" }
|
|
|
|
[target."cfg(windows)".dependencies.winapi]
|
|
version = "0.3.6"
|
|
features = [
|
|
"basetsd",
|
|
"consoleapi",
|
|
"dwrite",
|
|
"dwrite_1",
|
|
"dwrite_3",
|
|
"errhandlingapi",
|
|
"fileapi",
|
|
"handleapi",
|
|
"hidclass",
|
|
"hidpi",
|
|
"hidusage",
|
|
"libloaderapi",
|
|
"memoryapi",
|
|
"minwinbase",
|
|
"minwindef",
|
|
"ntdef",
|
|
"ntsecapi",
|
|
"ntstatus",
|
|
"processenv",
|
|
"profileapi",
|
|
"setupapi",
|
|
"std",
|
|
"sysinfoapi",
|
|
"timezoneapi",
|
|
"unknwnbase",
|
|
"winbase",
|
|
"wincon",
|
|
"winerror",
|
|
"winnls",
|
|
"winnt"
|
|
]
|