diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs index 28ff14ab30fe..0fb597564e33 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs @@ -99,6 +99,7 @@ pub struct Config { // Fallback musl-root for all targets pub musl_root: Option, pub prefix: Option, + pub sysconfdir: Option, pub docdir: Option, pub bindir: Option, pub libdir: Option, @@ -166,6 +167,7 @@ struct Build { #[derive(RustcDecodable, Default, Clone)] struct Install { prefix: Option, + sysconfdir: Option, docdir: Option, bindir: Option, libdir: Option, @@ -317,6 +319,7 @@ impl Config { if let Some(ref install) = toml.install { config.prefix = install.prefix.clone().map(PathBuf::from); + config.sysconfdir = install.sysconfdir.clone().map(PathBuf::from); config.docdir = install.docdir.clone().map(PathBuf::from); config.bindir = install.bindir.clone().map(PathBuf::from); config.libdir = install.libdir.clone().map(PathBuf::from); @@ -526,6 +529,9 @@ impl Config { "CFG_PREFIX" => { self.prefix = Some(PathBuf::from(value)); } + "CFG_SYSCONFDIR" => { + self.sysconfdir = Some(PathBuf::from(value)); + } "CFG_DOCDIR" => { self.docdir = Some(PathBuf::from(value)); } diff --git a/src/bootstrap/config.toml.example b/src/bootstrap/config.toml.example index 57cafbaf2809..df180be4e27a 100644 --- a/src/bootstrap/config.toml.example +++ b/src/bootstrap/config.toml.example @@ -160,6 +160,10 @@ # Instead of installing to /usr/local, install to this path instead. #prefix = "/usr/local" +# Where to install system configuration files +# If this is a relative path, it will get installed in `prefix` above +#sysconfdir = "/etc" + # Where to install documentation in `prefix` above #docdir = "share/doc/rust"