]> git.proxmox.com Git - rustc.git/blame - Cargo.toml
New upstream version 1.63.0+dfsg1
[rustc.git] / Cargo.toml
CommitLineData
476ff2be 1[workspace]
5e7ed085 2default-members = ["src/bootstrap"]
476ff2be 3members = [
a1dfa0c6 4 "src/bootstrap",
1b1a35ee 5 "compiler/rustc",
3dfed10e
XL
6 "library/std",
7 "library/test",
5869c6ff 8 "src/rustdoc-json-types",
a1dfa0c6
XL
9 "src/tools/cargotest",
10 "src/tools/clippy",
cdc7bbd5 11 "src/tools/clippy/clippy_dev",
a1dfa0c6
XL
12 "src/tools/compiletest",
13 "src/tools/error_index_generator",
14 "src/tools/linkchecker",
1b1a35ee 15 "src/tools/lint-docs",
a1dfa0c6
XL
16 "src/tools/rustbook",
17 "src/tools/unstable-book-gen",
18 "src/tools/tidy",
3dfed10e 19 "src/tools/tier-check",
a1dfa0c6
XL
20 "src/tools/build-manifest",
21 "src/tools/remote-test-client",
22 "src/tools/remote-test-server",
23 "src/tools/rust-installer",
3dfed10e 24 "src/tools/rust-demangler",
a1dfa0c6 25 "src/tools/cargo",
fc512014
XL
26 "src/tools/cargo/crates/credential/cargo-credential-1password",
27 "src/tools/cargo/crates/credential/cargo-credential-macos-keychain",
28 "src/tools/cargo/crates/credential/cargo-credential-wincred",
a1dfa0c6
XL
29 "src/tools/rustdoc",
30 "src/tools/rls",
31 "src/tools/rustfmt",
32 "src/tools/miri",
f9f354fc 33 "src/tools/miri/cargo-miri",
a1dfa0c6 34 "src/tools/rustdoc-themes",
dfeec247 35 "src/tools/unicode-table-generator",
ba9703b0 36 "src/tools/expand-yaml-anchors",
5869c6ff 37 "src/tools/jsondocck",
136023e0 38 "src/tools/html-checker",
c295e0f8 39 "src/tools/bump-stage0",
dc3f5686 40 "src/tools/lld-wrapper",
8faf50e0 41]
29967ef6 42
8faf50e0 43exclude = [
a1dfa0c6 44 "build",
29967ef6 45 "compiler/rustc_codegen_cranelift",
c295e0f8 46 "compiler/rustc_codegen_gcc",
136023e0 47 "src/test/rustdoc-gui",
a1dfa0c6
XL
48 # HACK(eddyb) This hardcodes the fact that our CI uses `/checkout/obj`.
49 "obj",
29967ef6
XL
50 # The `x` binary is a thin wrapper that calls `x.py`, which initializes
51 # submodules, before which workspace members cannot be invoked because
52 # not all `Cargo.toml` files are available, so we exclude the `x` binary,
53 # so it can be invoked before the current checkout is set up.
54 "src/tools/x",
cdc7bbd5
XL
55 # stdarch has its own Cargo workspace
56 "library/stdarch",
476ff2be
SL
57]
58
f035d41b
XL
59[profile.release.package.compiler_builtins]
60# The compiler-builtins crate cannot reference libcore, and it's own CI will
61# verify that this is the case. This requires, however, that the crate is built
62# without overflow checks and debug assertions. Forcefully disable debug
63# assertions and overflow checks here which should ensure that even if these
64# assertions are enabled for libstd we won't enable then for compiler_builtins
65# which should ensure we still link everything correctly.
476ff2be 66debug-assertions = false
f035d41b
XL
67overflow-checks = false
68
69# For compiler-builtins we always use a high number of codegen units.
70# The goal here is to place every single intrinsic into its own object
71# file to avoid symbol clashes with the system libgcc if possible. Note
72# that this number doesn't actually produce this many object files, we
73# just don't create more than this number of object files.
74#
75# It's a bit of a bummer that we have to pass this here, unfortunately.
76# Ideally this would be specified through an env var to Cargo so Cargo
77# knows how many CGUs are for this specific crate, but for now
78# per-crate configuration isn't specifiable in the environment.
79codegen-units = 10000
ea8adc8c 80
3c0e092e
XL
81[profile.release.package.rustc-rayon-core]
82# The rustc fork of Rayon has deadlock detection code which intermittently
83# causes overflows in the CI (see https://github.com/rust-lang/rust/issues/90227)
84# so we turn overflow checks off for now.
85# FIXME: This workaround should be removed once #90227 is fixed.
86overflow-checks = false
87
3dfed10e
XL
88# These dependencies of the standard library implement symbolication for
89# backtraces on most platforms. Their debuginfo causes both linking to be slower
90# (more data to chew through) and binaries to be larger without really all that
91# much benefit. This section turns them all to down to have no debuginfo which
92# helps to improve link times a little bit.
93[profile.release.package]
94addr2line.debug = 0
95adler.debug = 0
96gimli.debug = 0
97miniz_oxide.debug = 0
98object.debug = 0
99
c295e0f8
XL
100# The only package that ever uses debug builds is bootstrap.
101# We care a lot about bootstrap's compile times, so don't include debug info for
102# dependencies, only bootstrap itself.
103[profile.dev]
104debug = 0
105[profile.dev.package]
106# Only use debuginfo=1 to further reduce compile times.
107bootstrap.debug = 1
108
2c00a5a8
XL
109# We want the RLS to use the version of Cargo that we've got vendored in this
110# repository to ensure that the same exact version of Cargo is used by both the
111# RLS and the Cargo binary itself. The RLS depends on Cargo as a git repository
112# so we use a `[patch]` here to override the github repository with our local
113# vendored copy.
ea8adc8c 114[patch."https://github.com/rust-lang/cargo"]
a1dfa0c6 115cargo = { path = "src/tools/cargo" }
cdc7bbd5 116cargo-util = { path = "src/tools/cargo/crates/cargo-util" }
ea8adc8c 117
3dfed10e 118[patch."https://github.com/rust-lang/rustfmt"]
2c00a5a8
XL
119# Similar to Cargo above we want the RLS to use a vendored version of `rustfmt`
120# that we're shipping as well (to ensure that the rustfmt in RLS and the
8faf50e0 121# `rustfmt` executable are the same exact version).
a1dfa0c6 122rustfmt-nightly = { path = "src/tools/rustfmt" }
8faf50e0 123
3dfed10e 124[patch.crates-io]
a1dfa0c6 125# See comments in `src/tools/rustc-workspace-hack/README.md` for what's going on
8faf50e0 126# here
a1dfa0c6 127rustc-workspace-hack = { path = 'src/tools/rustc-workspace-hack' }
8faf50e0 128
3dfed10e 129# See comments in `library/rustc-std-workspace-core/README.md` for what's going on
0731742a 130# here
3dfed10e
XL
131rustc-std-workspace-core = { path = 'library/rustc-std-workspace-core' }
132rustc-std-workspace-alloc = { path = 'library/rustc-std-workspace-alloc' }
133rustc-std-workspace-std = { path = 'library/rustc-std-workspace-std' }
134
450edc1f 135[patch."https://github.com/rust-lang/rust-clippy"]
a1dfa0c6 136clippy_lints = { path = "src/tools/clippy/clippy_lints" }