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