replace `cc_detect::cc2ar` with `cc::try_get_archiver` ~~Awaiting new release of [cc](https://crates.io/crates/cc) version with https://github.com/rust-lang/cc-rs/pull/1456 to bump the version.~~ ~~Blocked by https://github.com/rust-lang/cc-rs/pull/1456.~~ Kind a self-explanatory. try-job: dist-android
95 lines
2.6 KiB
TOML
95 lines
2.6 KiB
TOML
[package]
|
|
name = "bootstrap"
|
|
version = "0.0.0"
|
|
edition = "2024"
|
|
build = "build.rs"
|
|
default-run = "bootstrap"
|
|
|
|
[features]
|
|
build-metrics = ["sysinfo"]
|
|
tracing = ["dep:tracing", "dep:tracing-chrome", "dep:tracing-subscriber", "dep:tracing-tree"]
|
|
|
|
[lib]
|
|
path = "src/lib.rs"
|
|
doctest = false
|
|
|
|
[[bin]]
|
|
name = "bootstrap"
|
|
path = "src/bin/main.rs"
|
|
test = false
|
|
|
|
[[bin]]
|
|
name = "rustc"
|
|
path = "src/bin/rustc.rs"
|
|
test = false
|
|
|
|
[[bin]]
|
|
name = "rustdoc"
|
|
path = "src/bin/rustdoc.rs"
|
|
test = false
|
|
|
|
[dependencies]
|
|
# Most of the time updating these dependencies requires modifications to the
|
|
# bootstrap codebase(e.g., https://github.com/rust-lang/rust/issues/124565);
|
|
# otherwise, some targets will fail. That's why these dependencies are explicitly pinned.
|
|
cc = "=1.2.23"
|
|
cmake = "=0.1.54"
|
|
|
|
build_helper = { path = "../build_helper" }
|
|
clap = { version = "4.4", default-features = false, features = ["std", "usage", "help", "derive", "error-context"] }
|
|
clap_complete = "4.4"
|
|
fd-lock = "4.0"
|
|
home = "0.5"
|
|
ignore = "0.4"
|
|
libc = "0.2"
|
|
object = { version = "0.36.3", default-features = false, features = ["archive", "coff", "read_core", "std", "unaligned"] }
|
|
opener = "0.5"
|
|
semver = "1.0"
|
|
serde = "1.0"
|
|
# Directly use serde_derive rather than through the derive feature of serde to allow building both
|
|
# in parallel and to allow serde_json and toml to start building as soon as serde has been built.
|
|
serde_derive = "1.0"
|
|
serde_json = "1.0"
|
|
sha2 = "0.10"
|
|
tar = "0.4"
|
|
termcolor = "1.4"
|
|
toml = "0.5"
|
|
walkdir = "2.4"
|
|
xz2 = "0.1"
|
|
|
|
# Dependencies needed by the build-metrics feature
|
|
sysinfo = { version = "0.35.0", default-features = false, optional = true, features = ["system"] }
|
|
|
|
# Dependencies needed by the `tracing` feature
|
|
tracing = { version = "0.1", optional = true, features = ["attributes"] }
|
|
tracing-chrome = { version = "0.7", optional = true }
|
|
tracing-subscriber = { version = "0.3", optional = true, features = ["env-filter", "fmt", "registry", "std"] }
|
|
tracing-tree = { version = "0.4.0", optional = true }
|
|
|
|
[target.'cfg(windows)'.dependencies.junction]
|
|
version = "1.0.0"
|
|
|
|
[target.'cfg(windows)'.dependencies.windows]
|
|
version = "0.61"
|
|
features = [
|
|
"Win32_Foundation",
|
|
"Win32_Security",
|
|
"Win32_System_Diagnostics_Debug",
|
|
"Win32_System_JobObjects",
|
|
"Win32_System_ProcessStatus",
|
|
"Win32_System_Threading",
|
|
"Win32_System_Time",
|
|
]
|
|
|
|
[dev-dependencies]
|
|
pretty_assertions = "1.4"
|
|
tempfile = "3.15.0"
|
|
|
|
# We care a lot about bootstrap's compile times, so don't include debuginfo for
|
|
# dependencies, only bootstrap itself.
|
|
[profile.dev]
|
|
debug = 0
|
|
|
|
[profile.dev.package]
|
|
# Only use debuginfo=1 to further reduce compile times.
|
|
bootstrap.debug = 1
|