Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

minimize the rust-std component #64823

Merged
merged 6 commits into from
Oct 11, 2019
Merged

minimize the rust-std component #64823

merged 6 commits into from
Oct 11, 2019

Conversation

cuviper
Copy link
Member

@cuviper cuviper commented Sep 26, 2019

This changes the rust-std dist component to only include the artifacts of compiling the libstd step, as listed in .libstd.stamp. This does include test and proc-macro as well. The remaining unstable libraries that are built as part of rustc are packaged into a new rustc-dev component, intended for use in the development of closely related tools (clippy, miri, rls).

Here are the component sizes from the try build:

Name Size
rust-std-nightly-x86_64-unknown-linux-gnu.tar.gz 23.94 MiB
rust-std-nightly-x86_64-unknown-linux-gnu.tar.xz 17.4 MiB
rustc-dev-nightly-x86_64-unknown-linux-gnu.tar.gz 182.03 MiB
rustc-dev-nightly-x86_64-unknown-linux-gnu.tar.xz 157.91 MiB

Fixes #61978
Fixes #62486

@rust-highfive
Copy link
Collaborator

r? @nikomatsakis

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 26, 2019
@cuviper
Copy link
Member Author

cuviper commented Sep 26, 2019

rust-std contents
rustlib
rustlib/x86_64-unknown-linux-gnu
rustlib/x86_64-unknown-linux-gnu/lib
rustlib/x86_64-unknown-linux-gnu/lib/liballoc-829f3101d977f206.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-ee59192b6de9f368.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-038ea4a0a8c77604.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-7094efc75c4be484.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a02a6d088515bc50.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcore-32273be0eb3afdcf.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-36cd9a743b40ef37.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-2e9c5bd77f293b4d.rlib
rustlib/x86_64-unknown-linux-gnu/lib/liblibc-cd20ad3e31945caa.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libpanic_abort-4b7362f1daba0b67.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-e8f25f1479c7909f.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libproc_macro-117a68358dd52808.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_asan-72a98db263e5b446.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-360973d6a8a839f2.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_lsan-31819e91fec99c27.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_msan-5690f798957a29fb.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-ccb7f85b9552784b.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-385f65ee94807303.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-541cc8a35bc662dd.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_tsan-3a588f132cd70943.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libstd-b36f3fa61e38f00c.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libstd-b36f3fa61e38f00c.so
rustlib/x86_64-unknown-linux-gnu/lib/libterm-d4f65c2c1fcd90e6.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libtest-d8d279e9d913926e.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libtest-d8d279e9d913926e.so
rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-61a3636ef768b313.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libunwind-b80ef1b761dd638e.rlib
rust-stdZ contents
rustlib
rustlib/x86_64-unknown-linux-gnu
rustlib/x86_64-unknown-linux-gnu/lib
rustlib/x86_64-unknown-linux-gnu/lib/liballoc-829f3101d977f206.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libannotate_snippets-a90b1a04ef902ce2.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libarena-917bcbaf4b9cf449.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libarrayvec-1cbfed4e0b63e66c.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libatty-a6a968217626980d.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-b9e825406ed2c8cf.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-ee59192b6de9f368.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-038ea4a0a8c77604.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-28a66cf5842b6293.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libbitflags-7f2440c8280521d9.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libbyteorder-97eddc76e7dae5fb.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libc2_chacha-d5df7772d76f51b1.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcc-fba1b04a84d96b8e.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-7094efc75c4be484.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-efadd5aed3f96838.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libchalk_engine-539c05987df4c4fc.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libchalk_macros-dcb718f1369419bc.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a02a6d088515bc50.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcore-32273be0eb3afdcf.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcrc32fast-8105e34220be3072.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcrossbeam_deque-fe474ed469d8bbce.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcrossbeam_epoch-aff57d47277c9a5a.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcrossbeam_utils-9ece8d4987b2f7ca.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libcrossbeam_utils-cf94384094407dbf.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libdatafrog-e15cc7f54f5da188.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libeither-212f3321a8ee66dd.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libena-75bdc410590317b9.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libenv_logger-4f2ca51a92a6d91c.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libflate2-268ba7c6f3d0e098.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libfmt_macros-1985ee02fa190c72.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-36cd9a743b40ef37.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libgetrandom-7e2fc951db31d21b.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libgraphviz-6835b819b1a43ba4.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-2e9c5bd77f293b4d.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libindexmap-f384467b29b8520b.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libitoa-f3ab8e820f2f3e46.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libjobserver-b63b1c7e22888428.rlib
rustlib/x86_64-unknown-linux-gnu/lib/liblazy_static-31194f3d49621e6f.rlib
rustlib/x86_64-unknown-linux-gnu/lib/liblazy_static-d95434e3898989e6.rlib
rustlib/x86_64-unknown-linux-gnu/lib/liblibc-cd20ad3e31945caa.rlib
rustlib/x86_64-unknown-linux-gnu/lib/liblibc-ce37efd4d5605311.rlib
rustlib/x86_64-unknown-linux-gnu/lib/liblock_api-751b85934c961cac.rlib
rustlib/x86_64-unknown-linux-gnu/lib/liblog-ff5d2491f3d05340.rlib
rustlib/x86_64-unknown-linux-gnu/lib/liblog_settings-316ffc51cb6cb4bf.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libmeasureme-846e877e2fa9dedb.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libmemmap-5d1ce05df91ff5ad.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libmemoffset-826dd9e6a27e7be8.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libminiz_sys-1ca108c45fcef254.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libnodrop-9548fd0c1aab0345.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libnum_cpus-7a33609527bcec71.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libonce_cell-5effcb4d92b09ec0.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libpanic_abort-4b7362f1daba0b67.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-e8f25f1479c7909f.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libparking_lot-c0254d78de2fb43c.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libparking_lot_core-7ed1adc4d24cd3fc.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libpolonius_engine-38bf41783de8ef85.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libppv_lite86-de8a066e3a7b47e1.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libproc_macro-117a68358dd52808.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libpunycode-b8837a6f7f1330e0.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librand-57a3f0d5fd302039.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librand_chacha-848d1e2a0a29fee0.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librand_core-dc5a3b7e4d118535.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libremove_dir_all-a43548349482c5ea.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librls_data-4f2c6d6f34f4396b.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librls_span-d68555bad0c8b4c4.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_apfloat-f7e7bb8e208816f3.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_asan-72a98db263e5b446.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_ast_borrowck-ac2d73d5776bcf49.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc-bbf7197366ce1511.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_codegen_ssa-0fcff69c6a276ffb.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_codegen_utils-5a8d0a51bf30ef9b.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_data_structures-952e0c68e9cca6e1.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-360973d6a8a839f2.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-a4a5d110fcb9fa25.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_driver-29e6cebe3c3971a7.so
rustlib/x86_64-unknown-linux-gnu/lib/librustc_errors-1dbd806ce6e365ac.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_fs_util-8191714d3280668f.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_hash-22497d43d2cc6980.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_incremental-d2c59145d1cae9df.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_interface-8980247355978da1.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_lexer-64c2ae2961f301d7.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_lint-9124cea9598c026e.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_lsan-31819e91fec99c27.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_macros-ec44d4856a2db4cd.so
rustlib/x86_64-unknown-linux-gnu/lib/librustc_metadata-0dad06b5ad11c6e2.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_mir-7d16ed7716874475.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_msan-5690f798957a29fb.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_passes-829b6f2c7e8c9f27.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_plugin-7f4bebb377e6f695.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_plugin_impl-ecc88b36ceb20b61.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_privacy-492552cefb919cf2.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_rayon_core-b29424abf39b468a.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_rayon-df53eccb80fe0377.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_resolve-670b13e9fd45ca39.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_save_analysis-a757b57b3dbcce55.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-ccb7f85b9552784b.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-385f65ee94807303.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-541cc8a35bc662dd.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_target-e350a4a7004a9634.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_traits-b4c705fb4e7105f0.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_tsan-3a588f132cd70943.rlib
rustlib/x86_64-unknown-linux-gnu/lib/librustc_typeck-19519d05e570a035.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libryu-57fed4e24d38e082.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libscoped_tls-db421b31bcc23dbc.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libscopeguard-443b1815dd811120.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libscopeguard-c58b19b79683e2ed.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libserde-dda0d123617e8257.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libserde_json-14ae927e29a576d5.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libserialize-afda782ae116fae8.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libsmallvec-863535aef490ac47.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libstable_deref_trait-e83e41401065dbcc.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libstd-b36f3fa61e38f00c.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libstd-b36f3fa61e38f00c.so
rustlib/x86_64-unknown-linux-gnu/lib/libsyntax-1af5aec2ec936254.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libsyntax_ext-b10a0f6ab0d97a78.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libsyntax_pos-17a1a353e8a92672.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libtempfile-4e88c3b9cfcf48be.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libtermcolor-1cfb690fc61a1c36.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libterm-d4f65c2c1fcd90e6.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libterm_size-52ef24c2e5daa8d8.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libtest-d8d279e9d913926e.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libtest-d8d279e9d913926e.so
rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-61a3636ef768b313.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-ce3cfcbd66a1b115.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libunicode_xid-dd34bf041afa96c3.rlib
rustlib/x86_64-unknown-linux-gnu/lib/libunwind-b80ef1b761dd638e.rlib

