diff --git a/scripts.d/10-mingw.sh b/scripts.d/10-mingw.sh new file mode 100755 index 0000000..278307f --- /dev/null +++ b/scripts.d/10-mingw.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +MINGW_REPO="https://github.com/mirror/mingw-w64.git" +MINGW_COMMIT="a25dc933f3d3ed6c8529fb24b7ae393f8792ca69" + +ffbuild_enabled() { + [[ $TARGET == win* ]] || return -1 + return 0 +} + +ffbuild_dockerstage() { + to_df "ADD $SELF /stage.sh" + to_df "RUN run_stage" +} + +ffbuild_dockerbuild() { + git-mini-clone "$MINGW_REPO" "$MINGW_COMMIT" mingw + cd mingw/mingw-w64-headers + + unset CFLAGS + unset CXXFLAGS + unset LDFLAGS + unset PKG_CONFIG_LIBDIR + + autoreconf -i + + local myconf=( + --prefix="/usr/$FFBUILD_TOOLCHAIN" + --host="$FFBUILD_TOOLCHAIN" + --enable-idl + ) + + ./configure "${myconf[@]}" || return -1 + make -j$(nproc) || return -1 + make install || return -1 + + cd ../mingw-w64-libraries/winpthreads + + autoreconf -i + + local myconf=( + --prefix="/usr/$FFBUILD_TOOLCHAIN" + --host="$FFBUILD_TOOLCHAIN" + --with-pic + --disable-shared + --enable-static + ) + + ./configure "${myconf[@]}" || return -1 + make -j$(nproc) || return -1 + make install || return -1 + + cd ../../.. + rm -rf mingw +}