Commit Graph

181 Commits

Author SHA1 Message Date
Dhirendra Kumar Kashyap
3eaa4a3fad
Update README.md
Corrected the grammar of the document.
2018-06-13 22:53:50 +05:30
Abhishek koserwal
bad9fefdae Update build instructions 2018-05-31 23:53:23 +05:30
Alex Crichton
d69b24805b rust: Import LLD for linking wasm objects
This commit imports the LLD project from LLVM to serve as the default linker for
the `wasm32-unknown-unknown` target. The `binaryen` submoule is consequently
removed along with "binaryen linker" support in rustc.

Moving to LLD brings with it a number of benefits for wasm code:

* LLD is itself an actual linker, so there's no need to compile all wasm code
  with LTO any more. As a result builds should be *much* speedier as LTO is no
  longer forcibly enabled for all builds of the wasm target.
* LLD is quickly becoming an "official solution" for linking wasm code together.
  This, I believe at least, is intended to be the main supported linker for
  native code and wasm moving forward. Picking up support early on should help
  ensure that we can help LLD identify bugs and otherwise prove that it works
  great for all our use cases!
* Improvements to the wasm toolchain are currently primarily focused around LLVM
  and LLD (from what I can tell at least), so it's in general much better to be
  on this bandwagon for bugfixes and new features.
* Historical "hacks" like `wasm-gc` will soon no longer be necessary, LLD
  will [natively implement][gc] `--gc-sections` (better than `wasm-gc`!) which
  means a postprocessor is no longer needed to show off Rust's "small wasm
  binary size".

LLD is added in a pretty standard way to rustc right now. A new rustbuild target
was defined for building LLD, and this is executed when a compiler's sysroot is
being assembled. LLD is compiled against the LLVM that we've got in tree, which
means we're currently on the `release_60` branch, but this may get upgraded in
the near future!

LLD is placed into rustc's sysroot in a `bin` directory. This is similar to
where `gcc.exe` can be found on Windows. This directory is automatically added
to `PATH` whenever rustc executes the linker, allowing us to define a `WasmLd`
linker which implements the interface that `wasm-ld`, LLD's frontend, expects.

Like Emscripten the LLD target is currently only enabled for Tier 1 platforms,
notably OSX/Windows/Linux, and will need to be installed manually for compiling
to wasm on other platforms. LLD is by default turned off in rustbuild, and
requires a `config.toml` option to be enabled to turn it on.

Finally the unstable `#![wasm_import_memory]` attribute was also removed as LLD
has a native option for controlling this.

[gc]: https://reviews.llvm.org/D42511
2018-03-03 20:21:35 -08:00
Tobias Stolzmann
6edbe37437
Fix link to rustc guide in README.md 2018-03-01 03:13:17 +01:00
Mark Mansi
a05c5538d4 Start moving to the rustc guide! 2018-02-23 13:20:56 -06:00
Basile Desloges
513910e321 Update MSVC compilation instructions regarding path length on Windows 2017-11-25 11:38:10 +01:00
Joe Rattazzi
6500b3d069 Add "Buidling on *nix" sub-header 2017-10-14 16:59:58 -05:00
johnthagen
c3ff62863d Clarify RAM usage during build 2017-10-09 10:02:50 -04:00
Garrett Berg
daf3ed5651 Add links to headers in README and CONTRIBUTING and dependencies to CONTRIBUTING 2017-09-29 17:44:55 -06:00
Matt Ickstadt
081f32ab67 Clarify windows build instructions in README
The old wording made me think you were supposed to do `python x.py --build=msvc`, which is not the case. Specify that you need to use the target triple.
2017-08-22 13:28:39 -05:00
Steven Fackler
1126a85e87 Move config.toml.example to the root dir
It's way more discoverable here.
2017-08-11 22:24:25 -07:00
Lee Bousfield
857d9dbaba
README: note how to enable debugging for rustc 2017-07-03 22:06:43 -04:00
Fuqiao Xue
09ac478c5c Update TRPL link in README.md 2017-06-09 13:37:22 +08:00
Marc-Antoine Perennou
150d644c21 rustbuild: split Install out of Dist subcommand
only create source tarball for the Dist subcommand
mark install rule as default for Kind::Install
split install-docs
split install-std
factor out empty_dir handling
split install-cargo
split install-analysis
split install-src
rework install-rustc
properly handle cross-compilation setups for install
use pkgname in install
split plain source tarball generation from rust-src dist
document src-tarball in config.toml.exmaple

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-05-22 22:10:12 +02:00
Maxwell Paul Brickner
f7e9041cd2 Updated links to use https
I just updated a few links to use https instead of http. 

