Commit graph

50 commits

Author SHA1 Message Date
Oliver Scherer
f8033a2923 fixup 2019-01-08 15:21:06 +01:00
Oliver Scherer
83530120ea Prepare everything for distributing miri via rustup 2019-01-08 15:21:06 +01:00
Mark Rousskov
2a663555dd Remove licenses 2018-12-25 21:08:33 -07:00
ljedrz
a5a3da541b bootstrap: fix edition 2018-12-10 13:59:28 +01:00
ljedrz
fe588d894f Replace a few expect+format combos with unwrap_or_else+panic 2018-07-23 14:47:13 +02:00
Oliver Schneider
8f55152f84 Did you mean to block nightlies on clippy? 2018-07-01 01:35:39 +02:00
Mark Simulacrum
be1e7893d5 Remove uses of Build across Builder steps 2018-04-17 19:50:50 -06:00
Tamir Duberstein
94879023ad
rustbuild: canonicalize prefix install_sh
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-08 18:57:59 -04:00
Mark Simulacrum
545b92f46d Avoid printing output when in dry run mode 2018-04-03 11:43:14 -06:00
bors
222b0eb583 Auto merge of #48295 - Keruspe:master, r=alexcrichton
rustbuild: pass datadir to rust-installer

This fixes zsh completion install when $datadir != $prefix/share
2018-03-12 08:11:19 +00:00
Mark Simulacrum
1c8f3b011c Remove ONLY_BUILD.
All uses are replaced with not accessing run.target/run.host, and
instead directly using run.builder.build.build.
2018-03-08 20:30:00 -07:00
Mark Simulacrum
1191510881 Remove ONLY_BUILD_TARGETS.
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-08 20:30:00 -07:00
Marc-Antoine Perennou
d14f07e089 bootstrap: pass datadir to rust-installer
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2018-03-08 07:47:21 +01:00
O01eg
78a0b7fd46
Refactor checks on list of extended tools. 2018-02-07 20:57:02 +03:00
O01eg
7be8e2fbb3
Add build.tools option to manage installation of extended rust tools. 2018-02-05 20:10:05 +03:00
Marc-Antoine Perennou
1930ee8b94 rustbuild: Install rustfmt as part of extended build
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-11-16 10:47:26 +01:00
kennytm
843dc4bd76
Rollup merge of #45588 - Keruspe:master, r=alexcrichton
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-07 22:40:11 +08:00
Ximin Luo
32cf6e64c1 Ensure dist::Std for every libstd target. (Closes: #42320)
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-06 11:38:27 +01:00
Marc-Antoine Perennou
784528b8da rustbuild: don't try to install rls if ToolState is not Testing
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-11-04 15:49:18 +01:00
Josh Stone
110efe25fa Include rustc in the default ./x.py install
The default install used to include rustc, rust-std, and rust-docs, but
the refactoring in commit 6b3413d825 make rustc only default in
extended builds.  This commit makes rustc installed by default again.
2017-09-05 14:19:22 -07:00
Mark Simulacrum
44ffb61623 Unify flags into config.
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-08-13 05:15:43 +05:00
Mark Simulacrum
fef9b48252 Make dist equivalent to old build system. 2017-07-24 09:05:27 -06:00
Mark Simulacrum
6a67a050c6 Change make_run signature to taking a RunConfig struct for refactorability. 2017-07-20 17:51:07 -06:00
Mark Simulacrum
b05af49086 Add an optional condition to constrain defaults.
Utilized primarily to not be a default rule unless some configuration is
given (e.g., compiler docs are enabled).
2017-07-20 17:24:11 -06:00
Mark Simulacrum
e9c2242050 Remove step.rs comments 2017-07-20 16:41:26 -06:00
Mark Simulacrum
56128fb3ac Implement available paths list. 2017-07-20 11:24:37 -06:00
Mark Simulacrum
528646e127 Utilize interning to allow Copy/Clone steps 2017-07-20 11:24:32 -06:00
Mark Simulacrum
e7b1a60ad7 Remove core_intrinsics feature gate 2017-07-20 11:24:00 -06:00
Mark Simulacrum
6a85193149 Clean up install 2017-07-20 11:24:00 -06:00
Mark Simulacrum
5984e70af2 Cleanups and fixes throughout 2017-07-20 11:24:00 -06:00
Mark Simulacrum
60388303c7 Fixes warnings and errors introduced while moving code around 2017-07-20 11:23:58 -06:00
Mark Simulacrum
6b3413d825 Change code to work with the new system 2017-07-20 11:23:57 -06:00
Mark Simulacrum
0a1b5e8bc0 Move rule configs out of step 2017-07-20 11:23:57 -06:00
Mark Simulacrum
6766abbfa9 Clippy lints 2017-07-04 07:31:55 -06: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
Marc-Antoine Perennou
801e2b7bdf rustbuild: refactor install
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-18 18:59:06 +02:00
Marc-Antoine Perennou
ecfdc9ac1b rustbuild: install rust-analysis and rust-src when extended build is enabled
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-05-18 18:58:58 +02:00
Marc-Antoine Perennou
f72fce598c rustbuild: pass sysconfdir to install_sh
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-05-16 08:21:27 +02:00
Marc-Antoine Perennou
93f3b0c913 rustbuild: pass bindir to install_sh
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-05-16 08:21:27 +02:00
Marc-Antoine Perennou
7b1fb89641 rustbuild: install rustc after cargo and rls
This way its files take precedence (e.g. README.md and stuff)

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-04-27 15:05:29 +02:00
Marc-Antoine Perennou
03c5797552 rustbuild: install cargo and rls when extended build is enabled
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-04-27 12:05:34 +02:00
Marc-Antoine Perennou
c4c3b5a443 rustbuild: pass version number as param in install phase
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-04-27 11:52:58 +02:00
Nick Cameron
5766d526a2 Remove --enable-save-analysis configure flag 2017-04-10 08:46:20 +12:00
GitLab
56902fbe71 Fixes other targets rustlibs installation
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-04-04 17:16:42 -07:00
Tatsuyuki Ishi
d4040c3a3f rustbuild: Add save-analysis to install 2017-03-11 20:00:06 +09:00
Alex Crichton
44a01b8a54 rustbuild: Add support for compiling Cargo
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.
2017-03-03 07:29:31 -08:00
Alex Crichton
16f8372e08 rustbuild: Implement DESTDIR support
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-12-28 09:18:54 -08:00
Ahmed Charles
fa230825c1 Add support for docdir, libdir and mandir. 2016-10-05 22:42:40 -07:00
Ahmed Charles
a580f8f80d Install docs, std and rustc using results from dist. 2016-10-05 22:42:40 -07:00
Ahmed Charles
e6985b2a6d rustbuild: Add install target. #34675
It just prints to the screen currently.
2016-10-05 22:42:40 -07:00