FFmpeg-Builds/scripts.d/10-mingw.sh

72 lines
1.5 KiB
Bash
Executable file

#!/bin/bash
MINGW_REPO="https://github.com/mirror/mingw-w64.git"
MINGW_COMMIT="c17efd05d019136a9b3527e2dd32234175c0a9f9"
ffbuild_enabled() {
[[ $TARGET == win* ]] || return -1
return 0
}
ffbuild_dockerstage() {
to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=patches/mingw,dst=/patches run_stage /stage.sh"
}
ffbuild_dockerlayer() {
to_df "COPY --from=${SELFLAYER} /opt/mingw/. /"
to_df "COPY --from=${SELFLAYER} /opt/mingw/. /opt/mingw"
}
ffbuild_dockerfinal() {
to_df "COPY --from=${PREVLAYER} /opt/mingw/. /"
}
ffbuild_dockerbuild() {
git-mini-clone "$MINGW_REPO" "$MINGW_COMMIT" mingw
cd mingw
for patch in /patches/*.patch; do
echo "Applying $patch"
git am < "$patch"
done
cd mingw-w64-headers
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
unset PKG_CONFIG_LIBDIR
autoreconf -i
local myconf=(
--prefix="/usr/$FFBUILD_TOOLCHAIN"
--host="$FFBUILD_TOOLCHAIN"
--with-default-win32-winnt="0x601"
--enable-idl
)
./configure "${myconf[@]}"
make -j$(nproc)
make install DESTDIR="/opt/mingw"
cd ../mingw-w64-libraries/winpthreads
autoreconf -i
local myconf=(
--prefix="/usr/$FFBUILD_TOOLCHAIN"
--host="$FFBUILD_TOOLCHAIN"
--with-pic
--disable-shared
--enable-static
)
./configure "${myconf[@]}"
make -j$(nproc)
make install DESTDIR="/opt/mingw"
}
ffbuild_configure() {
echo --disable-w32threads --enable-pthreads
}