google / shaderc

A collection of tools, libraries, and tests for Vulkan shader compilation.
Other
1.84k stars 362 forks source link

Provide binary libraries, please #414

Closed ghost closed 5 years ago

ghost commented 6 years ago

libshaderc compile process is garbage.

ghost commented 6 years ago

Or at least make it so one could just git clone --recursive https://github.com/google/shaderc && mkdir build && cd build && cmake .. -DSHADERC_SKIP_TESTS=ON && make without manual cloning to specifically cased third party folders, which will not match the older shaderc versions in future.

ghost commented 6 years ago

Here's debug versions I compiled right now on x64 Ubuntu, if someone needs them like me half an hour ago:

libshaderc_combined.a (55 MB): https://mega.nz/#!IVQCgJoL!EnqGJwsq7H-8s0-J5cbU09BLmo8lLAgg4kxqj9vG2iM

shaderc (26 MB): https://mega.nz/#!NJQRmIYJ!K2Xf63_ttfx6zaT7VFJn1bgnuvzNT5wAbOMbihwPgEU

Commits used: https://github.com/google/shaderc/commit/773ec22 https://github.com/google/googletest/commit/b3a2048 https://github.com/google/glslang/commit/fd1e8a7 https://github.com/KhronosGroup/SPIRV-Headers/commit/e0282aa https://github.com/KhronosGroup/SPIRV-Tools/commit/6018de8

Build log: log.txt

ghost commented 6 years ago

Release versions: libshaderc_combined.a.zip glslc.zip

Build log: log.txt

ehsannas commented 6 years ago

Hi @procedural , sorry to hear that. I am working towards making this happen :)

AWoloszyn commented 6 years ago

I understand that the process can be difficult, but I will at least point out the known-good branch, as a way to manage dependencies.

git clone git@github.com:google/shaderc.git --branch known-good --single-branch .
./update_shaderc_sources.py
mkdir build
cd build
cmake -GNinja .../src/ -DCMAKE_BUILD_TYPE=Debug 
ninja

Alternatively, check out the deps wherever you want, and use

cmake -GNinja -DSHADERC_GLSLANG_DIR=/path/to/glslang -DSHADERC_SPIRV_TOOLS_DIR=/path/to/spirv-tools ....

That way you never have to remember where the tree expects sources to be. It still doesn't help the needing to know what all of the dependencies are, but it lets you update them as you see fit.

ghost commented 6 years ago

@AWoloszyn the last thing I want to deal with is a python script that fetches dependencies for me.

dneto0 commented 6 years ago

libshaderc compile process is garbage.

Thank you for your interest.

Here's debug versions I compiled right now on x64 Ubuntu, if someone needs them like me half an hour

Shaderc and SPIRV-Tools command line executables and sources are available in the Android NDK, which is available for Linux, Windows, and OSX. They have been shipped in the NDK since r12b from June 2016. Given the release cycle of the NDK, the versions of the shader tools will lag the open source master branches by up to a couple of months.

Work is in progress to spin up new build bots. https://github.com/google/shaderc/pull/439 After that lands, we are likely to have those bots publish the built results. This will likely be the most convenient way to get the very latest versions of the code.

DethRaid commented 6 years ago

Has there been any progress on this in the last eight months? I'm having issues compiling shaderc on Windows with Visual Studio 2017 and would love to be able to grab pre-built binaries without installing the whole Android NDK

dneto0 commented 5 years ago

See #580 Hey @fjhenigman if this is resolved by the resolution to #580 then please close this one.

knappador commented 5 years ago

Arch Linux already has pre-compiled libraries. Gentoo has an e-build. I don't see an Ubuntu package but I don't use their stuff and might miss it.

If there is no Ubuntu package still, package management is not super duper hard and I'm sure Ubuntu devs will help one of their users learn the process through practice with libshaderc. Get on IRC and read the docs etc: http://packaging.ubuntu.com/html/packaging-new-software.html

The Rust shaderc-rs project seems to do a good job with cmake etc but I have no idea about windows. Some attempts at building and providing the pre-built binary for our project would be appreciated by someone who is not me :dancer: except in my soul as a maintainer

fjhenigman commented 5 years ago

Download links should be working now. More details in #580.