summaryrefslogtreecommitdiff
path: root/Cargo.toml
blob: d4b84250fc469ebb6907bcfa673c7e4b9a4f8f03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
[workspace]
resolver = "2"
members = [
  "compiler/rustc",
  "src/etc/test-float-parse",
  "src/rustdoc-json-types",
  "src/tools/build_helper",
  "src/tools/cargotest",
  "src/tools/clippy",
  "src/tools/clippy/clippy_dev",
  "src/tools/compiletest",
  "src/tools/run-make-support",
  "src/tools/error_index_generator",
  "src/tools/linkchecker",
  "src/tools/lint-docs",
  "src/tools/miropt-test-tools",
  "src/tools/unstable-book-gen",
  "src/tools/tidy",
  "src/tools/tier-check",
  "src/tools/build-manifest",
  "src/tools/remote-test-client",
  "src/tools/remote-test-server",
  "src/tools/rust-installer",
  "src/tools/rustdoc",
  "src/tools/rls",
  "src/tools/rustfmt",
  "src/tools/miri",
  "src/tools/miri/cargo-miri",
  "src/tools/rustdoc-themes",
  "src/tools/unicode-table-generator",
  "src/tools/jsondocck",
  "src/tools/jsondoclint",
  "src/tools/llvm-bitcode-linker",
  "src/tools/html-checker",
  "src/tools/bump-stage0",
  "src/tools/replace-version-placeholder",
  "src/tools/lld-wrapper",
  "src/tools/collect-license-metadata",
  "src/tools/generate-copyright",
  "src/tools/suggest-tests",
  "src/tools/generate-windows-sys",
  "src/tools/rustdoc-gui-test",
  "src/tools/opt-dist",
  "src/tools/coverage-dump",
  "src/tools/rustc-perf-wrapper",
  "src/tools/wasm-component-ld",
]

exclude = [
  "build",
  "compiler/rustc_codegen_cranelift",
  "compiler/rustc_codegen_gcc",
  "src/bootstrap",
  "tests/rustdoc-gui",
  # HACK(eddyb) This hardcodes the fact that our CI uses `/checkout/obj`.
  "obj",
  # The `x` binary is a thin wrapper that calls `x.py`, which initializes
  # submodules, before which workspace members cannot be invoked because
  # not all `Cargo.toml` files are available, so we exclude the `x` binary,
  # so it can be invoked before the current checkout is set up.
  "src/tools/x",
]

[profile.release.package.rustc-rayon-core]
# The rustc fork of Rayon has deadlock detection code which intermittently
# causes overflows in the CI (see https://github.com/rust-lang/rust/issues/90227)
# so we turn overflow checks off for now.
# FIXME: This workaround should be removed once #90227 is fixed.
overflow-checks = false

# These are very thin wrappers around executing lld with the right binary name.
# Basically nothing within them can go wrong without having been explicitly logged anyway.
# We ship these in every rustc tarball and even after compression they add up
# to around 0.6MB of data every user needs to download (and 15MB on disk).
[profile.release.package.lld-wrapper]
debug = 0
strip = true
[profile.release.package.wasm-component-ld-wrapper]
debug = 0
strip = true

# Bigint libraries are slow without optimization, speed up testing
[profile.dev.package.test-float-parse]
opt-level = 3

# Speed up the binary as much as possible
[profile.release.package.test-float-parse]
opt-level = 3
codegen-units = 1
# FIXME: LTO cannot be enabled for binaries in a workspace
# <https://github.com/rust-lang/cargo/issues/9330>
# lto = true