Skip to content

Clarify rustbuild + msvc + vcvars in README #34690

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

Merged
merged 1 commit into from
Jul 9, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 20 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ build.

[MSYS2][msys2] can be used to easily build Rust on Windows:

msys2: https://msys2.github.io/
[msys2]: https://msys2.github.io/

1. Grab the latest [MSYS2 installer][msys2] and go through the installer.

Expand Down Expand Up @@ -105,7 +105,7 @@ msys2: https://msys2.github.io/

MSVC builds of Rust additionally require an installation of Visual Studio 2013
(or later) so `rustc` can use its linker. Make sure to check the “C++ tools”
option. In addition, `cmake` needs to be installed to build LLVM.
option.

With these dependencies installed, the build takes two steps:

Expand All @@ -116,13 +116,25 @@ $ make && make install

#### MSVC with rustbuild

For those who don't want the hassle of MSYS or MinGW, you can invoke rustbuild
directly. All you need are Python 2, CMake, and Git in your PATH (make sure you
do __not__ use the ones from MSYS!). You'll also need Visual Studio 2013 or
newer with the C++ tools. Then all you need to do is invoke the appropriate
vcvars bat file and kick off rustbuild.
The old build system, based on makefiles, is currently being rewritten into a
Rust-based build system called rustbuild. This can be used to bootstrap the
compiler on MSVC without needing to install MSYS or MinGW. All you need are
[Python 2](https://www.python.org/downloads/),
[CMake](https://cmake.org/download/), and
[Git](https://git-scm.com/downloads) in your PATH (make sure you do not use the
ones from MSYS if you have it installed). You'll also need Visual Studio 2013 or
newer with the C++ tools. Then all you need to do is to kick off rustbuild.

```bat
```
python .\src\bootstrap\bootstrap.py
```

Currently rustbuild only works with some known versions of Visual Studio. If you
have a more recent version installed that a part of rustbuild doesn't understand
then you may need to force rustbuild to use an older version. This can be done
by manually calling the appropriate vcvars file before running the bootstrap.

```
CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"
python .\src\bootstrap\bootstrap.py
```
Expand Down