[workspace]
resolver = "2"
members = [
  "compiler/rustc",
  "src/build_helper",
  "src/etc/test-float-parse",
  "src/rustc-std-workspace/rustc-std-workspace-core",
  "src/rustc-std-workspace/rustc-std-workspace-alloc",
  "src/rustc-std-workspace/rustc-std-workspace-std",
  "src/rustdoc-json-types",
  "src/tools/cargotest",
  "src/tools/clippy",
  "src/tools/clippy/clippy_dev",
  "src/tools/compiletest",
  "src/tools/run-make-support",
  "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/wasm-component-ld",
  "src/tools/features-status-dump",
]

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
