bootstrap/core/config/toml/
install.rs

1//! This module defines the `Install` struct, which represents the `[install]` table
2//! in the `bootstrap.toml` configuration file.
3//!
4//! The `[install]` table contains options that specify the installation paths
5//! for various components of the Rust toolchain. These paths determine where
6//! executables, libraries, documentation, and other files will be placed
7//! during the `install` stage of the build.
8
9use serde::{Deserialize, Deserializer};
10
11use crate::core::config::Merge;
12use crate::core::config::toml::ReplaceOpt;
13use crate::{HashSet, PathBuf, define_config, exit};
14
15define_config! {
16    /// TOML representation of various global install decisions.
17    #[derive(Default)]
18    struct Install {
19        prefix: Option<String> = "prefix",
20        sysconfdir: Option<String> = "sysconfdir",
21        docdir: Option<String> = "docdir",
22        bindir: Option<String> = "bindir",
23        libdir: Option<String> = "libdir",
24        mandir: Option<String> = "mandir",
25        datadir: Option<String> = "datadir",
26    }
27}