Skip to content

mk: Switch rustbuild to the default build system - #37817

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:rustbuild-default
Dec 7, 2016
Merged

mk: Switch rustbuild to the default build system #37817
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:rustbuild-default

Conversation

@alexcrichton

@alexcrichtonalexcrichton commented Nov 16, 2016

Copy link
Copy Markdown
Member

This commit switches the default build system for Rust from the makefiles to
rustbuild. The rustbuild build system has been in development for almost a year
now and has become quite mature over time. This commit is an implementation of
the proposal on internals which slates deletion of the makefiles on
2017-02-02.

This commit also updates various documentation in README.md,
CONTRIBUTING.md, src/bootstrap/README.md, and throughout the source code of
rustbuild itself.

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @aturon

(rust_highfive has picked a reviewer for you, use r? to override)

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

r? @brson

Note that this shouldn't be r+'d yet as I'd like to wait for appveyor/Travis to go green (trying to run all the builders there).

Also if there's any more requests for documentation anywhere, I'd be more than happy to oblige!

@rust-highfiverust-highfive assigned brson and unassigned aturonNov 16, 2016
Comment threadCONTRIBUTING.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I run x.py --help and it starts downloading something big from the internet instead of showing help.
I don't think this is an appropriate behavior.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tracked here: #37305

@petrochenkovpetrochenkov left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix #37305 before merging

Comment threadCONTRIBUTING.md Outdated

