Skip to content
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

Consider doing only a "check" build of libstd #864

Closed
RalfJung opened this issue Jul 28, 2019 · 6 comments
Closed

Consider doing only a "check" build of libstd #864

RalfJung opened this issue Jul 28, 2019 · 6 comments
Labels
A-cargo Area: affects the cargo wrapper (cargo miri) C-proposal Category: a proposal for something we might want to do, or maybe not; details still being worked out

Comments

@RalfJung
Copy link
Member

Somewhere (I forgot) I got the recommendation to try and make Miri only do a "check" build of libstd, instead of doing a full "build". That could help circumventing rust-lang/rust#56443, which in turn would hopefully enable Miri to cross-interpret programs for any target.

I am unsure whether we should do this by extending xargo with support for "check" builds, or whether we should just copy the relevant parts of xargo and thus kill that dependency. I am not sure how much would have to be copied.

Cc @oli-obk

@RalfJung RalfJung added C-proposal Category: a proposal for something we might want to do, or maybe not; details still being worked out A-cargo Area: affects the cargo wrapper (cargo miri) labels Jul 28, 2019
@oli-obk
Copy link
Contributor

oli-obk commented Jul 28, 2019

No clue what the right way would be here. I'm not even sure what "all the things that xargo does" are. Maybe we can just call cargo check on a checkout of libstd?

@RalfJung
Copy link
Member Author

I'm not even sure what "all the things that xargo does" are

Same. I think it boils down to preparing a Cargo.toml in a tmpdir and calling cargo with the right flags and env vars.

Maybe we can just call cargo check on a checkout of libstd?

It should work with what is in the rust-src component, which is not a complete workspace.

@bjorn3
Copy link
Member

bjorn3 commented Jul 28, 2019

And it then copies the right files into the correct sysroot layout and then builds libtest in a way I dont yet understand.

@RalfJung
Copy link
Member Author

Ah good point, we need libtest as well.

@RalfJung
Copy link
Member Author

RalfJung commented Dec 6, 2019

@Aaron1011 is working on the basics for this in xargo, with the goal of resolving rust-lang/rust#66247.

@RalfJung RalfJung closed this as completed Dec 6, 2019
@RalfJung RalfJung reopened this Dec 6, 2019
@RalfJung
Copy link
Member Author

Closing in favor of #1057.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-cargo Area: affects the cargo wrapper (cargo miri) C-proposal Category: a proposal for something we might want to do, or maybe not; details still being worked out
Projects
None yet
Development

No branches or pull requests

3 participants