Comments (5)
Hey @Lokathor, I intentionally disabled building binary targets from the dependent C++ projects because
- I think they are irrelevant to the purpose of this project, which is to provide Rust library wrapper.
- It will speed up the build.
But I'm not exactly sure about your use case. If you can call the C++ binaries instead, then you don't need the Rust library wrapper, which is for integrating with other Rust modules? :)
from shaderc-rs.
Maybe I don't understand how the crate works? When I built it on my machine I end up with binaries deep inside my target directory
d:\dev\learn-gfx-hal\target\debug\build\shaderc-0b3a14f59f26d605\out\bin>dir
Volume in drive D is Data
Volume Serial Number is B265-51AB
Directory of d:\dev\learn-gfx-hal\target\debug\build\shaderc-0b3a14f59f26d605\out\bin
2019-01-25 09:07 PM <DIR> .
2019-01-25 09:07 PM <DIR> ..
2019-01-25 09:06 PM 3,981,312 glslangValidator.exe
2019-01-25 09:06 PM 4,111,360 glslc.exe
2019-01-25 09:07 PM 4,038,144 shaderc_shared.dll
2019-01-15 09:01 AM 866 spirv-lesspipe.sh
2019-01-25 09:07 PM 218,624 spirv-remap.exe
2019-01-25 09:06 PM 1,156,608 SPIRV-Tools-shared.dll
Are those not important to the actual use of the crate? If they're not, why are they there. If they are, do I need to ship them with my program if I want my program to be able to compile GLSL->SPIRV?
Because of their existence, I assumed that the crate is just calling out to them to do the work, but I guess I could be totally wrong.
from shaderc-rs.
Hey @Lokathor, sorry for the late reply. The binaries compiled from C++ projects are not needed. (I turned off binary compilation switches in the build script but it seems some are not controlled by those switches, and they are still being compiled.) For those C++ projects, only libshaderc_combined.a
is needed, which is linked into libshaderc.rlib
for the Rust crate.
from shaderc-rs.
Ah ha! This explains a lot!
Well, I guess instead you've got a bug where some binaries are being built in error.
from shaderc-rs.
Thanks @Lokathor, it would be nice if you can open another issue for the bug of "some binaries are being built in error."
I'll close this one for now. :)
from shaderc-rs.
Related Issues (20)
- Updating shaderc version HOT 3
- Linking error when building with target-feature=+crt-static HOT 2
- Unable to build on Ubuntu 20.04 LTS - build wants "python" by name, but which one? HOT 3
- Can't find `/usr/lib/libshaderc_shared.so` HOT 1
- Build fails on Windows with Windows store Python HOT 7
- Can Compiler be Send, even Sync? HOT 1
- cannot find native shaderc library on system but Vulkan-SDK is installed
- Cannot find native shaderc library on system HOT 5
- Requesting a patch release 0.8.2 HOT 1
- [Possible Regression] Link failure on `1.67-x86_64-pc-windows-msvc` HOT 1
- shader_stage pragma for task and mesh not available
- Can't build a lib for Windows with MT_StaticRelease
- Failing to build on mac m1
- dylib not found when running without "cargo run" on macOS Sonoma
- Provide a feature to prefer static linking
- Crates that use shaderc at build time fail to build on docs.rs HOT 5
- Run in CI/GitHub Actions HOT 1
- Please update submodules HOT 1
- Failed to compile on Ubuntu HOT 1
- shaderc-sys build script doesn't detect Ubuntu libshaderc.so
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from shaderc-rs.