From 577400a5f7d6c41d95c998dffdcca66dc7742287 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 13 Nov 2019 12:55:39 +0200 Subject: [PATCH] Pass $HOST to individual script with a --host parameter This avoids ambiguity on distributions (such as openSUSE) where the HOST environment variable already is set, to the hostname. --- Dockerfile.cross | 6 +++--- build-cross-tools.sh | 8 ++++---- build-llvm.sh | 19 ++++++++++++++----- build-mingw-w64.sh | 4 ++++ install-wrappers.sh | 16 ++++++++++++++-- 5 files changed, 39 insertions(+), 14 deletions(-) diff --git a/Dockerfile.cross b/Dockerfile.cross index fbb1529..23b9b45 100644 --- a/Dockerfile.cross +++ b/Dockerfile.cross @@ -25,18 +25,18 @@ ENV HOST=$CROSS_ARCH-w64-mingw32 ARG FULL_LLVM COPY build-llvm.sh . -RUN ./build-llvm.sh $CROSS_TOOLCHAIN_PREFIX +RUN ./build-llvm.sh $CROSS_TOOLCHAIN_PREFIX --host=$HOST COPY strip-llvm.sh . RUN ./strip-llvm.sh $CROSS_TOOLCHAIN_PREFIX ARG TOOLCHAIN_ARCHS="i686 x86_64 armv7 aarch64" COPY build-mingw-w64.sh ./ -RUN ./build-mingw-w64.sh $CROSS_TOOLCHAIN_PREFIX --skip-include-triplet-prefix +RUN ./build-mingw-w64.sh $CROSS_TOOLCHAIN_PREFIX --skip-include-triplet-prefix --host=$HOST COPY wrappers/*.sh wrappers/*.c wrappers/*.h ./wrappers/ COPY install-wrappers.sh . -RUN ./install-wrappers.sh $CROSS_TOOLCHAIN_PREFIX +RUN ./install-wrappers.sh $CROSS_TOOLCHAIN_PREFIX --host=$HOST COPY prepare-cross-toolchain.sh . RUN ./prepare-cross-toolchain.sh $TOOLCHAIN_PREFIX $CROSS_TOOLCHAIN_PREFIX $CROSS_ARCH diff --git a/build-cross-tools.sh b/build-cross-tools.sh index fa2e614..4cf058e 100755 --- a/build-cross-tools.sh +++ b/build-cross-tools.sh @@ -12,10 +12,10 @@ CROSS_ARCH="$3" export PATH=$NATIVE/bin:$PATH export EXEEXT=.exe -export HOST=$CROSS_ARCH-w64-mingw32 +HOST=$CROSS_ARCH-w64-mingw32 -./build-llvm.sh $PREFIX +./build-llvm.sh $PREFIX --host=$HOST ./strip-llvm.sh $PREFIX -./build-mingw-w64.sh $PREFIX --skip-include-triplet-prefix -./install-wrappers.sh $PREFIX +./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/build-llvm.sh b/build-llvm.sh index f51bd89..b30d845 100755 --- a/build-llvm.sh +++ b/build-llvm.sh @@ -4,19 +4,28 @@ set -e ASSERTS=OFF BUILDDIR=build +unset HOST while [ $# -gt 0 ]; do - if [ "$1" = "--disable-asserts" ]; then + case "$1" in + --disable-asserts) ASSERTS=OFF BUILDDIR=build - elif [ "$1" = "--enable-asserts" ]; then + ;; + --enable-asserts) ASSERTS=ON BUILDDIR=build-asserts - elif [ "$1" = "--full-llvm" ]; then + ;; + --full-llvm) FULL_LLVM=1 - else + ;; + --host=*) + HOST="${1#*=}" + ;; + *) PREFIX="$1" - fi + ;; + esac shift done if [ -z "$CHECKOUT_ONLY" ]; then diff --git a/build-mingw-w64.sh b/build-mingw-w64.sh index 771dde7..aa3b9e3 100755 --- a/build-mingw-w64.sh +++ b/build-mingw-w64.sh @@ -4,6 +4,7 @@ set -e DEFAULT_WIN32_WINNT=0x600 DEFAULT_MSVCRT=ucrt +unset HOST while [ $# -gt 0 ]; do case "$1" in @@ -16,6 +17,9 @@ while [ $# -gt 0 ]; do --with-default-msvcrt=*) DEFAULT_MSVCRT="${1#*=}" ;; + --host=*) + HOST="${1#*=}" + ;; *) PREFIX="$1" ;; diff --git a/install-wrappers.sh b/install-wrappers.sh index 9e71a02..eb7c84f 100755 --- a/install-wrappers.sh +++ b/install-wrappers.sh @@ -2,11 +2,23 @@ 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 dest exit 1 fi -PREFIX="$1" mkdir -p "$PREFIX" PREFIX="$(cd "$PREFIX" && pwd)"