Commit graph

111 commits

Author SHA1 Message Date
Alex Crichton 0e272de69f 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
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.

Closes #37858
2016-12-07 00:30:23 -08:00
Alex Crichton a270b8014c rustbuild: Rewrite user-facing interface
This commit is a rewrite of the user-facing interface to the rustbuild build
system. The intention here is to make it much easier to compile/test the project
without having to remember weird rule names and such. An overall view of the new
interface is:

    # build everything
    ./x.py build

    # document everyting
    ./x.py doc

    # test everything
    ./x.py test

    # test libstd
    ./x.py test src/libstd

    # build libcore stage0
    ./x.py build src/libcore --stage 0

    # run stage1 run-pass tests
    ./x.py test src/test/run-pass --stage 1

The `src/bootstrap/bootstrap.py` script is now aliased as a top-level `x.py`
script. This `x` was chosen to be both short and easily tab-completable (no
collisions in that namespace!). The build system now accepts a "subcommand" of
what to do next, the main ones being build/doc/test.

Each subcommand then receives an optional list of arguments. These arguments are
paths in the source repo of what to work with. That is, if you want to test a
directory, you just pass that directory as an argument.

The purpose of this rewrite is to do away with all of the arcane renames like
"rpass" is the "run-pass" suite, "cfail" is the "compile-fail" suite, etc. By
simply working with directories and files it's much more intuitive of how to run
a test (just pass it as an argument).

The rustbuild step/dependency management was also rewritten along the way to
make this easy to work with and define, but that's largely just a refactoring of
what was there before.

The *intention* is that this support is extended for arbitrary files (e.g.
`src/test/run-pass/my-test-case.rs`), but that isn't quite implemented just yet.
Instead directories work for now but we can follow up with stricter path
filtering logic to plumb through all the arguments.
2016-11-02 17:57:28 -07:00
Danny Hua 2ebef83f52 add (missing) tar to list of packages to get under mingw 2016-10-13 19:38:49 -07:00
c4rlo 66ae481055 README.md: fix a "\" in table heading to be "/" 2016-09-01 22:42:51 +01:00
Neil Williams 4254b31078 Update minimum CMake version in README
The minimum got bumped in the LLVM upgrade of #34743.
2016-08-16 21:30:17 -07:00
Alex Crichton b67f23c847 Clarify rustbuild + msvc + vcvars in README
The invocation of vcvars is only needed for versions of Visual Studio that
rustbuild or cmake doesn't understand, but if older versions are installed then
there's no need to call vcvars.

Closes #34576
2016-07-07 09:34:46 -07:00
bors 20183f498f Auto merge of #34504 - retep998:patch-1, r=alexcrichton
Instructions on how to build Rust with rustbuild

This is a much simpler option for those on Windows who use msvc.
2016-07-03 05:02:51 -07:00
Peter Atashian be43c654b3
Instructions on how to build Rust with rustbuild
This is a much simpler option for those on Windows who use msvc.

Signed-off-by: Peter Atashian <retep998@gmail.com>
2016-07-02 06:50:35 -04:00
bors 8a50e295fa Auto merge of #34611 - Manishearth:rollup, r=Manishearth
Rollup of 7 pull requests

- Successful merges: #34531, #34545, #34551, #34566, #34567, #34574, #34583
- Failed merges:
2016-07-02 03:18:59 -07:00
Joachim Viide b18ed5b221 Fix README.md command consistency
The ./configure command in README.md's Building Documentation section was
missing the $ prefix. Add the prefix to be consistent with other commands in the
document.
2016-06-30 16:15:17 +03:00
Alex Crichton cb74a5874f configure: Check for valid Python on MinGW as well
The LLVM build system is somewhat picky about which Python is used to build it
as it's known to be incompatible with the default `python2` package that ships
with MinGW. This was previously detected for MSVC builds but the logic was left
out for MinGW by accident (now that we've switched to cmake builds for LLVM
everywhere).

This corrects the `./configure` check and also updates the `README.md`
accordingly. Additionally, a number of instructions were updated to work with
the most recent copy of MSYS2.

Closes #34489
2016-06-27 18:14:54 -07:00
Brian Anderson 59db95b499 Convert makefiles to build LLVM/compiler-rt with CMake 2016-06-21 19:54:28 -07:00
Seo Sanghyeon 633b2597cc Rollup merge of #34184 - euclio:patch-1, r=steveklabnik
fix indentation in README
2016-06-10 21:16:46 +09:00
Andy Russell 300a5d7d71 fix indentation in README 2016-06-09 16:12:12 -04:00
Morten H. Solvang d592675de6 Updated README to account for changes in MSYS2
One of the newest versions of MSYS2 now only has one .cmd file which replaces the old bat files. It has to be used to launch the mingw32/64 shell.
2016-06-08 11:27:31 +02:00
Demetri Obenour 08207c9b52 Note that later versions of G++ are okay
G++ 4.7 is the minimum requirement, but later versions are also okay.
2016-04-30 17:21:18 -04:00
David AO Lozano c233f2ee29 Adding #rust-beginners to README and pointing the two channels on getting-started 2016-03-31 02:49:05 -06:00
Vadim Petrochenkov 90474c7930 Correct Windows build instructions in README.md
http://mingw-w64.org/doku.php/download/mingw-builds now provides GCC 5.x as a default version, but avoiding 5.x is exactly the reason why Mingw-builds is recommended instead of MSYS2's own mingw toolchain. One of the 4.9.x versions has to manually chosen during installation.
2016-03-20 23:36:48 +03:00
John Talling aac9454505 Add note about avoiding spaces in MinGW install path
Using spaces in the install path causes the issue in #31293.
2016-03-05 14:10:25 +01:00
Robin Kruppe 999051dbe3 configure: require Python 2.7
In other words, enforce what was documented in #30626 (and also stop blaming it on LLVM, we have at least one Python script of our own).

