Skip to content

Switch repository layout to use a virtual manifest #702

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

Merged
merged 1 commit into from
Mar 19, 2025

Conversation

tgross35
Copy link
Contributor

@tgross35 tgross35 commented Sep 30, 2024

The current setup has the Cargo.toml for compiler-builtins at the
repository root, which means all support crates and other files are
located within the package root. This works for now but is not the
cleanest setup since files that should or shouldn't be included in the
package need to be configured in Cargo.toml. If we eventually merge
libm development into this repository, it would be nice to make this
separation more straightforward.

Begin cleaning things up by moving the crate source to a new
compiler-builtins directory and adding a virtual manifest. For now the
libm submodule is also moved, but in the future it can likely move
back to the top level (ideally compiler-builtins/src would contain a
symlink to libm/src/math, but unfortunately it seems like Cargo does
not like something about the submodule + symlink combination).

@tgross35 tgross35 force-pushed the workspace-changes branch 3 times, most recently from 9a42baa to f8c56a2 Compare March 10, 2025 10:24
@tgross35 tgross35 force-pushed the workspace-changes branch 9 times, most recently from eaae536 to d4f360e Compare March 19, 2025 05:37
@tgross35 tgross35 changed the title Experiment: move builtins within a virtual workspace Switch repository layout to use a virtual manifest Mar 19, 2025
@tgross35 tgross35 changed the title Switch repository layout to use a virtual manifest Switch repository layout to use a virtual manifest Mar 19, 2025
@tgross35 tgross35 force-pushed the workspace-changes branch 2 times, most recently from a6a5041 to 9a7e461 Compare March 19, 2025 05:42
@tgross35 tgross35 marked this pull request as ready for review March 19, 2025 05:43
@tgross35 tgross35 enabled auto-merge (rebase) March 19, 2025 05:44
The current setup has the `Cargo.toml` for `compiler-builtins` at the
repository root, which means all support crates and other files are
located within the package root. This works for now but is not the
cleanest setup since files that should or shouldn't be included in the
package need to be configured in `Cargo.toml`. If we eventually merge
`libm` development into this repository, it would be nice to make this
separation more straightforward.

Begin cleaning things up by moving the crate source to a new
`compiler-builtins` directory and adding a virtual manifest. For now the
`libm` submodule is also moved, but in the future it can likely move
back to the top level (ideally `compiler-builtins/src` would contain a
symlink to `libm/src/math`, but unfortunately it seems like Cargo does
not like something about the submodule + symlink combination).
@tgross35 tgross35 force-pushed the workspace-changes branch from 9a7e461 to 920e3d9 Compare March 19, 2025 05:45
@tgross35 tgross35 merged commit 3806cd0 into rust-lang:master Mar 19, 2025
26 checks passed
@tgross35 tgross35 deleted the workspace-changes branch March 19, 2025 05:49
@RalfJung
Copy link
Member

An unfortunate side-effect of this PR is that nothing builds any more after a git clone; one now has to initialize submodules. :/

@tgross35
Copy link
Contributor Author

I think that might have been from #763 rather than this PR, since libm is now always required. I'm hoping to merge the two repos at some point since I'd love to reuse a lot of the test infrastructure, and submodule annoyances - should be in the near future now that I finally figured out how make this PR work.

tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 9, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins`, which had a
similar update done in [1], if that is done at some point.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 9, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins`, which had a
similar update done in [1], if that is done at some point.

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 9, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` if that is done
at some point, which had a similar update done in [1].

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 9, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` if that is done
at some point, which had a similar update done in [1].

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 17, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` if that is done
at some point, which had a similar update done in [1].

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 18, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` if that is done
at some point, which had a similar update done in [1].

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 18, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` if that is done
at some point, which had a similar update done in [1].

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 18, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` if that is done
at some point, which had a similar update done in [1].

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 18, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` if that is done
at some point, which had a similar update done in [1].

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 18, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` if that is done
at some point, which had a similar update done in [1].

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 18, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` which is
planned (builtins had a similar update done in [1]).

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to tgross35/rust-libm that referenced this pull request Apr 18, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` which is
planned (builtins had a similar update done in [1]).

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to rust-lang/libm that referenced this pull request Apr 18, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` which is
planned (builtins had a similar update done in [1]).

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
tgross35 added a commit to rust-lang/libm that referenced this pull request Apr 18, 2025
Move the workspace configuration to a virtual manifest. This
reorganization makes a more clear separation between package contents
and support files that don't get distributed. It will also make it
easier to merge this repository with `compiler-builtins` which is
planned (builtins had a similar update done in [1]).

LICENSE.txt and README.md are symlinkedinto the new directory to ensure
they get included in the package.

[1]: rust-lang/compiler-builtins#702
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants