summaryrefslogtreecommitdiffstats
path: root/TOOLS
diff options
context:
space:
mode:
authorJames Ross-Gowan <rossy@jrg.systems>2017-11-07 22:02:03 +1100
committerJames Ross-Gowan <rossy@jrg.systems>2017-11-08 07:22:54 +1100
commitbd4ec8e4e1e9a18a8c667a0265fe2bb0e324f8bc (patch)
tree65aafb18ffb2aae23ddd0e169c3e55ba317b3437 /TOOLS
parente7bf5576e599593b1bba5bbf2a7cd6d4270c7809 (diff)
downloadmpv-bd4ec8e4e1e9a18a8c667a0265fe2bb0e324f8bc.tar.bz2
mpv-bd4ec8e4e1e9a18a8c667a0265fe2bb0e324f8bc.tar.xz
appveyor: update ffmpeg and test d3d11/vulkan
Build ffmpeg-mpv, shaderc and crossc from source, since they are not packaged in MSYS2. Also, add some more explicit --enable flags to the mpv build to make sure things like D3D11, D3D11VA hwaccels and Vulkan are auto-detected.
Diffstat (limited to 'TOOLS')
-rwxr-xr-xTOOLS/appveyor-build.sh9
-rwxr-xr-xTOOLS/appveyor-install.sh62
2 files changed, 57 insertions, 14 deletions
diff --git a/TOOLS/appveyor-build.sh b/TOOLS/appveyor-build.sh
index f6c94fb90b..8796118df3 100755
--- a/TOOLS/appveyor-build.sh
+++ b/TOOLS/appveyor-build.sh
@@ -10,7 +10,10 @@ export PYTHON=/usr/bin/python3
"$PYTHON" bootstrap.py
"$PYTHON" waf configure \
--check-c-compiler=gcc \
- --disable-cdda \
+ --disable-egl-angle-lib \
+ --enable-crossc \
+ --enable-d3d-hwaccel \
+ --enable-d3d11 \
--enable-egl-angle \
--enable-jpeg \
--enable-lcms2 \
@@ -18,5 +21,7 @@ export PYTHON=/usr/bin/python3
--enable-libass \
--enable-lua \
--enable-rubberband \
- --enable-uchardet
+ --enable-shaderc \
+ --enable-uchardet \
+ --enable-vulkan
"$PYTHON" waf build
diff --git a/TOOLS/appveyor-install.sh b/TOOLS/appveyor-install.sh
index b0d276eab7..6ae8f34ea3 100755
--- a/TOOLS/appveyor-install.sh
+++ b/TOOLS/appveyor-install.sh
@@ -1,15 +1,6 @@
#!/usr/bin/bash
set -e
-case $MSYSTEM in
-MINGW32)
- export MINGW_PACKAGE_PREFIX=mingw-w64-i686
- ;;
-MINGW64)
- export MINGW_PACKAGE_PREFIX=mingw-w64-x86_64
- ;;
-esac
-
# Write an empty fonts.conf to speed up fc-cache
export FONTCONFIG_FILE=/dummy-fonts.conf
cat >"$FONTCONFIG_FILE" <<EOF
@@ -20,16 +11,63 @@ EOF
# Install build dependencies for mpv
pacman -S --noconfirm --needed \
- $MINGW_PACKAGE_PREFIX-gcc \
+ $MINGW_PACKAGE_PREFIX-toolchain \
$MINGW_PACKAGE_PREFIX-angleproject-git \
- $MINGW_PACKAGE_PREFIX-ffmpeg \
+ $MINGW_PACKAGE_PREFIX-cmake \
$MINGW_PACKAGE_PREFIX-lcms2 \
$MINGW_PACKAGE_PREFIX-libarchive \
$MINGW_PACKAGE_PREFIX-libass \
$MINGW_PACKAGE_PREFIX-libjpeg-turbo \
$MINGW_PACKAGE_PREFIX-lua51 \
+ $MINGW_PACKAGE_PREFIX-ninja \
$MINGW_PACKAGE_PREFIX-rubberband \
- $MINGW_PACKAGE_PREFIX-uchardet
+ $MINGW_PACKAGE_PREFIX-uchardet \
+ $MINGW_PACKAGE_PREFIX-vulkan
# Delete unused packages to reduce space used in the Appveyor cache
pacman -Sc --noconfirm
+
+# Compile ffmpeg-mpv
+(
+ git clone --depth=1 https://github.com/mpv-player/ffmpeg-mpv.git && cd ffmpeg-mpv
+
+ mkdir build && cd build
+ ../configure \
+ --prefix=$MINGW_PREFIX \
+ --target-os=mingw32 \
+ --arch=$MSYSTEM_CARCH \
+ --disable-static \
+ --disable-doc \
+ --disable-asm \
+ --enable-gpl \
+ --enable-version3 \
+ --enable-shared \
+ --enable-pic \
+ --enable-d3d11va \
+ --enable-dxva2 \
+ --enable-schannel
+ make -j4 install
+)
+
+# Compile shaderc
+(
+ git clone --depth=1 https://github.com/google/shaderc && cd shaderc
+ git clone --depth=1 https://github.com/google/glslang.git third_party/glslang
+ git clone --depth=1 https://github.com/KhronosGroup/SPIRV-Tools.git third_party/spirv-tools
+ git clone --depth=1 https://github.com/KhronosGroup/SPIRV-Headers.git third_party/spirv-headers
+
+ mkdir build && cd build
+ cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DSHADERC_SKIP_TESTS=ON \
+ -DCMAKE_INSTALL_PREFIX=$MINGW_PREFIX ..
+ ninja install
+ cp -f libshaderc/libshaderc_shared.dll $MINGW_PREFIX/bin/
+)
+
+# Compile crossc
+(
+ git clone --depth=1 https://github.com/rossy/crossc && cd crossc
+ git submodule init
+ git submodule update
+
+ make -j4 install prefix=$MINGW_PREFIX
+)