Thank you! ^ _ ^
2017-04-19 17:45:48 -04:00
omtcyfz
71020e3836 Nit: LLVM & Clang latest version is 4.0 2017-03-21 16:26:35 -04:00
projektir
6b7b262288 Updating README.md to point to the correct doc location 2017-03-13 01:04:59 -04:00
Mátyás Mustoha
f121e6180b Fix text formatting in README 2017-03-06 12:29:52 +01:00
Josh Driver
fb2d763eee Replace ./configure with config.toml in README.md and CONTRIBUTING.md 2017-02-28 21:40:00 +10:30
Corey Farwell
273cc30fb2 Clarify phrasing of MSYS2 dependencies in README.md.
Fixes https://github.com/rust-lang/rust/issues/36115.
2016-12-21 14:21:49 -08:00
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
Brian Anderson
7430e58e65 Address review feedback 2015-02-18 13:46:55 -08:00
Brian Anderson
73cc4ed4da README: Simplify markdown 2015-02-18 13:46:55 -08:00
Brian Anderson
aaabdbfe04 README: Add one sentence about what Rust is.
Most people don't know what Rust is.
2015-02-18 13:46:55 -08:00
Brian Anderson
46189559a9 README: Add a link to #rust 2015-02-18 13:46:55 -08:00
Brian Anderson
9265e13867 README: Make the wiki links more useful.
The page we want them to find is 'getting started developing'.
2015-02-18 13:46:55 -08:00
Brian Anderson
21ed20baf9 README: Give a hint about how to build Cargo from source.
Just a hint.
2015-02-18 13:46:55 -08:00
Brian Anderson
4acc483106 Simplify README by not talking about the source tarball option
I believe that few enough people build from source tarballs that
we don't have to talk about it explicitly.
2015-02-18 13:46:55 -08:00
Steve Klabnik
f645cad3a1 CONTRIBUTING.md redux
This redux of CONTRIBUTING.md adds in more information, including
subsuming both compliment-bugreport.md and Note-development-policy
in the wiki.

I only glanced at the broad TOC of Note-development-policy, and did
not use the text as the basis for the re-write. This will then address
the last outstanding part of #5831.
2015-02-16 04:46:40 -05:00
Brian Anderson
9df38bf658 Remove some irrelevant text from README
The quick start already links to the book. I think its not necessary
to do in the build instructions.
2015-02-12 20:36:21 -08:00
Brian Anderson
8dcc886d68 Change README quick start instructions to defer entirely to the book. 2015-02-12 20:36:21 -08:00
Brian Anderson
5716ede92c doc: Add links to users.rust-lang.org 2015-01-29 15:49:00 -08:00
Manish Goregaokar
7abbc96e66 Rollup merge of 21708 - brson:internals, r=huonw 2015-01-29 03:13:53 +05:30
John Hodge
1c502f1d43 README.md - Fix source tarball link 2015-01-28 10:12:54 +08:00
Brian Anderson
94404070d6 discuss.rust-lang.org -> internals.rust-lang.org 2015-01-27 15:44:05 -08:00
bors
6869645e86 Auto merge of #21242 - richo:no-perl, r=brson
There's only one build-critical path in which perl is used, and it was to do a text replacement trivially achievable with sed(1).

