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
- 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.
- Tarball containing artifacts necessary to reproduce the build of rustc.
Functions
- add_env 🔒
- Use the
builder
to make a filtered copy ofbase
/X for X in (src_dirs
-exclude_dirs
) todst_dir
. - Copy stamped files into an image’s
target/lib
directory. - distdir 🔒
- Maybe add LLVM object files to the given destination lib-dir. Allows either static or dynamic linking.
- Maybe add libLLVM.so to the runtime lib-dir for rustc itself.
- Maybe add libLLVM.so to the target lib-dir for linking.
- 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.