-
Notifications
You must be signed in to change notification settings - Fork 13.4k
bootstrap: translate Windows paths in a way that works for both Cygwin and MSYS2 #141556
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
Conversation
What confused me is why the rust/src/bootstrap/src/core/config/config.rs Lines 581 to 593 in 88b3b52
It can only be considered |
|
As for target name, Cygwin was decided to be a unix target rather than windows target in the beginning: #134999 . We wanted to reuse most code path for unix, and it seems to be a success now. |
Haven't heard of any. |
There's a shell in busybox, but it uses Windows style path. There's no shell in GnuWin32. |
Thanks |
🌲 The tree is currently closed for pull requests below priority 10. This pull request will be tested once the tree is reopened. |
Actually, can u pls leave a comment (i.e. what PR description says)? Otherwise it seems as if we pull a completely random incantation out of nowhere. |
@bors r- |
…n and MSYS2 Cygwin defaults to rooting Windows paths in /cygdrive/X, while MSYS2 configures them to be /X. Regardless of configuration, drives are always accessible as /proc/cygdrive/X, so use that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks
@bors r+ rollup |
…rors Rollup of 17 pull requests Successful merges: - #140591 (Fix malformed suggestion for E0061 when method is a macro token in macro context) - #141536 (Improve `ambiguous_wide_pointer_comparisons` lint compare diagnostics) - #141552 (Pull out dedicated `cfg_version` syntax test from feature gate test) - #141556 (bootstrap: translate Windows paths in a way that works for both Cygwin and MSYS2) - #141563 (Remove out-of-date `noop_*` names.) - #141568 (dist: make sure llvm-project submodule is present) - #141580 (Use more detailed spans in dyn compat errors within bodies) - #141582 (intrinsics, ScalarInt: minor cleanup) - #141584 (Support `opaque_types_defined_by` for `SyntheticCoroutineBody`) - #141587 (Add missing edition directives for async-await tests) - #141594 (Add `generic_arg_infer` test) - #141596 (rustc book: fix erratic sentence by making it more simple) - #141599 (Remove an unnecessary use of `Box::into_inner`.) - #141611 (Update mdbook to 0.4.51) - #141616 (Remove spastorino from vacations) - #141623 (use custom types to clarify arguments to `emit_ptr_va_arg`) - #141635 (further dedup `WalkItemKind` for `mut_visit` and `visit`) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of #141556 - jeremyd2019:patch-1, r=jieyouxu bootstrap: translate Windows paths in a way that works for both Cygwin and MSYS2 Cygwin defaults to rooting Windows paths in /cygdrive/X, while MSYS2 configures them to be /X. Regardless of configuration, drives are always accessible as /proc/cygdrive/X, so use that. If there are other shells on Windows that are supported and use /X style paths, perhaps something more complicated needs to be done. r? `@jieyouxu` `@Berrysoft` `@mati865`
yay, now I just need to wait for the cargo submodule to be updated and I won't have to patch anything to build rust-nightly on Cygwin! |
Cygwin defaults to rooting Windows paths in /cygdrive/X, while MSYS2 configures them to be /X. Regardless of configuration, drives are always accessible as /proc/cygdrive/X, so use that.
If there are other shells on Windows that are supported and use /X style paths, perhaps something more complicated needs to be done.
r? @jieyouxu
@Berrysoft @mati865