Also, there is no Python later than 2.7 and there never will be.
2016-02-13 22:20:42 +01:00
Andrew Barchuk 1339ca9bf2 Fix link to Installing Rust section of the book 2016-01-29 10:45:37 +01:00
Joshua Olson 797e6fc41b added link for issue mentioned in readme
‌ ‌ ▲
▲‌ ▲
2016-01-15 20:50:03 -07:00
Manish Goregaokar 40f06b4bb1 Rollup merge of #30626 - steveklabnik:gh30618, r=luqmana
Fixes #30618
2016-01-14 11:04:39 +05:30
Steve Klabnik 011a23e8bc Update MinGW details in the README
Fixes #29649
2016-01-05 11:36:15 -05:00
Steve Klabnik cf23dae2ee We actually require python 2.7
Fixes #30618
2015-12-29 17:44:30 -05:00
petevine 5294f2080b README.md - RAM requirement on 32-bit *nix
Running `/usr/bin/time -v make` to build rust (using local llvm) shows the maximum memory usage at 715 megabytes on 32-bit x86 (on arm linux it's even less @ 580M).

Reworded according to @brson's input.
2015-12-07 01:12:53 +01:00
Brian Anderson 7793829877 Redo the README intro again 2015-11-09 13:32:30 -08:00
Vadim Chugunov 363deb0864 Formatting 2015-11-01 16:24:51 -08:00
Vadim Chugunov ab10cb7443 Clarify Windows gcc setup instructions. 2015-11-01 12:41:32 -08:00
bors 0be1bcd06a Auto merge of #29229 - SingingTree:reflect_28260_in_readme, r=alexcrichton
This PR adds a note to the end of the Windows build instructions to reflect the issues detailed in #28260, as well as a work around using older versions of gcc. I've avoided going into detail as I did not wish to bloat the README, and so that the changes are easy to yank once the issue is resolved.
2015-10-24 23:19:14 +00:00
Bryce Van Dyk a17d77b7f2 Reference #28260 in the README 2015-10-24 13:13:01 +13:00
Bryce Van Dyk ee24add8a0 Update readme to reflect #28260 and a workaround 2015-10-22 21:52:17 +13:00
Bryce Van Dyk 3ed49ef6f3 Add example to install git in MSYS2 2015-10-20 21:02:19 +13:00
Carlos Liam f9d056f1b7 Clean whitespace
Remove leading newlines; replace lines containing only whitespace with empty lines; replace multiple trailing newlines with a single newline; remove trailing whitespace in lines
2015-10-19 11:16:31 -04:00
Carlos Liam 3967e1c940 Clean newlines 2015-10-06 11:14:11 -04:00
Jake Shadle 7ab8ed84fd Update README.md
Use suggested composite command instead of 2 separate commands.
2015-08-28 20:24:13 +02:00
Jake Shadle 371c0ead1f Update README.md
Folded in suggestion from @brson to simply put the mirror update step in the regular set of tool chain install commands.
2015-08-28 09:46:23 +02:00
Jake Shadle 10d3873fb5 Update README.md
Encountered an issue going through the guide for installing the `mingw` toolchain on Windows with msys2, after some googling I found the [solution](https://github.com/Alexpux/MSYS2-packages/issues/163#issuecomment-73555971) and thought it would be good to update the README so people don't get frustrated. :)
2015-08-27 17:00:06 +02:00
Steve Klabnik fd53ea28d8 Add notes about building documentation to the README.
Fixes #27632
2015-08-18 13:49:20 -04:00
Eli Friedman bbbfed2f93 Use https URLs to refer to rust-lang.org where appropriate.
Also fixes a few outdated links.
2015-08-09 14:28:46 -07:00
Kagami Sascha Rosylight f24089cfd1 MYSY2 -> MSYS2 2015-07-03 17:16:13 +09:00
Steve Klabnik 9d641316f1 Rollup merge of #26373 - tshepang:patch-2, r=steveklabnik 2015-06-30 15:37:44 -04:00
Tshepang Lekhonkhobe a8680deb7f README: improve description of Rust 2015-06-18 23:48:51 +02:00
Tshepang Lekhonkhobe 1cf6a82038 README: make it clear rustc is the compiler 2015-06-17 22:13:37 +02:00
Nick Hamann 74f1818608 Update README
Tries to make the introductory portion of the README flow better.
2015-05-15 00:43:40 -05:00
Richo Healey 6f3701d604 readme: Rework the arch support matrix 2015-05-12 09:31:44 -07:00
Tamir Duberstein f5765793b6 Strip trailing whitespace 2015-03-15 11:25:43 -07:00
Daniel Lobato García 13d5e5712a Link README to license & copyright files
A minor change to avoid making the reader think 'where is this'.
2015-03-08 23:37:23 +02:00
Kevin Yap 24fa6be7c6 Miscellaneous README changes
- Various grammatical changes.
- Use triple-backtick syntax and sh highlighting for code blocks.
- Fix indentation of code block in step 2 of "Building on Windows".
- Use title case for "Getting Help" subheading.
2015-02-21 23:40:09 -08:00
Brian Anderson c273571bfd Remove mention of wiki from README 2015-02-18 13:48:46 -08:00