summary refs log tree commit diff
path: root/src/bootstrap/dist.rs
AgeCommit message (Collapse)AuthorLines
2018-07-28Don't format!() string literalsljedrz-8/+8
2018-07-15tidy: avoid long lineSébastien Marie-1/+2
2018-07-15Disable LlvmTools packaging with external LLVMSébastien Marie-0/+8
Fixes: #52102
2018-07-11Auto merge of #52172 - oli-obk:clippy_in_rls, r=nrcbors-1/+6
Inject clippy into the rls again Also makes sure we actually point to the local rustfmt r? @nrc cc @Manishearth
2018-07-09Change gcc warning file name, remove unnecessary referenceljedrz-2/+2
2018-07-09Warn windows-gnu users that the bundled gcc can't compileljedrz-0/+8
2018-07-09Also distribute cargo clippyOliver Schneider-1/+6
2018-07-05Auto merge of #51917 - alexcrichton:update, r=Mark-Simulacrumbors-1/+1
Update crates in `Cargo.lock` This is a "hopefully routine" update of our crates.io-based crates in `Cargo.lock`, and let's see how it fares on CI...
2018-07-05Auto merge of #51936 - japaric:rust-lld, r=alexcrichtonbors-1/+2
rename rustc's lld to rust-lld to not shadow the system installed LLD when linking with LLD. Before: - `-C linker=lld -Z linker-flavor=ld.lld` uses rustc's LLD - It's not possible to use a system installed LLD that's named `lld` With this commit: - `-C linker=rust-lld -Z linker-flavor=ld.lld` uses rustc's LLD - `-C linker=lld -Z linker-flavor=ld.lld` uses the system installed LLD we don't offer guarantees about the availability of LLD in the rustc sysroot so we can rename the tool as long as we don't break the wasm32-unknown-unknown target which depends on it. r? @alexcrichton we discussed this before
2018-07-04in the second copy lld is already named rust-lldJorge Aparicio-4/+3
2018-07-03Compile stage0 tools with the raw bootstrap compilerAlex Crichton-1/+1
This commit updates the stage0 build of tools to use the libraries of the stage0 compiler instead of the compiled libraries by the stage0 compiler. This should enable us to avoid any stage0 hacks (like missing SIMD).
2018-07-02Auto merge of #51122 - oli-obk:clippy, r=Mark-Simulacrumbors-0/+113
Did you mean to block nightlies on clippy? Discussion: https://gitter.im/rust-lang/WG-clippy?at=5b073b6597a0361fb760cdc2 r? @alexcrichton did I forget anything? cc @nrc @Manishearth
2018-07-02Clippy tool also has only a single LICENSE fileOliver Schneider-2/+1
2018-07-01Did you mean to block nightlies on clippy?Oliver Schneider-0/+114
2018-06-29rename rustc's lld to rust-lldJorge Aparicio-3/+5
to not shadow the system installed LLD when linking with LLD. Before: - `-C linker=lld -Z linker-flavor=ld.lld` uses rustc's LLD - It's not possible to use a system installed LLD that's named `lld` With this commit: - `-C linker=rust-lld -Z linker-flavor=ld.lld` uses rustc's LLD - `-C linker=lld -Z linker-flavor=ld.lld` uses the system installed LLD
2018-06-29rename the llvm-tools component to llvm-tools-preview and tweak its imageJorge Aparicio-7/+10
2018-06-23build: llvm-tools: replace compiler.hostBrad Campbell-15/+7
Use `target` instead.
2018-06-23build: llvm_tools tidyBrad Campbell-1/+5
2018-06-23build: add llvm-tools to manifestBrad Campbell-2/+5
This commit expands on a previous commit to build llvm-tools as a rustup component. It causes the llvm-tools component to be built if the extended step is active. It also adds llvm-tools to the build manifest so rustup can find it.
2018-06-21Auto merge of #50336 - japaric:llvm-tools, r=Mark-Simulacrumbors-2/+80
ship LLVM tools with the toolchain this PR adds llvm-{nm,objcopy,objdump,size} to the rustc sysroot (right next to LLD) this slightly increases the size of the rustc component. I measured these numbers on x86_64 Linux: - rustc-1.27.0-dev-x86_64-unknown-linux-gnu.tar.gz 180M -> 193M (+7%) - rustc-1.27.0-dev-x86_64-unknown-linux-gnu.tar.xz 129M -> 137M (+6%) r? @alexcrichton cc #49584
2018-06-03make a llvm-tools rustup componentJorge Aparicio-19/+79
2018-06-03ship LLVM tools with the toolchainJorge Aparicio-1/+19
2018-06-03impl is_tool on Mode enumCollins Abitekaniza-1/+1
make is_tool inherent prop of mode fix errors from rebase resolve issues from review
2018-06-03refactor Mode enumCollins Abitekaniza-1/+1
2018-05-31Use builder.cargo() for cargo-vendor.Johannes Nixdorf-5/+8
This makes it go through boostrap/bin/rustc.rs, so it will use -crt-static if needed.
2018-04-17Remove uses of Build across Builder stepsMark Simulacrum-311/+298
2018-04-05Rollup merge of #49563 - japaric:std-thumb, r=alexcrichtonkennytm-1/+6
add a dist builder to build rust-std components for the THUMB targets the rust-std component only contains the core and compiler-builtins (+c +mem) crates cc #49382 - I'm not entirely sure if this PR alone will produce rust-std components installable by rustup or if something else needs to be changed - I could have done the THUMB builds in an existing builder / image; I wasn't sure if that was a good idea so I added a new image - I could build other crates like alloc into the rust-std component but, AFAICT, that would require calling Cargo a second time (one for alloc and one for compiler-builtins), or have alloc depend on compiler-builtins (#49503 will perform that change) *and* have alloc resurface the "c" and "mem" Cargo features. r? @alexcrichton
2018-04-03Fix a few accidental expectationsMark Simulacrum-4/+9
2018-04-03Avoid printing output when in dry run modeMark Simulacrum-18/+18
2018-04-03Refactor to use a dry-run config instead of cfg(test)Mark Simulacrum-134/+102
This ensures that each build will support the testing design of "dry running" builds. It's also checked that a dry run build is equivalent step-wise to a "wet" run build; the graphs we generate when running are directly compared node/node and edge/edge, both for order and contents.
2018-04-03Make test steps sortableMark Simulacrum-12/+12
Ensures that test cases will be somewhat easier to write.
2018-04-01add a dist-thumb builder to build rust-std for the THUMB targetsJorge Aparicio-1/+6
the rust-std component only contains the core and compiler-builtins (+c +mem) crates cc #49382
2018-03-25Rollup merge of #49290 - cuviper:unextended-dist-rustfmt, r=nikomatsakiskennytm-1/+0
Allow installing rustfmt without config.extended This assertion was preventing `./x.py install rustfmt` if attempted without an "extended" build configuration, but it actually builds and installs just fine.
2018-03-25Rollup merge of #49193 - davidtwco:issue-29893, r=alexcrichtonkennytm-7/+62
Host compiler documentation Fixes #29893. Rust Central Station PR: rust-lang/rust-central-station#40 r? @alexcrichton
2018-03-22Allow installing rustfmt without config.extendedJosh Stone-1/+0
This assertion was preventing `./x.py install rustfmt` if attempted without an "extended" build configuration, but it actually builds and installs just fine.
2018-03-22Remove std/test documentation from compiler docs.David Wood-2/+2
2018-03-21Add support to rustbuild for a 'rustc docs' component tarballDavid Wood-7/+62
2018-03-18rustbuild: Ship libsynchronizationMaxim Nazarenko-0/+1
Ship libsynchronization from MinGW
2018-03-17Rollup merge of #49055 - alexcrichton:ship-more-libs, r=nikomatsakiskennytm-2/+4
rustbuild: Add more MinGW libraries to ship Closes #49044
2018-03-16Automatically enable the `clippy` feature of `rls` if clippy buildsOliver Schneider-3/+3
2018-03-16rustbuild: Add more MinGW libraries to shipAlex Crichton-2/+4
Closes #49044
2018-03-08Remove ONLY_BUILD_TARGETS.Mark Simulacrum-18/+3
All cases where it is used can be replaced by substituing run.host for run.builder.build.build; that is its only effect. As such, it is removable.
2018-03-04Include stdsimd in rust-src componentAlex Crichton-0/+1
Closes #48734
2018-03-03rustc: Tweak default linker selectionAlex Crichton-2/+4
This commit refactors how the path to the linker that we're going to invoke is selected. Previously all targets listed *both* a `LinkerFlavor` and a `linker` (path) option, but this meant that whenever you changed one you had to change the other. The purpose of this commit is to avoid coupling these where possible. Target specifications now only unconditionally define the *flavor* of the linker that they're using by default. If not otherwise specified each flavor now implies a particular default linker to run. As a result, this means that if you'd like to test out `ld` for example you should be able to do: rustc -Z linker-flavor=ld foo.rs whereas previously you had to do rustc -Z linker-flavor=ld -C linker=ld foo.rs This will hopefully make it a bit easier to tinker around with variants that should otherwise be well known to work, for example with LLD, `ld` on OSX, etc.
2018-03-03rust: Import LLD for linking wasm objectsAlex Crichton-1/+17
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-02make codegen-backends directory name configurableMarc-Antoine Perennou-1/+2
This allows to parallel-install several versions of rust system-wide Fixes #48263 Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2018-02-10Remove DontDistWithMiri struct and instead just directly check it in builderMark Simulacrum-25/+0
2018-02-09ci: Actually bootstrap on i686 distAlex Crichton-0/+7
Right now the `--build` option was accidentally omitted, so we're bootstraping from `x86_64` to `i686`. In addition to being slower (more compiles) that's not actually bootstrapping!
2018-02-05Use time crate in bootstrap dist instead of dateOnur Aslan-3/+3
2018-01-31rustc: Move location of `codegen-backends` dirAlex Crichton-5/+3
Right now this directory is located under: $sysroot/lib/rustlib/$target/lib/codegen-backends but after seeing what we do in a few other places it seems that a more appropriate location would be: $sysroot/lib/rustlib/$target/codegen-backends so this commit moves it!