Commit Graph

65 Commits

Author SHA1 Message Date
Jonas Schievink
f53f9a88f1 Bump the bootstrap compiler 2020-03-15 19:43:25 +01:00
Matthias Krüger
10b814608b nightly: bootstrap from 1.42.0-beta.5 (4e1c5f0e9 2020-02-28)
This beta snapshot has the llvm miscompilation fix included and is bootstrapped from the stable version that also has it included.
2020-02-29 11:44:09 +01:00
Mark Rousskov
ff95473b5e Bump rustfmt and stage0 2020-01-31 12:31:09 -05:00
Mark Rousskov
dddd872427 Implement rustfmt running manually using ignore crate
This replaces cargo-fmt with rustfmt with --skip-children which should
allow us to format code without running into rust-lang/rustfmt#3930.

This also bumps up the version of rustfmt used to a more recent one.
2019-12-21 20:23:55 -05:00
Adam Perry
72a844dee7 bootstrap.py fetches rustfmt.
Co-Authored-By: Mark Rousskov <mark.simulacrum@gmail.com>
2019-12-21 20:23:39 -05:00
Mark Rousskov
6a400ee149 Bump stage0 2019-12-18 11:51:31 -05:00
Mark Rousskov
f4edc81ac4 Bump version to 1.41 2019-11-12 16:36:57 -05:00
Mark Rousskov
1a4e4d937e Switch version to 1.40 2019-09-25 08:20:32 -04:00
Mark Rousskov
e9b3a01764 Bump to 1.39 2019-08-13 07:16:04 -04:00
git-iso
f48ee09f04
Update stage0.txt
Fix columns.
2019-07-23 11:07:06 -04:00
git-iso
1ed375c689
Update stage0.txt
Grammar.
2019-07-22 23:30:21 -04:00
Mark Rousskov
8a7dded1a2 Switch master to 1.38 2019-07-04 11:26:57 -04:00
Pietro Albini
924cdd4532
bump nightly to 1.37.0 2019-05-23 12:27:58 +02:00
Mazdak Farrokhzad
6a1ca0ba17 bump bootstrap => 2019-04-11 2019-04-17 05:15:00 +02:00
Mazdak Farrokhzad
750983d356 bump bootstrap => 2019-03-20 2019-03-26 09:53:47 +01:00
Mark Rousskov
2870015b7b Bootstrap compiler update for 1.35 release 2019-03-02 09:05:34 -07:00
Jonas Schievink
1a0d800ef6 Bump the bootstrap compiler 2019-02-17 18:14:32 +01:00
Mark Rousskov
b7f030e114 Bump bootstrap compiler to 1.33 beta 2019-01-26 08:02:08 -07:00
Pietro Albini
d158ef64e8
Revert "Auto merge of #57670 - rust-lang:beta-next, r=Mark-Simulacrum"
This reverts commit 722b4d6959, reversing
changes made to 956dba47d3.
2019-01-17 10:48:10 +01:00
Pietro Albini
dc25c80571
prepare beta 1.33.0 2019-01-16 17:22:51 +01:00
Eric Huss
2b6caccd76 Bump stage0 2019-01-04 07:30:20 -08:00
Alex Crichton
cf47a19305 Bump to 1.33.0
* Update bootstrap compiler
* Update version to 1.33.0
* Remove some `#[cfg(stage0)]` annotations

Actually updating the version number is blocked on updating Cargo
2018-12-12 08:09:26 -08:00
Alex Crichton
4c21a3bc2a std: Depend directly on crates.io crates
Ever since we added a Cargo-based build system for the compiler the
standard library has always been a little special, it's never been able
to depend on crates.io crates for runtime dependencies. This has been a
result of various limitations, namely that Cargo doesn't understand that
crates from crates.io depend on libcore, so Cargo tries to build crates
before libcore is finished.

I had an idea this afternoon, however, which lifts the strategy
from #52919 to directly depend on crates.io crates from the standard
library. After all is said and done this removes a whopping three
submodules that we need to manage!