I ported the indenter script because it [appears to be used][indenter], but removed check links because it appears to be entirely out of date.

[indenter]: https://github.com/rust-lang/rust/blob/master/src/librustc/util/common.rs#L60-70
2015-01-21 11:07:31 +00:00
Richo Healey
948dcaa72b Remove perl as a dependency 2015-01-16 08:49:54 -08:00
Steve Klabnik
599232503a Add notes about 32 vs 64 bit Windows 2015-01-13 10:43:52 -05:00
Steve Klabnik
0017bfa002 Link to a better place for msys2
This is much more helpful.
2015-01-12 15:56:16 -05:00
Steve Klabnik
16a6ebd1f6 "The Rust Programming Language"
This pulls all of our long-form documentation into a single document,
nicknamed "the book" and formally titled "The Rust Programming
Language."

A few things motivated this change:

* People knew of The Guide, but not the individual Guides. This merges
  them together, helping discoverability.
* You can get all of Rust's longform documentation in one place, which
  is nice.
* We now have rustbook in-tree, which can generate this kind of
  documentation. While its style is basic, the general idea is much
  better: a table of contents on the left-hand side.
* Rather than a almost 10,000-line guide.md, there are now smaller files
  per section.
2015-01-08 12:02:11 -05:00
bors
36d0346dff auto merge of #17876 : ruud-v-a/rust/patch-1, r=alexcrichton
The Windows-specific instruction under 'Quick Start' linked the wiki article on getting started developing Rust itself, but the quick start is just about obtaining a working Rust installation. The actual wiki page with Windows-specific instructions was difficult to find.

The most important thing to note on Windows is that you need mingw-builds, and it is totally not obvious. The only place where I have seen it mentioned is the wiki page, which was difficult to find before.
2014-10-13 21:32:43 +00:00
Taylor Hutchison
4474eab417 Update README.md
Added 64-bit Windows support to the list of platforms. Support for 64-bit Windows was added in Rust 0.12.0. See  https://mail.mozilla.org/pipermail/rust-dev/2014-October/011267.html for the release notes.
2014-10-09 23:41:30 -05:00
Ruud van Asseldonk
3431c0ab44 readme: Link 'Using' wiki page instead of 'Getting started'.
The Windows-specific instruction under 'Quick Start' linked the wiki article on getting started developing Rust itself, but the quick start is just about obtaining a working Rust installation. The actual wiki page with Windows-specific instructions was difficult to find.
2014-10-09 00:32:22 +02:00
Steve Klabnik
a99ba25f2b Replace the Tutorial with the Guide.
The Guide isn't 100% perfect, but it's basically complete. It's
certainly better than the tutorial is. Time to start pointing more
people its way.

I also just made it consistent to call all things 'guides' rather than
tutorials.

Fixes #9874. This is the big one.

And two bugs that just go away.

Fixes #14503.
Fixes #15009.
2014-09-11 16:21:32 -04:00
Brian Anderson
cd1fabe55e Add links to forums in README.md, including discuss.rust-lang.org 2014-09-09 13:08:14 -07:00
klutzy
a3d77e616b configure: Recognize i686 build on msys2 2014-08-23 01:47:37 +09:00
Brian Anderson
21a70b38ba Update docs to use HTTPS for static.rust-lang.org addresses
cc #16123
2014-08-11 12:31:16 -07:00
Ruud van Asseldonk
9df25449f2 fix typo in readme 2014-06-30 11:17:25 +02:00
Luqman Aden
8b83355f14 README: Add instructions for building on windows. 2014-06-26 20:17:24 -04:00
Brian Anderson
f4ae8a83f9 Update repo location 2014-06-16 18:16:36 -07:00
Alex Crichton
799ddba8da Change static.rust-lang.org to doc.rust-lang.org
The new documentation site has shorter urls, gzip'd content, and index.html
redirecting functionality.
2014-05-21 19:55:39 -07:00