Skip to content

x.py doc cannot work when a junction point / symbolic link cannot be created. #43801

Open
@kennytm

Description

... for instance, in a VirtualBox shared folder, which are mapped as network drive, does not support junction point on Windows, which causes Incorrect function. (os error 1) always.

Symbolic links (junction points) are used because:

Here what we're doing is creating a symlink (directory junction on
Windows) to the final output location. This is not done as an
optimization but rather for correctness. We've got three trees of
documentation, one for std, one for test, and one for rustc. It's then
our job to merge them all together.

Unfortunately rustbuild doesn't know nearly as well how to merge doc
trees as rustdoc does itself, so instead of actually having three
separate trees we just have rustdoc output to the same location across
all of them.

This way rustdoc generates output directly into the output, and rustdoc
will also directly handle merging.

There should be other way to achieve the same effect? For example forcing rustdoc to output to stage$N/$TARGET/doc (bootstrap already wrapped rustdoc so it should be fine).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsC-enhancementCategory: An issue proposing an enhancement or a PR with one.C-optimizationCategory: An issue highlighting optimization opportunities or PRs implementing suchT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions