From 57b7ffd84db1ae9e4c2696cc14b963ce4c1f2d6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Mon, 14 Sep 2020 10:31:52 +0300 Subject: [PATCH] build-mingw-w64: Add a CHECKOUT_ONLY codepath --- build-mingw-w64-libraries.sh | 4 ++++ build-mingw-w64.sh | 40 ++++++++++++++++++++---------------- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/build-mingw-w64-libraries.sh b/build-mingw-w64-libraries.sh index 0651a22..73363b3 100755 --- a/build-mingw-w64-libraries.sh +++ b/build-mingw-w64-libraries.sh @@ -30,6 +30,10 @@ export PATH="$PREFIX/bin:$PATH" : ${CORES:=4} : ${ARCHS:=${TOOLCHAIN_ARCHS-i686 x86_64 armv7 aarch64}} +if [ ! -d mingw-w64 ] || [ -n "$SYNC" ]; then + CHECKOUT_ONLY=1 ./build-mingw-w64.sh +fi + cd mingw-w64/mingw-w64-libraries for lib in winpthreads winstorecompat; do cd $lib diff --git a/build-mingw-w64.sh b/build-mingw-w64.sh index 931e08d..cf7888b 100755 --- a/build-mingw-w64.sh +++ b/build-mingw-w64.sh @@ -41,19 +41,35 @@ while [ $# -gt 0 ]; do esac shift done -if [ -z "$PREFIX" ]; then - echo $0 [--skip-include-triplet-prefix] [--with-default-win32-winnt=0x601] [--with-default-msvcrt=ucrt] [--host=] dest - exit 1 +if [ -z "$CHECKOUT_ONLY" ]; then + if [ -z "$PREFIX" ]; then + echo $0 [--skip-include-triplet-prefix] [--with-default-win32-winnt=0x601] [--with-default-msvcrt=ucrt] [--host=] dest + exit 1 + fi + + mkdir -p "$PREFIX" + PREFIX="$(cd "$PREFIX" && pwd)" fi +if [ ! -d mingw-w64 ]; then + git clone git://git.code.sf.net/p/mingw-w64/mingw-w64 + CHECKOUT=1 +fi + +cd mingw-w64 + +if [ -n "$SYNC" ] || [ -n "$CHECKOUT" ]; then + [ -z "$SYNC" ] || git fetch + git checkout $MINGW_W64_VERSION +fi + +[ -z "$CHECKOUT_ONLY" ] || exit 0 + MAKE=make if [ "$(which gmake)" != "" ]; then MAKE=gmake fi -mkdir -p "$PREFIX" -PREFIX="$(cd "$PREFIX" && pwd)" - ORIGPATH="$PATH" if [ -z "$HOST" ]; then # The newly built toolchain isn't crosscompiled; add it to the path. @@ -69,18 +85,6 @@ fi : ${CORES:=4} : ${ARCHS:=${TOOLCHAIN_ARCHS-i686 x86_64 armv7 aarch64}} -if [ ! -d mingw-w64 ]; then - git clone git://git.code.sf.net/p/mingw-w64/mingw-w64 - CHECKOUT=1 -fi - -cd mingw-w64 - -if [ -n "$SYNC" ] || [ -n "$CHECKOUT" ]; then - [ -z "$SYNC" ] || git fetch - git checkout $MINGW_W64_VERSION -fi - # If crosscompiling the toolchain itself, we already have a mingw-w64 # runtime and don't need to rebuild it. if [ -z "$HOST" ]; then