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}