summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2016-11-16 12:31:19 -0800
committerAlex Crichton <alex@alexcrichton.com>2016-12-07 00:30:23 -0800
commit0e272de69f4a9c889e5f1a024a88b3e1f60cb6c5 (patch)
tree562faa1f54ff105d8b3e2ad6f64ab1efb5be4648 /README.md
parentAuto merge of #38144 - clarcharr:redundant, r=alexcrichton (diff)
downloadgrust-0e272de69f4a9c889e5f1a024a88b3e1f60cb6c5.tar.gz
grust-0e272de69f4a9c889e5f1a024a88b3e1f60cb6c5.tar.bz2
grust-0e272de69f4a9c889e5f1a024a88b3e1f60cb6c5.tar.xz
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
Diffstat (limited to 'README.md')
-rw-r--r--README.md46
1 files changed, 13 insertions, 33 deletions
diff --git a/README.md b/README.md
index 7360651095..2133b17de0 100644
--- a/README.md
+++ b/README.md
@@ -36,16 +36,14 @@ Read ["Installing Rust"] from [The Book].
36 36
37 ```sh 37 ```sh
38 $ ./configure 38 $ ./configure
39 $ make && make install 39 $ make && sudo make install
40 ``` 40 ```
41 41
42 > ***Note:*** You may need to use `sudo make install` if you do not 42 > ***Note:*** Install locations can be adjusted by passing a `--prefix`
43 > normally have permission to modify the destination directory. The 43 > argument to `configure`. Various other options are also supported – pass
44 > install locations can be adjusted by passing a `--prefix` argument
45 > to `configure`. Various other options are also supported – pass
46 > `--help` for more information on them. 44 > `--help` for more information on them.
47 45
48 When complete, `make install` will place several programs into 46 When complete, `sudo make install` will place several programs into
49 `/usr/local/bin`: `rustc`, the Rust compiler, and `rustdoc`, the 47 `/usr/local/bin`: `rustc`, the Rust compiler, and `rustdoc`, the
50 API-documentation tool. This install does not include [Cargo], 48 API-documentation tool. This install does not include [Cargo],
51 Rust's package manager, which you may also want to build. 49 Rust's package manager, which you may also want to build.
@@ -108,30 +106,22 @@ MSVC builds of Rust additionally require an installation of Visual Studio 2013
108(or later) so `rustc` can use its linker. Make sure to check the “C++ tools” 106(or later) so `rustc` can use its linker. Make sure to check the “C++ tools”
109option. 107option.
110 108
111With these dependencies installed, the build takes two steps: 109With these dependencies installed, you can build the compiler in a `cmd.exe`
110shell with:
112 111
113```sh 112```sh
114$ ./configure 113> python x.py build
115$ make && make install
116``` 114```
117 115
118#### MSVC with rustbuild 116If you're running inside of an msys shell, however, you can run:
119
120The old build system, based on makefiles, is currently being rewritten into a
121Rust-based build system called rustbuild. This can be used to bootstrap the
122compiler on MSVC without needing to install MSYS or MinGW. All you need are
123[Python 2](https://www.python.org/downloads/),
124[CMake](https://cmake.org/download/), and
125[Git](https://git-scm.com/downloads) in your PATH (make sure you do not use the
126ones from MSYS if you have it installed). You'll also need Visual Studio 2013 or
127newer with the C++ tools. Then all you need to do is to kick off rustbuild.
128 117
129``` 118```sh
130python x.py build 119$ ./configure --build=x86_64-pc-windows-msvc
120$ make && make install
131``` 121```
132 122
133Currently rustbuild only works with some known versions of Visual Studio. If you 123Currently building Rust only works with some known versions of Visual Studio. If
134have a more recent version installed that a part of rustbuild doesn't understand 124you have a more recent version installed the build system doesn't understand
135then you may need to force rustbuild to use an older version. This can be done 125then you may need to force rustbuild to use an older version. This can be done
136by manually calling the appropriate vcvars file before running the bootstrap. 126by manually calling the appropriate vcvars file before running the bootstrap.
137 127
@@ -149,16 +139,6 @@ $ ./configure
149$ make docs 139$ make docs
150``` 140```
151 141
152Building the documentation requires building the compiler, so the above
153details will apply. Once you have the compiler built, you can
154
155```sh
156$ make docs NO_REBUILD=1
157```
158
159To make sure you don’t re-build the compiler because you made a change
160to some documentation.
161
162The generated documentation will appear in a top-level `doc` directory, 142The generated documentation will appear in a top-level `doc` directory,
163created by the `make` rule. 143created by the `make` rule.
164 144