Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 1 | [workspace] |
Joshua Nelson | 687e53e | 2022-03-09 22:37:44 -0600 | [diff] [blame] | 2 | default-members = ["src/bootstrap"] |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 3 | members = [ |
| 4 | "src/bootstrap", |
mark | 9e5f7d5 | 2020-08-27 22:58:48 -0500 | [diff] [blame] | 5 | "compiler/rustc", |
mark | 2c31b45 | 2020-06-11 21:31:49 -0500 | [diff] [blame] | 6 | "library/std", |
| 7 | "library/test", |
Rune Tynan | 3076e25 | 2021-01-24 15:42:33 -0500 | [diff] [blame] | 8 | "src/rustdoc-json-types", |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 9 | "src/tools/cargotest", |
| 10 | "src/tools/clippy", |
Joshua Nelson | 8c25e27 | 2021-04-14 09:20:49 -0400 | [diff] [blame] | 11 | "src/tools/clippy/clippy_dev", |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 12 | "src/tools/compiletest", |
| 13 | "src/tools/error_index_generator", |
| 14 | "src/tools/linkchecker", |
Eric Huss | 45c1e0a | 2020-09-08 15:09:57 -0700 | [diff] [blame] | 15 | "src/tools/lint-docs", |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 16 | "src/tools/rustbook", |
| 17 | "src/tools/unstable-book-gen", |
| 18 | "src/tools/tidy", |
Eric Huss | ce71747 | 2020-08-11 16:49:39 -0700 | [diff] [blame] | 19 | "src/tools/tier-check", |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 20 | "src/tools/build-manifest", |
| 21 | "src/tools/remote-test-client", |
| 22 | "src/tools/remote-test-server", |
| 23 | "src/tools/rust-installer", |
Rich Kadel | a6f8b8a | 2020-07-02 11:27:15 -0700 | [diff] [blame] | 24 | "src/tools/rust-demangler", |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 25 | "src/tools/cargo", |
Eric Huss | 74498c1 | 2020-12-16 09:03:33 -0800 | [diff] [blame] | 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", |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 29 | "src/tools/rustdoc", |
| 30 | "src/tools/rls", |
| 31 | "src/tools/rustfmt", |
| 32 | "src/tools/miri", |
Ralf Jung | 759e495 | 2020-06-01 20:17:20 +0200 | [diff] [blame] | 33 | "src/tools/miri/cargo-miri", |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 34 | "src/tools/rustdoc-themes", |
Mark Rousskov | 064f888 | 2020-01-13 16:40:19 -0500 | [diff] [blame] | 35 | "src/tools/unicode-table-generator", |
Pietro Albini | 9beb8f5 | 2019-11-26 12:06:30 +0100 | [diff] [blame] | 36 | "src/tools/expand-yaml-anchors", |
Rune Tynan | 7715656 | 2021-01-15 20:34:15 -0500 | [diff] [blame] | 37 | "src/tools/jsondocck", |
Guillaume Gomez | 83a2bc3 | 2021-04-23 16:43:18 +0200 | [diff] [blame] | 38 | "src/tools/html-checker", |
Pietro Albini | 80b81ad | 2021-08-26 11:26:03 +0200 | [diff] [blame] | 39 | "src/tools/bump-stage0", |
Hans Kratz | 6162fc0 | 2021-09-25 15:25:08 +0200 | [diff] [blame] | 40 | "src/tools/lld-wrapper", |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 41 | ] |
Casey Rodarmor | 5fc22f1 | 2020-11-01 19:43:51 -0800 | [diff] [blame] | 42 | |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 43 | exclude = [ |
Eduard-Mihai Burtescu | d9ca24e | 2018-11-25 14:59:52 +0200 | [diff] [blame] | 44 | "build", |
bjorn3 | cf798c1 | 2020-10-15 14:23:43 +0200 | [diff] [blame] | 45 | "compiler/rustc_codegen_cranelift", |
Antoni Boucher | 7132ce6 | 2021-07-19 19:13:02 -0400 | [diff] [blame] | 46 | "compiler/rustc_codegen_gcc", |
Guillaume Gomez | 3bafcf8 | 2021-07-21 17:55:44 +0200 | [diff] [blame] | 47 | "src/test/rustdoc-gui", |
Eduard-Mihai Burtescu | 6aa4eb9 | 2018-11-25 23:15:20 +0200 | [diff] [blame] | 48 | # HACK(eddyb) This hardcodes the fact that our CI uses `/checkout/obj`. |
| 49 | "obj", |
Casey Rodarmor | 5fc22f1 | 2020-11-01 19:43:51 -0800 | [diff] [blame] | 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", |
Joshua Nelson | 1b0b7e9 | 2021-04-02 04:11:46 -0400 | [diff] [blame] | 55 | # stdarch has its own Cargo workspace |
| 56 | "library/stdarch", |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 57 | ] |
| 58 | |
Alex Crichton | d6156e8 | 2020-06-08 09:02:57 -0700 | [diff] [blame] | 59 | [profile.release.package.compiler_builtins] |
Alex Crichton | 3dfbf0b | 2020-06-15 07:54:20 -0700 | [diff] [blame] | 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. |
| 66 | debug-assertions = false |
| 67 | overflow-checks = false |
| 68 | |
Alex Crichton | d6156e8 | 2020-06-08 09:02:57 -0700 | [diff] [blame] | 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 |
| 80 | |
Hans Kratz | aacb497 | 2021-10-24 15:36:45 +0200 | [diff] [blame] | 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 | |
Alex Crichton | 06d565c | 2020-05-13 14:22:37 -0700 | [diff] [blame] | 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 | |
Joshua Nelson | 7f974d0 | 2021-10-10 21:16:01 -0500 | [diff] [blame] | 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 | |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 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. |
| 114 | [patch."https://github.com/rust-lang/cargo"] |
| 115 | cargo = { path = "src/tools/cargo" } |
Caleb Cartwright | e2fe4f2 | 2021-04-11 11:42:01 -0500 | [diff] [blame] | 116 | cargo-util = { path = "src/tools/cargo/crates/cargo-util" } |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 117 | |
Igor Matuszewski | e23f68a | 2020-08-18 12:45:20 +0200 | [diff] [blame] | 118 | [patch."https://github.com/rust-lang/rustfmt"] |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 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 |
| 121 | # `rustfmt` executable are the same exact version). |
| 122 | rustfmt-nightly = { path = "src/tools/rustfmt" } |
| 123 | |
Igor Matuszewski | e23f68a | 2020-08-18 12:45:20 +0200 | [diff] [blame] | 124 | [patch.crates-io] |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 125 | # See comments in `src/tools/rustc-workspace-hack/README.md` for what's going on |
| 126 | # here |
| 127 | rustc-workspace-hack = { path = 'src/tools/rustc-workspace-hack' } |
| 128 | |
mark | 2c31b45 | 2020-06-11 21:31:49 -0500 | [diff] [blame] | 129 | # See comments in `library/rustc-std-workspace-core/README.md` for what's going on |
Alex Crichton | 4c21a3b | 2018-11-19 21:52:50 -0800 | [diff] [blame] | 130 | # here |
mark | 2c31b45 | 2020-06-11 21:31:49 -0500 | [diff] [blame] | 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' } |
Alex Crichton | 4c21a3b | 2018-11-19 21:52:50 -0800 | [diff] [blame] | 134 | |
Nick Cameron | 7a7445b | 2018-12-01 23:36:32 +1300 | [diff] [blame] | 135 | [patch."https://github.com/rust-lang/rust-clippy"] |
Eduard-Mihai Burtescu | 7c166f5 | 2018-08-22 05:50:46 +0300 | [diff] [blame] | 136 | clippy_lints = { path = "src/tools/clippy/clippy_lints" } |