Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build rust with rustpkg #2237

Closed
brson opened this issue Apr 19, 2012 · 15 comments
Closed

Build rust with rustpkg #2237

brson opened this issue Apr 19, 2012 · 15 comments
Labels
A-driver Area: rustc_driver that ties everything together into the `rustc` compiler C-enhancement Category: An issue proposing an enhancement or a PR with one. E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot.

Comments

@brson
Copy link
Contributor

brson commented Apr 19, 2012

As discussed in this week's meeting, let's rewrite our build system in Rust.

We made a good effort but the current Makefile-based system has collapsed into a black hole of endless macros and meta-programming. The first thing the build does is download a copy of rustc, so let's just use that to orchestrate the rest of the build.

This could make bootstrapping new architectures even more interesting, but we like to be on the bleeding edge.

@nikomatsakis
Copy link
Contributor

FWIW, I don't think it changes much for building on new architectures. Most of the build is still building rustc itself. To run our tests, we need to build the compiletest framework, which is in Rust. So, essentially, when doing the 64-bit port at least, I spent 75% of the time just getting rustc to build. it'll be the same on other architectures, I imagine.

@graydon
Copy link
Contributor

graydon commented Apr 19, 2012

My main hesitation on this is that we'll wind up snapshotting a lot more: any time we enhance the builder or fix a bug in it. Maybe we should track builder snapshots separately? The whole toolchain is not small.

(for that matter, tracking llvm snapshots separately from rustc might also be reasonable. Hm. Why aren't we just storing stage0 binaries in git?)

@brson
Copy link
Contributor Author

brson commented Apr 19, 2012

I don't think we need to snapshot the builder. The build shell script will use the stage0 rustc to build the builder, then the builder takes over.

@catamorphism
Copy link
Contributor

I milestoned this as 1.0, but let me know if you think that's too ambitious :-)

@graydon
Copy link
Contributor

graydon commented Apr 19, 2012

Ok, so we need to keep enough shell-and-make around to accomplish the download and compile-the-builder steps. Possible, yeah.

(I am still curious about whether it'd be reasonable to just store stage0 binaries in git. I'm not sure why we didn't do that in the first place.)

@graydon
Copy link
Contributor

graydon commented Sep 12, 2012

See also #2238. These tasks are, I think, related. Also both mine! so I will merge the bugs at my own leisure :)

@graydon
Copy link
Contributor

graydon commented Dec 21, 2012

@brson
Copy link
Contributor Author

brson commented Dec 21, 2012

@graydon we didn't do it by personal preference. I thought it was nice to bootstrap off the smallest possible set of files. I don't particularly agree with that decision any more.

@graydon
Copy link
Contributor

graydon commented Mar 25, 2013

non-critical for 0.6, de-milestoning

@graydon
Copy link
Contributor

graydon commented Apr 25, 2013

nominating for backwards-compatible milestone

@catamorphism
Copy link
Contributor

Re-titled to reflect that this is about making rustpkg build Rust, and re-assigning to myself.

We don't have an 0.8 milestone, but I'd like this to happen for 0.8.

@darnuria
Copy link
Contributor

(I make a tour of easy/interresting bug) And It seems this bug was resolved by design by dropping rustpkg no?

@brson
Copy link
Contributor Author

brson commented Feb 13, 2014

I think not since rust will have a package manager and we will want to dogfood it.

@reem
Copy link
Contributor

reem commented Jul 29, 2014

This issue has long since passed its relevance and should be replaced with an issue to build with cargo, if that's feasible.

@alexcrichton
Copy link
Member

I've opened a more specific issue for cargo: #16091

bors added a commit to rust-lang-ci/rust that referenced this issue Sep 22, 2022
add ICE error level

Fixes rust-lang/miri#2235

But I am not sure if anything else should be adjusted when adding a new error level...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-driver Area: rustc_driver that ties everything together into the `rustc` compiler C-enhancement Category: An issue proposing an enhancement or a PR with one. E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot.
Projects
None yet
Development

No branches or pull requests

7 participants