FFmpeg-Builds/scripts.d/50-vulkan/60-libplacebo.sh

70 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
SCRIPT_REPO="https://code.videolan.org/videolan/libplacebo.git"
SCRIPT_COMMIT="3e25675dc10d98ac67d1ca2af9f07b79c543dc77"
ffbuild_enabled() {
[[ $ADDINS_STR == *4.4* ]] && return -1
[[ $ADDINS_STR == *5.0* ]] && return -1
[[ $ADDINS_STR == *5.1* ]] && return -1
[[ $ADDINS_STR == *6.0* ]] && return -1
return 0
}
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" placebo
cd placebo
git submodule update --init --recursive
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/placebo
mkdir build && cd build
local myconf=(
--prefix="$FFBUILD_PREFIX"
--buildtype=release
--default-library=static
-Dvulkan=enabled
-Dvk-proc-addr=disabled
-Dvulkan-registry="$FFBUILD_PREFIX"/share/vulkan/registry/vk.xml
-Dshaderc=enabled
-Dglslang=disabled
-Ddemos=false
-Dtests=false
-Dbench=false
-Dfuzz=false
)
if [[ $TARGET == win* ]]; then
myconf+=(
-Dd3d11=enabled
)
fi
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--cross-file=/cross.meson
)
else
echo "Unknown target"
return -1
fi
meson "${myconf[@]}" ..
ninja -j$(nproc)
ninja install
echo "Libs.private: -lstdc++" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libplacebo.pc
}
ffbuild_configure() {
echo --enable-libplacebo
}
ffbuild_unconfigure() {
[[ $ADDINS_STR == *4.4* ]] && return 0
echo --disable-libplacebo
}