summaryrefslogtreecommitdiffstats
path: root/TOOLS/appveyor-install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'TOOLS/appveyor-install.sh')
-rwxr-xr-xTOOLS/appveyor-install.sh62
1 files changed, 50 insertions, 12 deletions
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
+)