Skip to content

Commit c1efdff

Browse files
committed
updates after feedback from discussions
1 parent fbe6b78 commit c1efdff

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

src/2025h1/build-std.md

+24-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ library, this is useful for a variety of reasons:
2727
- Re-building the standard library with different configuration options (e.g. changing the
2828
optimisation level, using flags which change the ABI, or which add additional exploit
2929
mitigations).
30-
- Re-building the standard library with different `cfg`s (e.g. disabling `backtrace` in std).
30+
- Re-building the standard library with different `cfg`s (e.g. disabling `backtrace` in std), to
31+
the extent that such configurations are supported by the standard library.
3132
- Stabilisation of various compiler flags which change the ABI, add additional exploit
3233
mitigations (such as `-Zsanitizers=cfi` or `-Zbranch-protection`), or which otherwise only make
3334
sense to use when the entire program is compiled with the flag (including std) is blocked on
@@ -77,6 +78,28 @@ There are two primary objectives of this goal in its first six months:
7778
- Next, after and conditional on acceptance of this RFC, we will proceed with its
7879
implementation.
7980

81+
The fifty-thousand foot view of the work involved in this feature is:
82+
83+
- Having the standard library sources readily available that match the compiler.
84+
- Being able to build those sources without using a nightly toolchain, which has many
85+
possible solutions.
86+
- Having a blessed way to build at least `core` without Cargo, which some users like
87+
Rust for Linux would like.
88+
- This would be optional but may be a side-effect of whatever mechanism for build-std
89+
the MVP RFC eventually proposes.
90+
- Being able to tell the compiler to use the resulting prebuilt standard library sources
91+
instead of the built-in standard library, in a standard way.
92+
- Integrating all of the above into Cargo.
93+
- Making sure all of this works for targets that don't have a pre-built std.
94+
95+
Some of this work exists in the current perma-unstable `-Zbuild-std` implementation, which
96+
may be re-used if appropriate.
97+
98+
Prior to the submission of this goal, this goal has been discussed with the cargo team and
99+
leads of the compiler and library teams, ensuring that this goal's owners have liaisons from
100+
stakeholder teams and the support of the primary teams involved in the design and
101+
implementation.
102+
80103
### The "shiny future" we are working towards
81104

82105
After the approval and implementation of the MVP RFC, there will naturally be follow-up use cases

0 commit comments

Comments
 (0)