about summary refs log tree commit diff
path: root/src/bootstrap/install.rs
AgeCommit message (Collapse)AuthorLines
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
2017-07-04Clippy lintsMark Simulacrum-1/+1
2017-05-22rustbuild: split Install out of Dist subcommandMarc-Antoine Perennou-30/+38
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-18rustbuild: refactor installMarc-Antoine Perennou-80/+97
Introduce a new Installer object that hold a reference to all the configured paths for installation Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-05-18rustbuild: install rust-analysis and rust-src when extended build is enabledMarc-Antoine Perennou-8/+18
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-05-16rustbuild: pass sysconfdir to install_shMarc-Antoine Perennou-6/+17
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-05-16rustbuild: pass bindir to install_shMarc-Antoine Perennou-7/+12
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-04-27rustbuild: install rustc after cargo and rlsMarc-Antoine Perennou-3/+3
This way its files take precedence (e.g. README.md and stuff) Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-04-27rustbuild: install cargo and rls when extended build is enabledMarc-Antoine Perennou-4/+12
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-04-27rustbuild: pass version number as param in install phaseMarc-Antoine Perennou-6/+6
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-04-10Remove --enable-save-analysis configure flagNick Cameron-5/+0
2017-04-04Fixes other targets rustlibs installationGitLab-2/+7
When the user select more than one target to generate rustlibs for, rustbuild will only install the host one. This patch fixes it, more info in https://github.com/rust-lang/rust/issues/39235#issuecomment-285878858
2017-03-11rustbuild: Add save-analysis to installTatsuyuki Ishi-0/+4
2017-03-03rustbuild: Add support for compiling CargoAlex Crichton-2/+2
This commit adds support to rustbuild for compiling Cargo as part of the release process. Previously rustbuild would simply download a Cargo snapshot and repackage it. With this change we should be able to turn off artifacts from the rust-lang/cargo repository and purely rely on the artifacts Cargo produces here. The infrastructure added here is intended to be extensible to other components, such as the RLS. It won't exactly be a one-line addition, but the addition of Cargo didn't require too much hooplah anyway. The process for release Cargo will now look like: * The rust-lang/rust repository has a Cargo submodule which is used to build a Cargo to pair with the rust-lang/rust release * Periodically we'll update the cargo submodule as necessary on rust-lang/rust's master branch * When branching beta we'll create a new branch of Cargo (as we do today), and the first commit to the beta branch will be to update the Cargo submodule to this exact revision. * When branching stable, we'll ensure that the Cargo submodule is updated and then make a stable release. Backports to Cargo will look like: * Send a PR to cargo's master branch * Send a PR to cargo's release branch (e.g. rust-1.16.0) * Send a PR to rust-lang/rust's beta branch updating the submodule * Eventually send a PR to rust-lang/rust's master branch updating the submodule For reference, the process to add a new component to the rust-lang/rust release would look like: * Add `$foo` as a submodule in `src/tools` * Add a `tool-$foo` step which compiles `$foo` with the specified compiler, likely mirroring what Cargo does. * Add a `dist-$foo` step which uses `src/tools/$foo` and the `tool-$foo` output to create a rust-installer package for `$foo` likely mirroring what Cargo does. * Update the `dist-extended` step with a new dependency on `dist-$foo` * Update `src/tools/build-manifest` for the new component.
2016-12-28rustbuild: Implement DESTDIR supportAlex Crichton-13/+39
This commit primarily starts supporting the `DESTDIR` environment variable like the old build system. Along the way this brings `config.toml` up to date with support in `config.mk` with install options supported. Closes #38441
2016-10-05Add support for docdir, libdir and mandir.Ahmed Charles-5/+18
2016-10-05Install docs, std and rustc using results from dist.Ahmed Charles-3/+29
2016-10-05rustbuild: Add install target. #34675Ahmed Charles-0/+22
It just prints to the screen currently.