From 005b8efd91fd1ffcfeb09ca2270e2929022176d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Sun, 10 Mar 2019 20:47:08 +0200 Subject: [PATCH] Allow building a full llvm install --- Dockerfile.cross | 2 ++ Dockerfile.dev | 2 ++ build-llvm.sh | 11 +++++++++-- strip-llvm.sh | 4 ++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Dockerfile.cross b/Dockerfile.cross index b38a851..610134d 100644 --- a/Dockerfile.cross +++ b/Dockerfile.cross @@ -22,6 +22,8 @@ ENV CROSS_TOOLCHAIN_PREFIX=/opt/llvm-mingw-$CROSS_ARCH ENV EXEEXT=.exe ENV HOST=$CROSS_ARCH-w64-mingw32 +ARG FULL_LLVM + COPY build-llvm.sh . RUN ./build-llvm.sh $CROSS_TOOLCHAIN_PREFIX COPY strip-llvm.sh . diff --git a/Dockerfile.dev b/Dockerfile.dev index 1636e62..da847cd 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -15,6 +15,8 @@ WORKDIR /build ENV TOOLCHAIN_PREFIX=/opt/llvm-mingw +ARG FULL_LLVM + # Build LLVM COPY build-llvm.sh ./ RUN ./build-llvm.sh $TOOLCHAIN_PREFIX diff --git a/build-llvm.sh b/build-llvm.sh index 211e408..0d6d2a2 100755 --- a/build-llvm.sh +++ b/build-llvm.sh @@ -12,13 +12,15 @@ while [ $# -gt 0 ]; do elif [ "$1" = "--enable-asserts" ]; then ASSERTS=ON BUILDDIR=build-asserts + elif [ "$1" = "--full-llvm" ]; then + FULL_LLVM=1 else PREFIX="$1" fi shift done if [ -z "$PREFIX" ]; then - echo $0 [--enable-asserts] dest + echo $0 [--enable-asserts] [--full-llvm] dest exit 1 fi @@ -127,6 +129,11 @@ if [ -n "$HOST" ]; then BUILDDIR=$BUILDDIR-$HOST fi +TOOLCHAIN_ONLY=ON +if [ -n "$FULL_LLVM" ]; then + TOOLCHAIN_ONLY=OFF +fi + cd llvm mkdir -p $BUILDDIR cd $BUILDDIR @@ -136,7 +143,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_ASSERTIONS=$ASSERTS \ -DLLVM_TARGETS_TO_BUILD="ARM;AArch64;X86" \ - -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON \ + -DLLVM_INSTALL_TOOLCHAIN_ONLY=$TOOLCHAIN_ONLY \ -DLLVM_TOOLCHAIN_TOOLS="llvm-ar;llvm-ranlib;llvm-objdump;llvm-rc;llvm-cvtres;llvm-nm;llvm-strings;llvm-readobj;llvm-dlltool;llvm-pdbutil;llvm-objcopy;llvm-strip" \ $CMAKEFLAGS \ .. diff --git a/strip-llvm.sh b/strip-llvm.sh index 3ba72a9..0a31741 100755 --- a/strip-llvm.sh +++ b/strip-llvm.sh @@ -9,6 +9,10 @@ fi PREFIX="$1" cd "$PREFIX" +if [ -n "$FULL_LLVM" ]; then + exit 0 +fi + case $(uname) in MINGW*) EXEEXT=.exe