Modules

Utilities for building with rustdoc.

Code for building the standard library.

Constructs the dependency graph for compilation.

Structs

Configuration information for a rustc build.

The build context, containing all information about a build task.

Contains the parsed output of a custom build script.

Map of packages to build script output.

Linking information for a Unit.

A structure returning the result of a compilation.

Abstraction for the representation of a compilation target that Cargo has.

Collection of all the stuff that is needed to perform a build.

A DefaultExecutor calls rustc without doing anything else. It is Cargo’s default behaviour.

Structure with enough information to run rustdoc --test.

Type of each file generated by a Unit.

The Metadata is a hash used to make unique file names for each unit in a build. It is also use for symbol mangling.

Collection of information about rustc and the host and target.

Information about the platform target gleaned from querying rustc.

All information needed to define a unit.

A small structure used to “intern” Unit values.

Information about the output of a unit.

Enums

Indicator for how a unit is being compiled.

The general “mode” for what to do. This is used for two purposes. The commands themselves pass this in to compile_ws to tell it the general execution strategy. This influences the default targets selected. The other use is in the Unit struct to indicate what is being done with a specific target.

Kind of each file generated by a Unit, part of FileType.

Indication of the freshness of a package.

Possible ways to run rustc and request various parts of LTO.

Traits

A glorified callback for executing calls to rustc. Rather than calling rustc directly, we’ll use an Executor, giving clients an opportunity to intercept the build calls.

Functions

Generates a list of --extern arguments.