src/bootstrap/dist.rs Outdated Show resolved Hide resolved
@Mark-Simulacrum
Copy link
Member

I do think this is a conversation worth having -- at least, it would make sense to me to not ship these components on beta/stable, since to my knowledge no one (should be) using them there; even we don't do so in-tree.

I think in some sense this is also a broader question than just release team, though I'm not sure what teams I'd include necessarily. I guess maybe compiler and infra teams?

@Centril Centril added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-release Relevant to the release subteam, which will review and decide on the PR/issue. labels Sep 26, 2019
@Centril
Copy link
Contributor

Centril commented Sep 26, 2019

This seems like an excellent idea!

One wonders why we haven't done this before...

r? @Mark-Simulacrum

@Centril
Copy link
Contributor

Centril commented Sep 26, 2019

(Summary from discussion on Discord):

I think we should move out the sanitizers (tsan, lsan, msan, asan) from the rust-std component as well. In total they account for 14M which is 8% of 171M -- that's not nothing. Also worth noting that the sanitizers are unstable (see #47174) and not available on all tier-1 targets (e.g. macOS). Many people have no clue how to use them, including myself.

@cuviper
Copy link
Member Author

cuviper commented Sep 27, 2019

Oh, the sanitizers are a direct dependency of std, which is why they exist as minimal shims even when not enabled in the build configuration.

