# Function cargo::core::compiler::fingerprint::translate_dep_info

source ·

    pub fn translate_dep_info(
        rustc_dep_info: &Path,
        cargo_dep_info: &Path,
        rustc_cwd: &Path,
        pkg_root: &Path,
        target_root: &Path,
        rustc_cmd: &ProcessBuilder,
        allow_package: bool
    ) -> CargoResult<()>

Expand description

Parses the dep-info file coming out of rustc into a Cargo-specific format.

This function will parse `rustc_dep_info` as a makefile-style dep info to learn about the all files which a crate depends on. This is then re-serialized into the `cargo_dep_info` path in a Cargo-specific format.

The `pkg_root` argument here is the absolute path to the directory containing `Cargo.toml` for this crate that was compiled. The paths listed in the rustc dep-info file may or may not be absolute but we’ll want to consider all of them relative to the `root` specified.

The `rustc_cwd` argument is the absolute path to the cwd of the compiler when it was invoked.

If the `allow_package` argument is true, then package-relative paths are included. If it is false, then package-relative paths are skipped and ignored (typically used for registry or git dependencies where we assume the source never changes, and we don’t want the cost of running `stat` on all those files). See the module-level docs for the note about `-Zbinary-dep-depinfo` for more details on why this is done.

The serialized Cargo format will contain a list of files, all of which are relative if they’re under `root`. or absolute if they’re elsewhere.