]> git.lizzy.rs Git - rust.git/commitdiff
rustbuild: allow configuring sysconfdir
authorMarc-Antoine Perennou <Marc-Antoine@Perennou.com>
Fri, 28 Apr 2017 09:03:58 +0000 (11:03 +0200)
committerMarc-Antoine Perennou <Marc-Antoine@Perennou.com>
Tue, 16 May 2017 06:21:27 +0000 (08:21 +0200)
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
src/bootstrap/config.rs
src/bootstrap/config.toml.example

index 28ff14ab30fe26c5a183c909ff94094c1fd91b89..0fb597564e33de15c2bc6defc8fd35273dfb43df 100644 (file)
@@ -99,6 +99,7 @@ pub struct Config {
     // Fallback musl-root for all targets
     pub musl_root: Option<PathBuf>,
     pub prefix: Option<PathBuf>,
+    pub sysconfdir: Option<PathBuf>,
     pub docdir: Option<PathBuf>,
     pub bindir: Option<PathBuf>,
     pub libdir: Option<PathBuf>,
@@ -166,6 +167,7 @@ struct Build {
 #[derive(RustcDecodable, Default, Clone)]
 struct Install {
     prefix: Option<String>,
+    sysconfdir: Option<String>,
     docdir: Option<String>,
     bindir: Option<String>,
     libdir: Option<String>,
@@ -317,6 +319,7 @@ pub fn parse(build: &str, file: Option<PathBuf>) -> 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 @@ macro_rules! check {
                 "CFG_PREFIX" => {
                     self.prefix = Some(PathBuf::from(value));
                 }
+                "CFG_SYSCONFDIR" => {
+                    self.sysconfdir = Some(PathBuf::from(value));
+                }
                 "CFG_DOCDIR" => {
                     self.docdir = Some(PathBuf::from(value));
                 }
index 57cafbaf28095b2e222992d0f66db73eacb28669..df180be4e27ab0836b6df75d4b939aeac3c4fe7d 100644 (file)
 # 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"