6 KiB
6 KiB
Changelog
All notable changes to bootstrap will be documented in this file.
The format is based on Keep a Changelog.
[Changes since the last major version]
- Vendoring is no longer done automatically when building from git sources. To use vendoring, run
cargo vendormanually, or use the pre-vendoredrustc-srctarball. llvm-libunwindnow acceptsin-tree(formerly true),systemorno(formerly false) #77703- The options
infodir,localstatedir, andgpg-password-fileare no longer allowed in config.toml. Previously, they were ignored without warning. Note thatinfodirandlocalstatedirare still accepted by./configure, with a warning. #82451 - Change the names for
distcommands to match the component they generate. #90684 - The
build.fast-submodulesoption has been removed. Fast submodule checkouts are enabled unconditionally. Automatic submodule handling can still be disabled withbuild.submodules = false. - Several unsupported
./configureoptions have been removed:optimize,parallel-compiler. These can still be enabled with--set, although it isn't recommended. remote-test-server'sverboseargument has been removed in favor of the--verboseflagremote-test-server'sremoteargument has been removed in favor of the--bindflag. Use--bind 0.0.0.0:12345to replicate the behavior of theremoteargument.x.py fmtnow formats only files modified between the merge-base of HEAD and the last commit in the master branch of the rust-lang repository and the current working directory. To restore old behaviour, usex.py fmt .. The check mode is not affected by this change. #105702- The
llvm.version-checkconfig option has been removed. Older versions were never supported. If you still need to support older versions (e.g. you are applying custom patches), patchcheck_llvm_versionin bootstrap to change the minimum version. #108619 - The
rust.ignore-gitoption has been renamed torust.omit-git-hash. #110059
Non-breaking changes
x.py checkneeds opt-in to check tests (--all-targets) #77473- The default bootstrap profiles are now located at
bootstrap/defaults/config.$PROFILE.toml(previously they were located atbootstrap/defaults/config.toml.$PROFILE) #77558 - If you have Rust already installed,
x.pywill now infer the host target from the default rust toolchain. #78513 - Add options for enabling overflow checks, one for std (
overflow-checks-std) and one for everything else (overflow-checks). Both default to false. - Add llvm option
enable-warningsto have control on llvm compilation warnings. Default to false. - Add
rpathoption intargetsection to support set rpath option for each target independently. #111242
[Version 2] - 2020-09-25
hostnow defaults to the value ofbuildin all cases- Previously
hostdefaulted to an empty list whentargetwas overridden, and tobuildotherwise
- Previously
Non-breaking changes
- Add
x.py setup#76631 - Add a changelog for x.py #76626
- Optionally, download LLVM from CI on Linux and NixOS. This can be enabled with
download-ci-llvm = trueunder[llvm]. - Distribute rustc sources as part of
rustc-dev#76856 - Make the default stage for x.py configurable #76625. This can be enabled with
build-stage = N,doc-stage = N, etc. - Add a dedicated debug-logging option #76588. Previously,
debug-loggingcould only be set withdebug-assertions, slowing down the compiler more than necessary. - Add sample defaults for x.py #76628
- Add
--keep-stage-std, which behaves likekeep-stagebut allows the stage 0 compiler artifacts (i.e., stage1/bin/rustc) to be rebuilt if changed #77120. - File locking is now used to avoid collisions between multiple running instances of
x.py(e.g. when usingrust-analyzerandx.pyat the same time). Note that Solaris and possibly other non Unix and non Windows systems don't support it #108607. This might possibly lead to build data corruption.
[Version 1] - 2020-09-11
This is the first changelog entry, and it does not attempt to be an exhaustive list of features in x.py. Instead, this documents the changes to bootstrap in the past 2 months.
- Improve defaults in
x.py#73964 (see blog post for details) - Set
ninja = trueby default #74922 - Avoid trying to inversely cross-compile for build triple from host triples #76415
- Allow blessing expect-tests in tools #75975
x.py checkchecks tests/examples/benches #76258- Fix
rust.use-lldwhen linker is not set #76326 - Build tests with LLD if
use-lld = truewas passed #76378