about summary refs log tree commit diff
path: root/src/bootstrap/install.rs
AgeCommit message (Collapse)AuthorLines
2020-07-27mv std libs to library/mark-1/+1
2020-07-19Auto merge of #74495 - shepmaster:bootstrap-dist-target-files, r=Mark-Simulacrumbors-1/+1
Teach bootstrap install and dist commands about TargetSelection With this, we can now use a target JSON file to build a cross-compiler: ``` x.py install --host ../aarch64-apple-darwin.json --target aarch64-apple-darwin ``` r? @Mark-Simulacrum
2020-07-19Teach bootstrap install and dist commands about TargetSelectionJake Goulding-1/+1
With this, we can now use a target JSON file to build a cross-compiler: ``` x.py install --host ../aarch64-apple-darwin.json --target aarch64-apple-darwin ```
2020-07-17Rollup merge of #74457 - Keruspe:install, r=Mark-SimulacrumManish Goregaokar-24/+5
rustbuild: drop tool::should_install Always install when the build succeeds Fixes #74431
2020-07-17rustbuild: drop tool::should_installMarc-Antoine Perennou-24/+5
Always install when the build succeeds Fixes #74431 Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2020-07-17Teach bootstrap about target files vs target triplesJake Goulding-14/+15
`rustc` allows passing in predefined target triples as well as JSON target specification files. This change allows bootstrap to have the first inkling about those differences. This allows building a cross-compiler for an out-of-tree architecture (even though that compiler won't work for other reasons). Even if no one ever uses this functionality, I think the newtype around the `Interned<String>` improves the readability of the code.
2020-07-03Add rust-analyzer submoduleAleksey Kladov-0/+13
The current plan is that submodule tracks the `release` branch of rust-analyzer, which is updated once a week. rust-analyzer is a workspace (with a virtual manifest), the actual binary is provide by `crates/rust-analyzer` package. Note that we intentionally don't add rust-analyzer to `Kind::Test`, for two reasons. *First*, at the moment rust-analyzer's test suite does a couple of things which might not work in the context of rust repository. For example, it shells out directly to `rustup` and `rustfmt`. So, making this work requires non-trivial efforts. *Second*, it seems unlikely that running tests in rust-lang/rust repo would provide any additional guarantees. rust-analyzer builds with stable and does not depend on the specifics of the compiler, so changes to compiler can't break ra, unless they break stability guarantee. Additionally, rust-analyzer itself is gated on bors, so we are pretty confident that test suite passes.
2020-06-16bootstrap/install.rs: support a nonexistent `prefix` in `x.py install`NODA, Kai-1/+4
PR #49778 introduced fs::canonicalize() which fails for a nonexistent path. This is a surprise for someone used to GNU Autotools' configure which can create any necessary intermediate directories in prefix. This change makes it run fs::create_dir_all() before canonicalize().
2020-05-02Gate on clippy on CIOliver Scherer-4/+2
2020-02-03bootstrap: fix clippy warningsMatthias Krüger-3/+2
2019-12-01rustbuild: fix cross-compile installXimin Luo-1/+1
although, not sure why this works - it wasn't needed before
2019-09-10Locate rustc binary similarly to codegen backend loadingMark Rousskov-2/+1
This ensures that the failure cases for finding the codegen backend and for finding the rustc binary are essentially the same, and since we almost always will load the codegen backend, this is essentially meaning that the rustc change is not a regression.
2019-06-11Fix x.py installTyler Mandry-1/+4
Make sure we look for save analysis in the right place. Fixes #61703.
2019-05-28Fixup styleAlex Crichton-8/+19
2019-05-28rustbuild: Assert extended builds don't dist too muchAlex Crichton-33/+29
This extends a test in the previous commit to assert that we don't build extra rustc compilers even when the "extended" option is set to true. This involved some internal refactoring to have more judicious usage of `compiler_for`, added in the previous commit, as well. Various `dist::*` targets were refactored to be parameterized with a `Compiler` instead of a `stage`/`host`, and then the various parameters within the `Extended` target were tweaked to ensure that we don't ever accidentally ask for a stage2 build compiler when we're distributing something.
2019-05-09remove unneeded `extern crate`s from build toolsAndy Russell-0/+2
2019-02-25bootstrap: deny(rust_2018_idioms)Taiki Endo-18/+18
2019-01-08fixupOliver Scherer-1/+1
2019-01-08Prepare everything for distributing miri via rustupOliver Scherer-0/+11
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-10bootstrap: fix editionljedrz-4/+4
2018-07-23Replace a few expect+format combos with unwrap_or_else+panicljedrz-1/+1
2018-07-01Did you mean to block nightlies on clippy?Oliver Schneider-0/+11
2018-04-17Remove uses of Build across Builder stepsMark Simulacrum-16/+15
2018-04-08rustbuild: canonicalize prefix `install_sh`Tamir Duberstein-1/+3
Testing: ``` $ git diff diff --git a/config.toml.example b/config.toml.example index 9dd3002506..b47bc490cd 100644 --- a/config.toml.example +++ b/config.toml.example @@ -196,7 +196,7 @@ [install] # Instead of installing to /usr/local, install to this path instead. -#prefix = "/usr/local" +prefix = "install-prefix" # Where to install system configuration files # If this is a relative path, it will get installed in `prefix` above $ mkdir install-prefix $ ./x.py install -i --stage 0 --config config.toml.example ... $ ls install-prefix/ bin lib share ``` Closes #36989.
2018-04-03Avoid printing output when in dry run modeMark Simulacrum-3/+4
2018-03-12Auto merge of #48295 - Keruspe:master, r=alexcrichtonbors-2/+7
rustbuild: pass datadir to rust-installer This fixes zsh completion install when $datadir != $prefix/share
2018-03-08Remove ONLY_BUILD.Mark Simulacrum-4/+29
All uses are replaced with not accessing run.target/run.host, and instead directly using run.builder.build.build.
2018-03-08Remove ONLY_BUILD_TARGETS.Mark Simulacrum-2/+1
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-08bootstrap: pass datadir to rust-installerMarc-Antoine Perennou-2/+7
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2018-02-07Refactor checks on list of extended tools.O01eg-12/+21
2018-02-05Add build.tools option to manage installation of extended rust tools.O01eg-7/+14
2017-11-16rustbuild: Install rustfmt as part of extended buildMarc-Antoine Perennou-0/+11
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-11-07Rollup merge of #45588 - Keruspe:master, r=alexcrichtonkennytm-2/+5
rustbuild: don't try to install rls if ToolState is not Testing We already do that for the Dist Step so we would end up trying to install something that we didn't dist.
2017-11-06Ensure dist::Std for every libstd target. (Closes: #42320)Ximin Luo-9/+9
This fixes cross-compile installation. Half of the logic is actually in there already in install.rs:install_std but it fails with an error like: sh: 0: Can't open /<<BUILDDIR>>/rustc-1.21.0+dfsg1/build/tmp/dist/rust-std-1.21.0-powerpc64le-unknown-linux-gnu/install.sh because the target-arch dist tarball wasn't built as well.
2017-11-04rustbuild: don't try to install rls if ToolState is not TestingMarc-Antoine Perennou-2/+5
The Dist Step is not ran in that case so we would end up trying to install something that we didn't dist. Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-09-05Include rustc in the default `./x.py install`Josh Stone-1/+1
The default install used to include rustc, rust-std, and rust-docs, but the refactoring in commit 6b3413d825fa6 make rustc only default in extended builds. This commit makes rustc installed by default again.
2017-08-13Unify flags into config.Mark Simulacrum-1/+1
This introduces a slight change in behavior, where we unilaterally respect the --host and --target parameters passed for all sanity checking and runtime configuration.
2017-07-24Make dist equivalent to old build system.Mark Simulacrum-2/+4
2017-07-20Change make_run signature to taking a RunConfig struct for refactorability.Mark Simulacrum-20/+15
2017-07-20Add an optional condition to constrain defaults.Mark Simulacrum-4/+2
Utilized primarily to not be a default rule unless some configuration is given (e.g., compiler docs are enabled).
2017-07-20Remove step.rs commentsMark Simulacrum-40/+0
2017-07-20Implement available paths list.Mark Simulacrum-3/+3
2017-07-20Utilize interning to allow Copy/Clone stepsMark Simulacrum-14/+26
2017-07-20Remove core_intrinsics feature gateMark Simulacrum-0/+1
2017-07-20Clean up installMark Simulacrum-120/+89
2017-07-20Cleanups and fixes throughoutMark Simulacrum-2/+2
2017-07-20Fixes warnings and errors introduced while moving code aroundMark Simulacrum-2/+3
2017-07-20Change code to work with the new systemMark Simulacrum-42/+121
2017-07-20Move rule configs out of stepMark Simulacrum-0/+42