-
Notifications
You must be signed in to change notification settings - Fork 15
Divide project into library and binary parts, round 2 #117
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
base: main
Are you sure you want to change the base?
Conversation
This comment has been minimized.
This comment has been minimized.
2e3fd8f
to
fb64091
Compare
0fc302e
to
a1893d4
Compare
592e58e
to
3590ceb
Compare
2bff512
to
8670d74
Compare
I've noticed just now that In the near future, I'll try to make it possible, but not sure when exactly... P. S.: First of all, I could remove |
Yes please, though could also be in a future PR. Background: If we ever want to support |
8738eda
to
f8850ce
Compare
7fc6d0d
to
6c9b274
Compare
This is just a fresh redo of #112.
After re-reading discussions of the previous PR, I've came to conclusion that I should reimplement it to split library/binary parts more aggressively (to remove unnecessary dependencies inside of build scripts).
Fixes #105
Requires:
JoinHandle
of watching thread to the caller rust-gpu#413Debug
forCargoCmd
rust-gpu#415AcceptFirstCompile
public rust-gpu#417spirv-builder
's watch API rust-gpu#422This PR uses move-then-modify trick in order to preserve file history of changes.
Here is the recap:
rustc_codegen_spirv-cache
which responsibility is to install backend codegen dylib (compile it & move inside of cache directory)cargo-gpu-build
(library part of the project) which handles building of shader cratesthis crate could be used inside of build scripts, something like this:
cargo-gpu
is a CLI (just the same as before), some of its internals was just moved into the crates aboveOpen questions:
shouldShaderCrateBuilder
be renamed intoCargoGpuBuilder
?