[target.x86_64-apple-darwin.dependencies]
rustc_asan = { path = "../librustc_asan" }
rustc_tsan = { path = "../librustc_tsan" }
[target.x86_64-unknown-linux-gnu.dependencies]
rustc_asan = { path = "../librustc_asan" }
rustc_lsan = { path = "../librustc_lsan" }
rustc_msan = { path = "../librustc_msan" }
rustc_tsan = { path = "../librustc_tsan" }

@eddyb
Copy link
Member

eddyb commented Sep 27, 2019

Aren't the rustc rlibs supposed to be part of the rustc component, in the host part of the sysroot, not in the per-target dirs? Or is that just the dylibs necessary to run the compiler?

I would probably suggest rustc-dev if we want to have a component for specifically rlibs you need in order to build code against host rustc (and see no point in providing target rlibs).

@bjorn3
Copy link
Member

bjorn3 commented Sep 27, 2019

Aren't the rustc rlibs supposed to be part of the rustc component, in the host part of the sysroot, not in the per-target dirs?

You need them to cross compile for example miri.

@ollie27
Copy link
Member

ollie27 commented Sep 27, 2019

This looks like it will be fixing #44037.

@cuviper
Copy link
Member Author

cuviper commented Sep 27, 2019

Aren't the rustc rlibs supposed to be part of the rustc component, in the host part of the sysroot, not in the per-target dirs? Or is that just the dylibs necessary to run the compiler?

The latter -- the rustc component only has bin/rustc etc. and their related shared objects.

I would probably suggest rustc-dev if we want to have a component for specifically rlibs you need in order to build code against host rustc (and see no point in providing target rlibs).

I'm fine with the name rustc-dev, but I think we probably do want this available for cross compiles. AFAIK that's only a difference in the rustup manifest (src/tools/build-manifest).


Status: the code as-is works for ./x.py dist libstd, but ./x.py install libstd ends up trying to use stage2-std/$target/release/.libstd.stamp, which doesn't exist unless you do a full bootstrap. I'm not sure why dist only uses stage1 in the first place though. I'll try to work this out.

@cuviper cuviper force-pushed the min-std branch 2 times, most recently from f1fbbf0 to 465f93c Compare October 3, 2019 17:57
@cuviper
Copy link
Member Author

cuviper commented Oct 3, 2019

I think this is in a fairly good state now, with a rustc-dev package for the unstable compiler libs. I'm not sure about the build-manifest stuff, because I don't know how to run that locally. I also don't know how to install rustc-dev by default for nightly users, if we indeed want that.

@cuviper cuviper changed the title [WIP] minimize the rust-std component minimize the rust-std component Oct 3, 2019
@cuviper cuviper marked this pull request as ready for review October 3, 2019 18:47
@Mark-Simulacrum
Copy link
Member

I personally am not sure who all should be in charge of this decision so I'll try and bring it up at core team meeting tomorrow. I myself believe this to be a good step to take presuming it doesn't break anything for our own shipped tools (RLS, clippy).

@cuviper
Copy link
Member Author

cuviper commented Oct 3, 2019

@bors try

@bors
Copy link
Contributor

bors commented Oct 3, 2019

