mirror of
https://github.com/jellyfin/jellyfin-ffmpeg.git
synced 2026-09-03 05:09:58 +03:00
62 lines
2.0 KiB
Bash
Executable File
62 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
SCRIPT_REPO="https://github.com/google/shaderc.git"
|
|
SCRIPT_COMMIT="d5f08ae5c5a9a45165578445cbd0f9adf0223448"
|
|
|
|
ffbuild_enabled() {
|
|
[[ $TARGET == mac* ]] && return -1
|
|
return 0
|
|
}
|
|
|
|
ffbuild_dockerbuild() {
|
|
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" shaderc
|
|
cd shaderc
|
|
|
|
./utils/git-sync-deps || exit $?
|
|
|
|
mkdir build && cd build
|
|
|
|
cmake -GNinja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \
|
|
-DSHADERC_SKIP_TESTS=ON -DSHADERC_SKIP_EXAMPLES=ON -DSHADERC_SKIP_COPYRIGHT_CHECK=ON \
|
|
-DENABLE_EXCEPTIONS=ON -DENABLE_GLSLANG_BINARIES=OFF -DSPIRV_SKIP_EXECUTABLES=ON \
|
|
-DSPIRV_TOOLS_BUILD_STATIC=ON -DBUILD_SHARED_LIBS=OFF ..
|
|
ninja -j$(nproc)
|
|
ninja install
|
|
|
|
# for some reason, this does not get installed...
|
|
cp libshaderc_util/libshaderc_util.a "$FFBUILD_PREFIX"/lib
|
|
|
|
echo "Libs: -lstdc++" >> "$FFBUILD_PREFIX"/lib/pkgconfig/shaderc_combined.pc
|
|
echo "Libs: -lstdc++" >> "$FFBUILD_PREFIX"/lib/pkgconfig/shaderc_static.pc
|
|
|
|
cp "$FFBUILD_PREFIX"/lib/pkgconfig/{shaderc_combined,shaderc}.pc
|
|
|
|
if [[ $TARGET == win* ]]; then
|
|
rm -r "$FFBUILD_PREFIX"/bin "$FFBUILD_PREFIX"/lib/*.dll.a
|
|
elif [[ $TARGET == linux* ]]; then
|
|
rm -r "$FFBUILD_PREFIX"/bin "$FFBUILD_PREFIX"/lib/*.so*
|
|
else
|
|
echo "Unknown target"
|
|
return -1
|
|
fi
|
|
|
|
# prepare native glslc for compilation time glsl->spv
|
|
mkdir ../native_build && cd ../native_build
|
|
|
|
unset CC CXX CFLAGS CXXFLAGS LD LDFLAGS AR RANLIB NM DLLTOOL PKG_CONFIG_LIBDIR
|
|
cmake -GNinja -DCMAKE_BUILD_TYPE=Release \
|
|
-DSHADERC_SKIP_TESTS=ON -DSHADERC_SKIP_EXAMPLES=ON -DSHADERC_SKIP_COPYRIGHT_CHECK=ON \
|
|
-DENABLE_EXCEPTIONS=ON -DSPIRV_TOOLS_BUILD_STATIC=ON -DBUILD_SHARED_LIBS=OFF ..
|
|
ninja -j$(nproc) glslc/glslc
|
|
|
|
cp glslc/glslc /opt/glslc
|
|
}
|
|
|
|
ffbuild_configure() {
|
|
echo --enable-libshaderc
|
|
}
|
|
|
|
ffbuild_unconfigure() {
|
|
echo --disable-libshaderc
|
|
}
|