Whitelist containers that allow older toolchains

We'll use this as a temporary measure to get an LLVM update landed, but
we'll have to go through and update images later to make sure they've
got the right toolchains.
This commit is contained in:
Alex Crichton 2019-02-27 08:03:54 -08:00
parent c196097e58
commit 320640060f
4 changed files with 11 additions and 1 deletions

View file

@ -104,6 +104,8 @@
# The value specified here will be passed as `-DLLVM_USE_LINKER` to CMake.
#use-linker = "lld"
# Whether or not to specify `-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=YES`
#allow-old-toolchain = false
# =============================================================================
# General build configuration options

View file

@ -78,6 +78,7 @@ pub struct Config {
pub llvm_link_jobs: Option<u32>,
pub llvm_version_suffix: Option<String>,
pub llvm_use_linker: Option<String>,
pub llvm_allow_old_toolchain: Option<bool>,
pub lld_enabled: bool,
pub lldb_enabled: bool,
@ -263,6 +264,7 @@ struct Llvm {
ldflags: Option<String>,
use_libcxx: Option<bool>,
use_linker: Option<String>,
allow_old_toolchain: Option<bool>,
}
#[derive(Deserialize, Default, Clone)]
@ -530,6 +532,7 @@ pub fn parse(args: &[String]) -> Config {
config.llvm_ldflags = llvm.ldflags.clone();
set(&mut config.llvm_use_libcxx, llvm.use_libcxx);
config.llvm_use_linker = llvm.use_linker.clone();
config.llvm_allow_old_toolchain = llvm.allow_old_toolchain.clone();
}
if let Some(ref rust) = toml.rust {

View file

@ -238,6 +238,10 @@ fn run(self, builder: &Builder<'_>) -> PathBuf {
cfg.define("LLVM_USE_LINKER", linker);
}
if let Some(true) = builder.config.llvm_allow_old_toolchain {
cfg.define("LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN", "YES");
}
if let Some(ref python) = builder.config.python {
cfg.define("PYTHON_EXECUTABLE", python);
}

View file

@ -33,5 +33,6 @@ ENV \
ENV HOSTS=x86_64-unknown-netbsd
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs \
--set llvm.allow-old-toolchain
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS