From f1168d301689f2d9ef048485a53552a9d569f984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 13 Nov 2019 12:59:53 +0200 Subject: [PATCH] Don't rely on EXEEXT as an env variable, infer it from --host instead --- Dockerfile.cross | 3 +-- build-cross-tools.sh | 3 +-- install-wrappers.sh | 4 ++++ strip-llvm.sh | 20 ++++++++++++++++++-- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/Dockerfile.cross b/Dockerfile.cross index 23b9b45..a5eb0c6 100644 --- a/Dockerfile.cross +++ b/Dockerfile.cross @@ -19,7 +19,6 @@ RUN apt-get update -qq && \ ARG CROSS_ARCH=x86_64 ENV CROSS_TOOLCHAIN_PREFIX=/opt/llvm-mingw-$CROSS_ARCH -ENV EXEEXT=.exe ENV HOST=$CROSS_ARCH-w64-mingw32 ARG FULL_LLVM @@ -27,7 +26,7 @@ ARG FULL_LLVM COPY build-llvm.sh . RUN ./build-llvm.sh $CROSS_TOOLCHAIN_PREFIX --host=$HOST COPY strip-llvm.sh . -RUN ./strip-llvm.sh $CROSS_TOOLCHAIN_PREFIX +RUN ./strip-llvm.sh $CROSS_TOOLCHAIN_PREFIX --host=$HOST ARG TOOLCHAIN_ARCHS="i686 x86_64 armv7 aarch64" diff --git a/build-cross-tools.sh b/build-cross-tools.sh index 4cf058e..dd32e3d 100755 --- a/build-cross-tools.sh +++ b/build-cross-tools.sh @@ -11,11 +11,10 @@ PREFIX="$2" CROSS_ARCH="$3" export PATH=$NATIVE/bin:$PATH -export EXEEXT=.exe HOST=$CROSS_ARCH-w64-mingw32 ./build-llvm.sh $PREFIX --host=$HOST -./strip-llvm.sh $PREFIX +./strip-llvm.sh $PREFIX --host=$HOST ./build-mingw-w64.sh $PREFIX --skip-include-triplet-prefix --host=$HOST ./install-wrappers.sh $PREFIX --host=$HOST ./prepare-cross-toolchain.sh $NATIVE $PREFIX $CROSS_ARCH diff --git a/install-wrappers.sh b/install-wrappers.sh index eb7c84f..7e3151b 100755 --- a/install-wrappers.sh +++ b/install-wrappers.sh @@ -36,6 +36,10 @@ MINGW*) ;; esac +if [ -n "$HOST" ]; then + EXEEXT=.exe +fi + if [ -n "$EXEEXT" ]; then CLANG_MAJOR=$(basename $(echo $PREFIX/lib/clang/* | awk '{print $NF}') | cut -f 1 -d .) WRAPPER_FLAGS="$WRAPPER_FLAGS -municode -DCLANG=\"clang-$CLANG_MAJOR\"" diff --git a/strip-llvm.sh b/strip-llvm.sh index e92c42b..9a57f3b 100755 --- a/strip-llvm.sh +++ b/strip-llvm.sh @@ -2,17 +2,33 @@ set -e -if [ $# -lt 1 ]; then +unset HOST + +while [ $# -gt 0 ]; do + case "$1" in + --host=*) + HOST="${1#*=}" + ;; + *) + PREFIX="$1" + ;; + esac + shift +done +if [ -z "$PREFIX" ]; then echo $0 dir exit 1 fi -PREFIX="$1" cd "$PREFIX" if [ -n "$FULL_LLVM" ]; then exit 0 fi +if [ -n "$HOST" ]; then + EXEEXT=.exe +fi + case $(uname) in MINGW*) EXEEXT=.exe