diff --git a/Dockerfile.dev b/Dockerfile.dev index 47146d3..db102e0 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -36,6 +36,10 @@ RUN ./build-mingw-w64.sh $TOOLCHAIN_PREFIX COPY build-compiler-rt.sh . RUN ./build-compiler-rt.sh $TOOLCHAIN_PREFIX +# Build mingw-w64's winpthreads +COPY build-mingw-w64-winpthreads.sh . +RUN ./build-mingw-w64-winpthreads.sh $TOOLCHAIN_PREFIX + # Build C test applications ENV PATH=$TOOLCHAIN_PREFIX/bin:$PATH diff --git a/build-all.sh b/build-all.sh index 5cff3a8..fa4d663 100755 --- a/build-all.sh +++ b/build-all.sh @@ -12,5 +12,6 @@ PREFIX="$1" ./install-wrappers.sh $PREFIX ./build-mingw-w64.sh $PREFIX ./build-compiler-rt.sh $PREFIX +./build-mingw-w64-winpthreads.sh $PREFIX ./build-libcxx.sh $PREFIX ./build-libssp.sh $PREFIX diff --git a/build-mingw-w64-winpthreads.sh b/build-mingw-w64-winpthreads.sh new file mode 100755 index 0000000..ba760fd --- /dev/null +++ b/build-mingw-w64-winpthreads.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +set -e + +if [ $# -lt 1 ]; then + echo $0 dest + exit 1 +fi +PREFIX="$1" +export PATH=$PREFIX/bin:$PATH + +: ${CORES:=4} +: ${ARCHS:=${TOOLCHAIN_ARCHS-i686 x86_64 armv7 aarch64}} + +cd mingw-w64/mingw-w64-libraries/winpthreads +for arch in $ARCHS; do + mkdir -p build-$arch + cd build-$arch + ../configure --host=$arch-w64-mingw32 --prefix=$PREFIX/$arch-w64-mingw32 \ + CC=$arch-w64-mingw32-clang AR=llvm-ar RANLIB=llvm-ranlib DLLTOOL=llvm-dlltool + make -j$CORES + make install + cd .. +done