The basic idea here is that for any crate `std` depends on it adds an
*optional* dependency on an empty crate on crates.io, in this case named
`rustc-std-workspace-core`. This crate is overridden via `[patch]` in
this repository to point to a local crate we write, and *that* has a
`path` dependency on libcore.

Note that all `no_std` crates also depend on `compiler_builtins`, but if
we're not using submodules we can publish `compiler_builtins` to
crates.io and all crates can depend on it anyway! The basic strategy
then looks like:

* The standard library (or some transitive dep) decides to depend on a
  crate `foo`.
* The standard library adds

  ```toml
  [dependencies]
  foo = { version = "0.1", features = ['rustc-dep-of-std'] }
  ```
* The crate `foo` has an optional dependency on `rustc-std-workspace-core`
* The crate `foo` has an optional dependency on `compiler_builtins`
* The crate `foo` has a feature `rustc-dep-of-std` which activates these
  crates and any other necessary infrastructure in the crate.

A sample commit for `dlmalloc` [turns out to be quite simple][commit].
After that all `no_std` crates should largely build "as is" and still be
publishable on crates.io! Notably they should be able to continue to use
stable Rust if necessary, since the `rename-dependency` feature of Cargo
is soon stabilizing.

As a proof of concept, this commit removes the `dlmalloc`,
`libcompiler_builtins`, and `libc` submodules from this repository. Long
thorns in our side these are now gone for good and we can directly
depend on crates.io! It's hoped that in the long term we can bring in
other crates as necessary, but for now this is largely intended to
simply make it easier to manage these crates and remove submodules.

This should be a transparent non-breaking change for all users, but one
possible stickler is that this almost for sure breaks out-of-tree
`std`-building tools like `xargo` and `cargo-xbuild`. I think it should
be relatively easy to get them working, however, as all that's needed is
an entry in the `[patch]` section used to build the standard library.
Hopefully we can work with these tools to solve this problem!

[commit]: 28ee12db81
2018-12-11 21:08:22 -08:00
Alex Crichton
d0060d72e5 Bump nightly to 1.32.0
* Also update the bootstrap compiler
* Update cargo to 1.32.0
* Clean out stage0 annotations
2018-10-31 11:53:50 -07:00
Matthias Krüger
2cdd9f8e52 bump bootstrap compiler to rustc beta 2018-10-13
beta was switched to bootstrap from stable 1.29.2 since 1.29.2 got the aliasing bug workaround.
For extra sanity we should probably bootstrap from a beta that was built with these fixed appied in the host compiler.
2018-10-14 00:52:47 +02:00
Josh Stone
ce034951fb Bump to 1.31.0 and bootstrap from 1.30 beta 2018-09-27 20:52:53 -07:00
James Duley
dfd04e1eb4 Update stage0 to latest beta
Fixes bootstrap on AArch64
2018-09-11 17:14:08 +01:00
Mark Rousskov
683a3db01f Switch to bootstrapping from 1.29 beta 2018-08-01 11:59:08 -06:00
Pietro Albini
69e5222686
bump bootstrap compiler to beta-2018-07-27 2018-07-27 12:24:17 +02:00
Pietro Albini
04d31df71d
Bump bootstrap compiler to 1.28.0-beta.10 2018-07-13 19:33:48 +02:00
Mark Simulacrum
ad97f8b491 Bootstrap from 1.28.0-beta.3 2018-06-30 13:17:49 -07:00
Mark Simulacrum
43557fc8f9 Revert "Auto merge of #51662 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum"
This reverts commit fff1abadd7, reversing
changes made to 01172a7d13.
2018-06-21 06:53:26 -06:00
Mark Simulacrum
842a9061ea [beta] Prepare 1.28.0 beta release 2018-06-20 07:48:06 -06:00
Mark Simulacrum
9e3432447a Switch to 1.26 bootstrap compiler 2018-05-17 08:47:25 -06:00
Michael Woerister
a95bff3ed4 Bump bootstrap compiler to 2018-04-24 2018-04-25 15:57:33 +02:00
Alex Crichton
8958815916 Bump the bootstrap compiler to 1.26.0 beta
Holy cow that's a lot of `cfg(stage0)` removed and a lot of new stable language
features!
2018-04-05 07:13:45 -07:00
Bryan Drewery
57c74c3981 Update beta to version with fixed FreeBSD support from #49023.
Fixes #42681
2018-03-19 12:40:42 -07:00
Mark Simulacrum
24b485b918 Bootstrap from the 1.25 beta 2018-02-20 08:52:33 -07:00
Alex Crichton
53fd0c50d8 Bump to 1.25.0
* Bump the release version to 1.25
* Bump the bootstrap compiler to the recent beta
* Allow using unstable rustdoc features on beta - this fix has been applied to
  the beta branch but needed to go to the master branch as well.
