#!/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 }