Expand description
Implementation of the various distribution aspects of the compiler.
This module is responsible for creating tarballs of the standard library, compiler, and documentation. This ends up being what we distribute to everyone as well.
No tarball is actually created literally in this file, but rather we shell
out to rust-installer
still. This may one day be replaced with bits and
pieces of rustup.rs
!
Structs§
- Analysis
- Bootstrap
- Tarball intended for internal consumption to ease rustc/std development.
- Build
Manifest - Tarball containing a prebuilt version of the build-manifest tool, intended to be used by the release process to avoid cloning the monorepo and building stuff.
- Cargo
- Clippy
- Codegen
Backend - Debugger
Scripts - Docs
- Extended
- Json
Docs - Llvm
Bitcode Linker - Llvm
Tools - Mingw
- Miri
- Plain
Source Tarball - Reproducible
Artifacts - Tarball containing artifacts necessary to reproduce the build of rustc.
- Rls
- Rust
Analyzer - RustDev
- Tarball intended for internal consumption to ease rustc/std development.
- Rustc
- Rustc
Dev - Tarball containing the compiler that gets downloaded and used by
rust.download-rustc
. - Rustc
Docs - Rustfmt
- Src
- Std
Functions§
- add_env 🔒
- copy_
src_ 🔒dirs - Use the
builder
to make a filtered copy ofbase
/X for X in (src_dirs
-exclude_dirs
) todst_dir
. - copy_
target_ 🔒libs - Copy stamped files into an image’s
target/lib
directory. - distdir 🔒
- find_
files 🔒 - install_
llvm_ 🔒file - make_
win_ 🔒dist - maybe_
install_ 🔒llvm - Maybe add LLVM object files to the given destination lib-dir. Allows either static or dynamic linking.
- maybe_
install_ llvm_ runtime - Maybe add libLLVM.so to the runtime lib-dir for rustc itself.
- maybe_
install_ llvm_ target - Maybe add libLLVM.so to the target lib-dir for linking.
- pkgname
- should_
build_ 🔒extended_ tool - skip_
host_ 🔒target_ lib - tmpdir
- verify_
uefi_ 🔒rlib_ format - Check that all objects in rlibs for UEFI targets are COFF. This ensures that the C compiler isn’t producing ELF objects, which would not link correctly with the COFF objects.