about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2017-03-08 16:22:08 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2017-03-12 14:02:49 +0300
commit362aa9a317127014a81c8f414ef8b26aee6acfc0 (patch)
tree831282527a5271ada0cfa6fc51657cdfa55e75ea
parent9b8b3b2b0339bbae4aad139c5dad4b46410cd784 (diff)
downloadrust-362aa9a317127014a81c8f414ef8b26aee6acfc0.tar.gz
rust-362aa9a317127014a81c8f414ef8b26aee6acfc0.zip
Default llvm.clean-rebuild to false
-rwxr-xr-xconfigure1
-rw-r--r--src/bootstrap/config.rs2
-rw-r--r--src/bootstrap/config.toml.example8
-rwxr-xr-xsrc/ci/run.sh1
4 files changed, 6 insertions, 6 deletions
diff --git a/configure b/configure
index 9b34e214214..35b376d5f27 100755
--- a/configure
+++ b/configure
@@ -437,6 +437,7 @@ opt local-rust 0 "use an installed rustc rather than downloading a snapshot"
 opt local-rebuild 0 "assume local-rust matches the current version, for rebuilds; implies local-rust, and is implied if local-rust already matches the current version"
 opt llvm-static-stdcpp 0 "statically link to libstdc++ for LLVM"
 opt llvm-link-shared 0 "prefer shared linking to LLVM (llvm-config --link-shared)"
+opt llvm-clean-rebuild 0 "delete LLVM build directory on rebuild"
 opt rpath 1 "build rpaths into rustc itself"
 opt stage0-landing-pads 1 "enable landing pads during bootstrap with stage0"
 # This is used by the automation to produce single-target nightlies
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
index 4b79e4beb4b..dcd49c51e3a 100644
--- a/src/bootstrap/config.rs
+++ b/src/bootstrap/config.rs
@@ -243,7 +243,6 @@ impl Config {
     pub fn parse(build: &str, file: Option<PathBuf>) -> Config {
         let mut config = Config::default();
         config.llvm_optimize = true;
-        config.llvm_clean_rebuild = true;
         config.use_jemalloc = true;
         config.backtrace = true;
         config.rust_optimize = true;
@@ -443,6 +442,7 @@ impl Config {
                 ("LLVM_VERSION_CHECK", self.llvm_version_check),
                 ("LLVM_STATIC_STDCPP", self.llvm_static_stdcpp),
                 ("LLVM_LINK_SHARED", self.llvm_link_shared),
+                ("LLVM_CLEAN_REBUILD", self.llvm_clean_rebuild),
                 ("OPTIMIZE", self.rust_optimize),
                 ("DEBUG_ASSERTIONS", self.rust_debug_assertions),
                 ("DEBUGINFO", self.rust_debuginfo),
diff --git a/src/bootstrap/config.toml.example b/src/bootstrap/config.toml.example
index 4e4b11fdc11..5a00e90f370 100644
--- a/src/bootstrap/config.toml.example
+++ b/src/bootstrap/config.toml.example
@@ -62,11 +62,9 @@
 #link-jobs = 0
 
 # Delete LLVM build directory on LLVM rebuild.
-# This option's default (`true`) is optimized for CI needs, and CI wants to
-# perform clean full builds only (possibly accelerated by (s)ccache).
-# You may want to override this option for local builds to enable partial LLVM
-# rebuilds.
-#clean-rebuild = true
+# This option defaults to `false` for local development, but CI may want to
+# always perform clean full builds (possibly accelerated by (s)ccache).
+#clean-rebuild = false
 
 # =============================================================================
 # General build configuration options
diff --git a/src/ci/run.sh b/src/ci/run.sh
index 4c4836d7ca2..19bea9ced06 100755
--- a/src/ci/run.sh
+++ b/src/ci/run.sh
@@ -28,6 +28,7 @@ RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-quiet-tests"
 RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --disable-manage-submodules"
 RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-locked-deps"
 RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-cargo-openssl-static"
+RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-llvm-clean-rebuild"
 
 if [ "$DIST_SRC" = "" ]; then
   RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --disable-dist-src"