Modules

Support for future-incompatible warning reporting.

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.

Structure used to deal with Rustdoc fingerprinting

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.

Kinds of build timings we can output.

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.