-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Add a stable version of x.py #76380
Comments
cc @infinity0 - would this address your concerns about the changes? |
@jyn514 it sounds fine from my side, but others might find it confusing to have two top-level scripts with the same subcommand names and mostly-the-same CLI options. I'd be happy to call I also predict it would be more long-term work to wrap a stable API around unstable logic that selects convenient defaults, than wrapping unstable logic around a stable API, but perhaps you meant something slightly different from how I'm interpreting what you wrote. |
Ooh, calling src/bootstrap/bootstrap.py directly sounds like a great idea, let's do that.
I'm a little undecided myself - my original idea was to have a wrapper that adds |
Ah right, yes for some reason I thought bootstrap.py already did some parsing, but it looks like that's not the case. What you're saying makes sense now. |
@infinity0 I talked about this with @Mark-Simulacrum and we decided that maintaining a stable version of x.py in perpetuity would be too high of a maintenance burden; for instance, it wouldn't have allowed the changes in #76415. As an alternative, I opened several other issues that should help with your use case:
I'd love to hear your opinions on those! But I don't think a stable x.py is ever going to be implemented, so closing this. |
This came up in #76165 in response to the changes from #73964: currently the way to adapt to changes in x.py is 'learn about them because it broke something and change your workflow'. This is not ideal, especially for automated scripts. It would be great to have a separate, stable interface that doesn't change regardless of any changes to contributor defaults.
I imagine the defaults looking mostly, but not exactly, like the defaults prior to #73964:
src/rustc
will be on by defaultdebuginfo = 1
by default whendebug = true
will not be reverted - if you have strong opinions about debuginfo I expect you already havedebug = false
for a release build.The setup I imagine is two different scripts that work on the same underlying codebase:
x.py
andbootstrap.py
, wherebootstrap.py
is the stable version. Both will be 'facades' around the currentsrc/bootstrap/bootstrap.py
, and the logic of choosing defaults will still live in bootstrap.py and the rustbuild crate.The text was updated successfully, but these errors were encountered: