summaryrefslogtreecommitdiffstats
path: root/ci/build-mingw64.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ci/build-mingw64.sh')
-rwxr-xr-xci/build-mingw64.sh21
1 files changed, 13 insertions, 8 deletions
diff --git a/ci/build-mingw64.sh b/ci/build-mingw64.sh
index ae64473379..7f3d9da3ee 100755
--- a/ci/build-mingw64.sh
+++ b/ci/build-mingw64.sh
@@ -23,6 +23,10 @@ export LDFLAGS="-fstack-protector-strong"
export PKG_CONFIG_SYSROOT_DIR="$prefix_dir"
export PKG_CONFIG_LIBDIR="$PKG_CONFIG_SYSROOT_DIR/lib/pkgconfig"
+if [[ "$TARGET" == "i686-"* ]]; then
+ export WINEPATH="`$CC -print-file-name=`;/usr/$TARGET/lib"
+fi
+
# autotools(-like)
commonflags="--disable-static --enable-shared"
@@ -39,8 +43,10 @@ cpp = ['ccache', '${CXX}']
ar = '${AR}'
strip = '${TARGET}-strip'
pkgconfig = 'pkg-config'
+pkg-config = 'pkg-config'
windres = '${TARGET}-windres'
dlltool = '${TARGET}-dlltool'
+exe_wrapper = 'wine'
[host_machine]
system = 'windows'
cpu_family = '${fam}'
@@ -51,6 +57,7 @@ EOF
# CMake
cmake_args=(
-Wno-dev
+ -GNinja
-DCMAKE_SYSTEM_PROCESSOR="${fam}"
-DCMAKE_SYSTEM_NAME=Windows
-DCMAKE_FIND_ROOT_PATH="$PKG_CONFIG_SYSROOT_DIR"
@@ -141,7 +148,7 @@ _ffmpeg () {
--pkg-config=pkg-config --target-os=mingw32
--enable-cross-compile --cross-prefix=$TARGET- --arch=${TARGET%%-*}
--cc="$CC" --cxx="$CXX" $commonflags
- --disable-{doc,programs,muxers,encoders}
+ --disable-{doc,programs}
--enable-muxer=spdif --enable-encoder=mjpeg,png --enable-libdav1d
)
pkg-config vulkan && args+=(--enable-vulkan --enable-libshaderc)
@@ -194,8 +201,7 @@ _vulkan_headers_mark=include/vulkan/vulkan.h
_vulkan_loader () {
[ -d Vulkan-Loader ] || $gitclone https://github.com/KhronosGroup/Vulkan-Loader
builddir Vulkan-Loader
- cmake .. "${cmake_args[@]}" \
- -DENABLE_WERROR=OFF -DUSE_GAS=ON
+ cmake .. "${cmake_args[@]}" -DUSE_GAS=ON
makeplusinstall
popd
}
@@ -222,7 +228,7 @@ _freetype () {
_freetype_mark=lib/libfreetype.dll.a
_fribidi () {
- local ver=1.0.13
+ local ver=1.0.14
gettar "https://github.com/fribidi/fribidi/releases/download/v${ver}/fribidi-${ver}.tar.xz"
builddir fribidi-${ver}
meson setup .. --cross-file "$prefix_dir/crossfile" \
@@ -233,7 +239,7 @@ _fribidi () {
_fribidi_mark=lib/libfribidi.dll.a
_harfbuzz () {
- local ver=8.3.0
+ local ver=8.4.0
gettar "https://github.com/harfbuzz/harfbuzz/releases/download/${ver}/harfbuzz-${ver}.tar.xz"
builddir harfbuzz-${ver}
meson setup .. --cross-file "$prefix_dir/crossfile" \
@@ -246,8 +252,7 @@ _harfbuzz_mark=lib/libharfbuzz.dll.a
_libass () {
[ -d libass ] || $gitclone https://github.com/libass/libass.git
builddir libass
- [ -f ../configure ] || (cd .. && ./autogen.sh)
- ../configure --host=$TARGET $commonflags
+ meson setup .. --cross-file "$prefix_dir/crossfile" -Ddefault_library=shared
makeplusinstall
popd
}
@@ -292,7 +297,7 @@ meson setup $build --cross-file "$prefix_dir/crossfile" \
--werror \
-Dc_args="-Wno-error=deprecated -Wno-error=deprecated-declarations" \
--buildtype debugoptimized \
- -Dlibmpv=true -Dlua=luajit \
+ -D{libmpv,tests}=true -Dlua=luajit \
-D{shaderc,spirv-cross,d3d11}=enabled
meson compile -C $build