@@ -27,7 +27,8 @@ library, this is useful for a variety of reasons:
27
27
- Re-building the standard library with different configuration options (e.g. changing the
28
28
optimisation level, using flags which change the ABI, or which add additional exploit
29
29
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.
31
32
- Stabilisation of various compiler flags which change the ABI, add additional exploit
32
33
mitigations (such as ` -Zsanitizers=cfi ` or ` -Zbranch-protection ` ), or which otherwise only make
33
34
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:
77
78
- Next, after and conditional on acceptance of this RFC, we will proceed with its
78
79
implementation.
79
80
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
+
80
103
### The "shiny future" we are working towards
81
104
82
105
After the approval and implementation of the MVP RFC, there will naturally be follow-up use cases
0 commit comments