⌛ Trying commit 637ad7bea122e567530aa234eabfdfc8ed633f53 with merge 98951af235be5a9ac3aa0b556298b09d97d97924...

@bors
Copy link
Contributor

bors commented Oct 4, 2019

☀️ Try build successful - checks-azure
Build commit: 98951af235be5a9ac3aa0b556298b09d97d97924 (98951af235be5a9ac3aa0b556298b09d97d97924)

@alexcrichton
Copy link
Member

I'm not sure if I'll make it to triage this afternoon but wanted to say that I'm also in favor of this, it's indeed a bummer that a few hundred never-used megabytes are downloaded for only wanting libstd!

I do think that separation into rust-dev packages will break development of clippy/rls/etc since they all link to the compiler and the libraries will no longer be there. Fixing should be relatively easy though since it's just rustup component add. I am not certain whether rustup changes will be necessary to actually use this component (I always forget if they're hardcoded in rustup or dynamically learned about). In any case we probably want to make sure everyone's aware of this change happening (clippy/rls/rustup/etc) before we land it, although I suspect everyone's on board with downloading hundreds of less megabytes for targets!

@RalfJung
Copy link
Member

FWIW this is being reverted in #65342 because of the problems it caused.

bors added a commit that referenced this pull request Oct 13, 2019
Revert "Auto merge of #64823 - cuviper:min-std, r=Mark-Simulacrum"

This reverts commit 000d90b, reversing
changes made to 898f36c.

This turned out to break quite a few targets, cc #65335
@RalfJung RalfJung mentioned this pull request Oct 14, 2019
@stefson
Copy link

stefson commented Oct 15, 2019

Since it was reverted due to problems, is this pullrequest going to be rebooted at some point in the future?

bors added a commit that referenced this pull request Oct 16, 2019
[dev-nightly] Testing out rustc-dev

This PR targets a non-official branch such that we can run full CI and eventually build a nightly from the branch on dev-static; this will hopefully allow us to iron out kinks prior to merging this PR's commits into master proper.

cc #64823 and #65337
bors added a commit that referenced this pull request Oct 23, 2019
Split the rustc target libraries into separate rustc-dev component

This is re-applies a squashed version of #64823 as well as including #65337 to fix bugs noted after merging the first PR.

The second PR is confirmed as fixing windows-gnu, and presumably also fixes other platforms, such as musl (i.e. #65335 should be fixed); `RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly-2019-10-16` can be installed to confirm that this is indeed the case.
bors added a commit that referenced this pull request Oct 24, 2019
Split the rustc target libraries into separate rustc-dev component

This is re-applies a squashed version of #64823 as well as including #65337 to fix bugs noted after merging the first PR.

The second PR is confirmed as fixing windows-gnu, and presumably also fixes other platforms, such as musl (i.e. #65335 should be fixed); `RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly-2019-10-16` can be installed to confirm that this is indeed the case.
stefson added a commit to stefson/gentoo-rust that referenced this pull request Nov 8, 2019
pr65474 minimizes the amount of files needed for the install
of a rust-std component by not merging certain dev-header
files and other instable components.

more information:
rust-lang/rust#64823
rust-lang/rust#65474

I opted for +-r1 and dropped keywords, for testing.

Also included pr66103, it shouldn't hurt anyone.

Signed-off-by: Steffen Kuhn <nielson2@yandex.com>
gentoo-bot pushed a commit to gentoo/gentoo-rust that referenced this pull request Nov 11, 2019
pr65474 minimizes the amount of files needed for the install
of a rust-std component by not merging certain dev-header
files and other instable components.

more information:
rust-lang/rust#64823
rust-lang/rust#65474

I opted for +-r1 and dropped keywords, for testing.

Also included pr66103, it shouldn't hurt anyone.

Signed-off-by: Steffen Kuhn <nielson2@yandex.com>
Closes: #464
Signed-off-by: Mikhail Pukhlikov <cynede@gentoo.org>
stefson added a commit to stefson/musl that referenced this pull request Nov 16, 2019
pr65474 minimizes the amount of files needed for the install
of a rust-std component by not merging certain dev-header
files and other instable components.

more information:
rust-lang/rust#64823
rust-lang/rust#65474

Signed-off-by: Steffen Kuhn <nielson2@yandex.com>
symphorien added a commit to symphorien/nixpkgs that referenced this pull request Jan 11, 2020
This enables to compile rls and rustc

See also rust-lang/rust#64823
@cuviper cuviper deleted the min-std branch April 3, 2020 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. relnotes Marks issues that should be documented in the release notes of the next release. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-release Relevant to the release subteam, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

The total Rust archive size has intensified recently Rust platform size