summary refs log tree commit diff
path: root/src/Cargo.toml
AgeCommit message (Collapse)AuthorLines
2018-03-16Automatically enable the `clippy` feature of `rls` if clippy buildsOliver Schneider-0/+1
2018-02-08Convert python script to rustGuillaume Gomez-0/+1
2018-01-27rustc: Load the `rustc_trans` crate at runtimeAlex Crichton-0/+1
Building on the work of # 45684 this commit updates the compiler to unconditionally load the `rustc_trans` crate at runtime instead of linking to it at compile time. The end goal of this work is to implement # 46819 where rustc will have multiple backends available to it to load. This commit starts off by removing the `extern crate rustc_trans` from the driver. This involved moving some miscellaneous functionality into the `TransCrate` trait and also required an implementation of how to locate and load the trans backend. This ended up being a little tricky because the sysroot isn't always the right location (for example `--sysroot` arguments) so some extra code was added as well to probe a directory relative to the current dll (the rustc_driver dll). Rustbuild has been updated accordingly as well to have a separate compilation invocation for the `rustc_trans` crate and assembly it accordingly into the sysroot. Finally, the distribution logic for the `rustc` package was also updated to slurp up the trans backends folder. A number of assorted fallout changes were included here as well to ensure tests pass and such, and they should all be commented inline.
2018-01-17Update Cargo and its dependenciesAlex Crichton-0/+10
This'll probably have a bunch of build errors, so let's try and head those off and find them sooner rather than later!
2017-12-27cargo update and add miri as the rustc workspace member.kennytm-0/+1
2017-11-29Update RLS and RustfmtNick Cameron-4/+5
2017-10-24Merge branch 'master' into update-rls-data-for-save-analysisDustin Speckhals-0/+1
2017-10-20Use newest version of RLS and rustfmtDustin Speckhals-0/+1
2017-10-20Reactivate clippy in toolstate.tomlOliver Schneider-0/+1
2017-10-07Update rls submoduleDustin Speckhals-9/+1
2017-09-28Update to the `cc` crateAlex Crichton-0/+1
This is the name the `gcc` crate has moved to
2017-09-27Update the RLS againNick Cameron-0/+1
2017-09-27Update RLS and RustfmtNick Cameron-5/+0
2017-09-17Use double quotes to appease some TOML parsersTamir Duberstein-1/+1
2017-09-17Rollup merge of #44533 - nrc:rustfmt-submod, r=alexcrichtonTim Neumann-0/+9
Add Rustfmt r? @alexcrichton
2017-09-13Use double quotes to appease some TOML parsersTamir Duberstein-1/+1
2017-09-13Reviewer changesNick Cameron-1/+3
2017-09-13Add rustfmt as a submoduleNick Cameron-0/+7
2017-08-31Update Cargo to 0.23.0 and our lockfileAlex Crichton-2/+2
2017-08-25Update RLS and CargoNick Cameron-0/+5
2017-07-27Build rustdoc on-demand.Mark Simulacrum-0/+1
Rustdoc is no longer compiled in every stage, alongside rustc, instead it is only compiled when requested, and generally only for the last stage.
2017-07-25Bump master to 1.21.0Alex Crichton-1/+1
This commit bumps the master branch's version to 1.21.0 and also updates the bootstrap compiler from the freshly minted beta release.
2017-07-17Run RLS testsNick Cameron-0/+14
2017-06-17Update cargo/rls submodules and dependenciesAlex Crichton-1/+1
Brings in a few regression fixes on the Cargo side, updates the rls to work with the newer Cargo, and also updates other crates.io dependencies to pull in various bug fixes and such.
2017-06-14Autogenerate stubs and the summary of the unstable bookest31-0/+1
2017-05-20Revert "Reenable opt-level 3"Mark Simulacrum-0/+8
This reverts commit 30383b2384864173b9238a121f8e83f8968f1e51.
2017-05-20Auto merge of #41967 - ishitatsuyuki:patch-1, r=alexcrichtonbors-8/+0
Reenable opt-level 3 This comment is quite old, let's see what would happen with current MSVC. Since there's no AppVeyor test for PR, the best way is to try if it get through homu. I don't recommend doing this in roll-up.
2017-05-18Unify all stage2 tools into a workspaceTatsuyuki Ishi-4/+3
This avoids double compiled Cargo. Hopefully this would speed up (extended) compilation for ~10m. Notes: when updating Cargo submodule, the replacement version may also need to be updated.
2017-05-14Update to the oxidized rust-installerJosh Stone-0/+1
2017-05-13Reenable opt-level 3Tatsuyuki Ishi-8/+0
This comment is quite old, let's see what would happen with current MSVC.
2017-04-29Update stage0 bootstrap compilerAlex Crichton-0/+6
We've got a freshly minted beta compiler, let's update to use that on nightly! This has a few other changes associated with it as well * A bump to the rustc version number (to 1.19.0) * Movement of the `cargo` and `rls` submodules to their "proper" location in `src/tools/{cargo,rls}`. Now that Cargo workspaces support the `exclude` option this can work. * Updates of the `cargo` and `rls` submodules to their master branches. * Tweak to the `src/stage0.txt` format to be more amenable for Cargo version numbers. On the beta channel Cargo will bootstrap from a different version than rustc (e.g. the version numbers are different), so we need different configuration for this. * Addition of `dev` as a readable key in the `src/stage0.txt` format. If present then stage0 compilers are downloaded from `dev-static.rust-lang.org` instead of `static.rust-lang.org`. This is added to accomodate our updated release process with Travis and AppVeyor.
2017-04-27travis: Parallelize tests on AndroidAlex Crichton-2/+2
Currently our slowest test suite on android, run-pass, takes over 5 times longer than the x86_64 component (~400 -> ~2200s). Typically QEMU emulation does indeed add overhead, but not 5x for this kind of workload. One of the slowest parts of the Android process is that *compilation* happens serially. Tests themselves need to run single-threaded on the emulator (due to how the test harness works) and this forces the compiles themselves to be single threaded. Now Travis gives us more than one core per machine, so it'd be much better if we could take advantage of them! The emulator itself is still fundamentally single-threaded, but we should see a nice speedup by sending binaries for it to run much more quickly. It turns out that we've already got all the tools to do this in-tree. The qemu-test-{server,client} that are in use for the ARM Linux testing are a perfect match for the Android emulator. This commit migrates the custom adb management code in compiletest/rustbuild to the same qemu-test-{server,client} implementation that ARM Linux uses. This allows us to lift the parallelism restriction on the compiletest test suites, namely run-pass. Consequently although we'll still basically run the tests themselves in single threaded mode we'll be able to compile all of them in parallel, keeping the pipeline much more full and using more cores for the work at hand. Additionally the architecture here should be a bit speedier as it should have less overhead than adb which is a whole new process on both the host and the emulator! Locally on an 8 core machine I've seen the run-pass test suite speed up from taking nearly an hour to only taking 6 minutes. I don't think we'll see quite a drastic speedup on Travis but I'm hoping this change can place the Android tests well below 2 hours instead of just above 2 hours. Because the client/server here are now repurposed for more than just QEMU, they've been renamed to `remote-test-{server,client}`. Note that this PR does not currently modify how debuginfo tests are executed on Android. While parallelizable it wouldn't be quite as easy, so that's left to another day. Thankfully that test suite is much smaller than the run-pass test suite. As a final fix I discovered that the ARM and Android test suites were actually running all library unit tests (e.g. stdtest, coretest, etc) twice. I've corrected that to only run tests once which should also give a nice boost in overall cycle time here.
2017-03-10Don't put Cargo into the rustc workspaceAlex Crichton-1/+0
This causes problems when first cloning and bootstrapping the repository unfortunately, so let's ensure that Cargo sticks around in its own workspace. Because Cargo is a submodule it's not available by default on the inital clone of the rust-lang/rust repository. Normally it's the responsibility of the rustbuild to take care of this, but unfortunately to build rustbuild itself we need to resolve the workspace conflicts. To deal with this we'll just have to ensure that all submodules are in their own workspace, which sort of makes sense anyway as updates to dependencies as bugfixes to Cargo should go to rust-lang/cargo instead of rust-lang/rust. In any case this commit removes Cargo from the global workspace which should resolve the issues that we've been seeing. To actually perform this the `cargo` submodule has been moved to the top directory to ensure it's outside the scope of `src/Cargo.toml` as a workspace.
2017-03-01Add Cargo as a submoduleAlex Crichton-0/+1
2017-02-21test: Verify all sysroot crates are unstableAlex Crichton-2/+2
As we continue to add more crates to the compiler and use them to implement various features we want to be sure we're not accidentally expanding the API surface area of the compiler! To that end this commit adds a new `run-make` test which will attempt to `extern crate foo` all crates in the sysroot, verifying that they're all unstable. This commit discovered that the `std_shim` and `test_shim` crates were accidentally stable and fixes the situation by deleting those shims. The shims are no longer necessary due to changes in Cargo that have happened since they were originally incepted.
2017-01-29Add support for test suites emulated in QEMUAlex Crichton-0/+2
This commit adds support to the build system to execute test suites that cannot run natively but can instead run inside of a QEMU emulator. A proof-of-concept builder was added for the `arm-unknown-linux-gnueabihf` target to show off how this might work. In general the architecture is to have a server running inside of the emulator which a local client connects to. The protocol between the server/client supports compiling tests on the host and running them on the target inside the emulator. Closes #33114
2017-01-25rustbuild: Add manifest generation in-treeAlex Crichton-0/+1
This commit adds a new tool, `build-manifest`, which is used to generate a distribution manifest of all produced artifacts. This tool is intended to replace the `build-rust-manifest.py` script that's currently located on the buildmaster. The intention is that we'll have a builder which periodically: * Downloads all artifacts for a commit * Runs `./x.py dist hash-and-sign`. This will generate `sha256` and `asc` files as well as TOML manifests. * Upload all generated hashes and manifests to the directory the artifacts came from. * Upload *all* artifacts (tarballs and hashes and manifests) to an archived location. * If necessary, upload all artifacts to the main location. This script is intended to just be the second step here where orchestrating uploads and such will all happen externally from the build system itself.
2016-11-30Update the bootstrap compilerAlex Crichton-0/+17
Now that we've got a beta build, let's use it!
2016-10-07Use workspaces and switch to a single Cargo.lock.Ahmed Charles-0/+13
This involves hacking the code used to run cargo test on various packages, because it reads Cargo.lock to determine which packages should be tested. This change implements a blacklist, since that will catch new crates when they are added in the future.