2018-01-04 07:21:22 -08:00
Alex Crichton
a850bb0e5d Update bootstrap compiler
Also remove a number of `stage0` annotations and such
2017-11-29 21:11:20 -08:00
Alex Crichton
ca18537197 Bump to 1.23 and update bootstrap
This commit updates the bootstrap compiler, bumps the version to 1.23, updates
Cargo, updates books, and updates crates.io dependencies
2017-10-26 13:59:18 -07:00
Alex Crichton
9b9de27101 Bump to 1.22.0 2017-08-31 06:58:58 -07:00
Alex Crichton
2972687d10 Update bootstrap compiler
This commit updates the bootstrap compiler and clears out a number
of #[cfg(stage0)] annotations and related business
2017-08-31 06:58:58 -07:00
Alex Crichton
9010567dcc Bump master to 1.21.0
This commit bumps the master branch's version to 1.21.0 and also updates the
bootstrap compiler from the freshly minted beta release.
2017-07-25 07:03:19 -07:00
Alex Crichton
be7ebdd512 Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
Alex Crichton
5daf557a77 Update stage0 bootstrap compiler
We've got a freshly minted beta compiler, let's update to use that on nightly!
This has a few other changes associated with it as well

* A bump to the rustc version number (to 1.19.0)
* Movement of the `cargo` and `rls` submodules to their "proper" location in
  `src/tools/{cargo,rls}`. Now that Cargo workspaces support the `exclude`
  option this can work.
* Updates of the `cargo` and `rls` submodules to their master branches.
* Tweak to the `src/stage0.txt` format to be more amenable for Cargo version
  numbers. On the beta channel Cargo will bootstrap from a different version
  than rustc (e.g. the version numbers are different), so we need different
  configuration for this.
* Addition of `dev` as a readable key in the `src/stage0.txt` format. If present
  then stage0 compilers are downloaded from `dev-static.rust-lang.org` instead
  of `static.rust-lang.org`. This is added to accomodate our updated release
  process with Travis and AppVeyor.
2017-04-29 12:11:14 -07:00
Josh Stone
0a69bf4cdd Bump stage0 to fix ARM LLVM
There was a serious ARM codegen bug in LLVM that was fixed by #40779,
also backported to beta.  This updates stage0 to 1.17.0-beta.3 to pick
up that change, so ARM can bootstrap natively again.

Fixes #41291
cc @arielb1
2017-04-18 08:57:56 -07:00
Alex Crichton
c033942925 rustbuild: Update bootstrap compiler
Now that we've also updated cargo's release process this commit also changes the
download location of Cargo from Cargos archives back to the static.r-l.o
archives. This should ensure that the Cargo download is the exact Cargo paired
with the rustc that we release.
2017-03-29 08:55:15 -07:00
Alex Crichton
3be02fc410 rustbuild: Use copies instead of hard links
The original motivation for hard links was to speed up the various stages of
rustbuild, but in the end this is causing problems on Windows (#39504).

This commit tweaks the build system to use copies instead of hard links
unconditionally to ensure that the files accessed by Windows are always
disjoint.

Locally this added .3s to a noop build, so it shouldn't be too much of a
regression hopefully!
2017-03-09 07:00:13 -08:00
Alex Crichton
626e754473 Bump version, upgrade bootstrap
This commit updates the version number to 1.17.0 as we're not on that version of
the nightly compiler, and at the same time this updates src/stage0.txt to
bootstrap from freshly minted beta compiler and beta Cargo.
2017-02-03 13:25:46 -08:00