diff --git a/config.toml.example b/config.toml.example index d4a77bb2960..9121d1e1799 100644 --- a/config.toml.example +++ b/config.toml.example @@ -84,8 +84,9 @@ #link-shared = false # When building llvm, this configures what is being appended to the version. -# If absent, we let the version as-is. -#version-suffix = "-rust" +# The default is "-rust-$version-$channel", except for dev channel where rustc +# version number is omitted. To use LLVM version as is, provide an empty string. +#version-suffix = "-rust-dev" # On MSVC you can compile LLVM with clang-cl, but the test suite doesn't pass # with clang-cl, so this is special in that it only compiles LLVM with clang-cl diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs index d4d66abd520..1e380a20629 100644 --- a/src/bootstrap/native.rs +++ b/src/bootstrap/native.rs @@ -235,10 +235,14 @@ impl Step for Llvm { if !suffix.is_empty() { cfg.define("LLVM_VERSION_SUFFIX", suffix); } + } else if builder.config.channel == "dev" { + // Changes to a version suffix require a complete rebuild of the LLVM. + // To avoid rebuilds during a time of version bump, don't include rustc + // release number on the dev channel. + cfg.define("LLVM_VERSION_SUFFIX", "-rust-dev"); } else { - let default_suffix = - format!("-rust-{}-{}", channel::CFG_RELEASE_NUM, builder.config.channel); - cfg.define("LLVM_VERSION_SUFFIX", default_suffix); + let suffix = format!("-rust-{}-{}", channel::CFG_RELEASE_NUM, builder.config.channel); + cfg.define("LLVM_VERSION_SUFFIX", suffix); } if let Some(ref linker) = builder.config.llvm_use_linker {