]>
Commit | Line | Data |
---|---|---|
476ff2be | 1 | [workspace] |
5e7ed085 | 2 | default-members = ["src/bootstrap"] |
476ff2be | 3 | members = [ |
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 | 43 | exclude = [ |
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 | 66 | debug-assertions = false |
f035d41b XL |
67 | overflow-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. | |
79 | codegen-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. | |
86 | overflow-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] | |
94 | addr2line.debug = 0 | |
95 | adler.debug = 0 | |
96 | gimli.debug = 0 | |
97 | miniz_oxide.debug = 0 | |
98 | object.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] | |
104 | debug = 0 | |
105 | [profile.dev.package] | |
106 | # Only use debuginfo=1 to further reduce compile times. | |
107 | bootstrap.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 | 115 | cargo = { path = "src/tools/cargo" } |
cdc7bbd5 | 116 | cargo-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 | 122 | rustfmt-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 | 127 | rustc-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 |
131 | rustc-std-workspace-core = { path = 'library/rustc-std-workspace-core' } |
132 | rustc-std-workspace-alloc = { path = 'library/rustc-std-workspace-alloc' } | |
133 | rustc-std-workspace-std = { path = 'library/rustc-std-workspace-std' } | |
134 | ||
450edc1f | 135 | [patch."https://github.com/rust-lang/rust-clippy"] |
a1dfa0c6 | 136 | clippy_lints = { path = "src/tools/clippy/clippy_lints" } |