@petrochenkovpetrochenkovNov 17, 2016

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is bootstrap python3-compatible, btw? In case python defaults to 3. This is probably worth mentioning.
(Or build fails in some other way if python == python3, but python2 is still available? I don't remember exactly.)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes all the Python code in Rust repo is Py3k-compatible AFAIK, which is not so much btw. The whole Python 2-only thing in README is outdated actually.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last I heard, Python 2 was only necessary for LLVM.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@retep998 Yeah you're right, there is this which means precisely Python 2.7.x is required, but rustbuild itself isn't limited to that. Which means compilation will only fail on systems with no Python 2.x at all due to LLVM, but should be fine otherwise.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK bootstrap.py is fully compatible, and then later version detection happens in rustbuild itself.

Comment threadconfigure Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for a silly question, but is the date in standard format (2 January) or in Freedom Units (1 February)?.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just commented on the internals thread -- I think it should actually be February 2nd.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In any case, the year is wrong. (In the PR description, too)

Comment threadsrc/bootstrap/lib.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you document explicit parallelizing with -jN somewhere as well?

Comment threadconfigure Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*2017

Comment threadCONTRIBUTING.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically you can also use a different short version on Windows if you have .py files associated with Python. x.py build in cmd and .\x.py build in powershell.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And MSYS2 is just "Unix-based" enough to see the shebang :D

Comment threadREADME.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This prompt is supposed to be cmd.exe according to the above paragraph, so using $ is incorrect here.

Comment threadCONTRIBUTING.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*is itself

Comment threadsrc/bootstrap/lib.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*complicated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tho it is also pretty compile-cated

Comment threadsrc/bootstrap/step.rs Outdated

@pitdickerpitdickerNov 17, 2016

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*compiled (I guess) line 77

Comment threadsrc/bootstrap/lib.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*perform on. Rustbuild is made up of

Just a suggestion 'of of' reads a bit difficult

Comment threadsrc/bootstrap/lib.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*For each step Rustbuild relies on the step to be internally incremental and also to be internally parallelizing.

@alexcrichton
alexcrichtonforce-pushed the rustbuild-default branch 2 times, most recently from 8204cb4 to b92e513CompareNovember 17, 2016 15:22
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@petrochenkov can you elaborate on why you think #37305 is a blocker for landing this PR? I unfortunately don't see any path forward to solving it, so any opinions on how to solve it would also be greatly appreciated!

@bors

bors commented Dec 4, 2016

Copy link
Copy Markdown
Collaborator

💔 Test failed - auto-linux-musl-64-opt

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@bors: r=brson

@bors

bors commented Dec 5, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 4755f95 has been approved by brson

@bors

bors commented Dec 5, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 4755f95 with merge 0ae2037...

@bors

bors commented Dec 5, 2016

Copy link
Copy Markdown
Collaborator

💔 Test failed - auto-linux-64-x-android-t

@bors

bors commented Dec 5, 2016

Copy link
Copy Markdown
Collaborator

☔ The latest upstream changes (presumably #38100) made this pull request unmergeable. Please resolve the merge conflicts.

This commit switches the default build system for Rust from the makefiles to
rustbuild. The rustbuild build system has been in development for almost a year
now and has become quite mature over time. This commit is an implementation of
the proposal on [internals] which slates deletion of the makefiles on
2016-01-02.
[internals]: https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368
This commit also updates various documentation in `README.md`,
`CONTRIBUTING.md`, `src/bootstrap/README.md`, and throughout the source code of
rustbuild itself.
Closesrust-lang#37858
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

@bors: r=brson

@bors

bors commented Dec 7, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 0e272de has been approved by brson

@bors

bors commented Dec 7, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 0e272de with merge 7846610...

bors added a commit that referenced this pull request Dec 7, 2016
mk: Switch rustbuild to the default build system
This commit switches the default build system for Rust from the makefiles to
rustbuild. The rustbuild build system has been in development for almost a year
now and has become quite mature over time. This commit is an implementation of
the proposal on [internals] which slates deletion of the makefiles on
2017-02-02.
[internals]: https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368
This commit also updates various documentation in `README.md`,
`CONTRIBUTING.md`, `src/bootstrap/README.md`, and throughout the source code of
rustbuild itself.
@bors

bors commented Dec 7, 2016

Copy link
Copy Markdown
Collaborator

@frewsxcv

Copy link
Copy Markdown
Contributor

It looks like Travis started failing everything after this pull request merged.

@alexcrichton
alexcrichton deleted the rustbuild-default branch December 19, 2016 20:45
frewsxcv added a commit to frewsxcv/rust that referenced this pull request Feb 5, 2017
…rson
Delete the makefile build system
This PR deletes the makefile build system in favor of the rustbuild build system. The beta has now been branched so 1.16 will continue to be buildable from the makefiles, but going forward 1.17 will only be buildable with rustbuild.
Rustbuild has been the default build system [since 1.15.0](rust-lang#37817) and the makefiles were [proposed for deletion](https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368) at this time back in November of last year.
And now with the deletion of these makefiles we can start getting those sweet sweet improvements of using crates.io crates in the compiler!
bors added a commit that referenced this pull request Feb 5, 2017
Delete the makefile build system
This PR deletes the makefile build system in favor of the rustbuild build system. The beta has now been branched so 1.16 will continue to be buildable from the makefiles, but going forward 1.17 will only be buildable with rustbuild.
Rustbuild has been the default build system [since 1.15.0](#37817) and the makefiles were [proposed for deletion](https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368) at this time back in November of last year.
And now with the deletion of these makefiles we can start getting those sweet sweet improvements of using crates.io crates in the compiler!
frewsxcv added a commit to frewsxcv/rust that referenced this pull request Feb 7, 2017
…rson
Delete the makefile build system
This PR deletes the makefile build system in favor of the rustbuild build system. The beta has now been branched so 1.16 will continue to be buildable from the makefiles, but going forward 1.17 will only be buildable with rustbuild.
Rustbuild has been the default build system [since 1.15.0](rust-lang#37817) and the makefiles were [proposed for deletion](https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368) at this time back in November of last year.
And now with the deletion of these makefiles we can start getting those sweet sweet improvements of using crates.io crates in the compiler!
frewsxcv added a commit to frewsxcv/rust that referenced this pull request Feb 8, 2017
…rson
Delete the makefile build system
This PR deletes the makefile build system in favor of the rustbuild build system. The beta has now been branched so 1.16 will continue to be buildable from the makefiles, but going forward 1.17 will only be buildable with rustbuild.
Rustbuild has been the default build system [since 1.15.0](rust-lang#37817) and the makefiles were [proposed for deletion](https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368) at this time back in November of last year.
And now with the deletion of these makefiles we can start getting those sweet sweet improvements of using crates.io crates in the compiler!
frewsxcv added a commit to frewsxcv/rust that referenced this pull request Feb 8, 2017
…rson
Delete the makefile build system
This PR deletes the makefile build system in favor of the rustbuild build system. The beta has now been branched so 1.16 will continue to be buildable from the makefiles, but going forward 1.17 will only be buildable with rustbuild.
Rustbuild has been the default build system [since 1.15.0](rust-lang#37817) and the makefiles were [proposed for deletion](https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368) at this time back in November of last year.
And now with the deletion of these makefiles we can start getting those sweet sweet improvements of using crates.io crates in the compiler!
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

14 participants

@alexcrichton@rust-highfive@bors@brson@frewsxcv@badboy@fbstj@cuviper@retep998@xen0n@hanna-kruppe@petrochenkov@pitdicker@aturon