From 46efff459a2665bb92d5aac407f23949b23f65fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 30 Jun 2021 09:23:55 +0300 Subject: [PATCH] build-llvm: Build with a shared libLLVM and libclang-cpp This reduces the size of e.g. the zipped toolchain for Windows from 183 MB to 85 MB. --- build-llvm.sh | 7 ++++++- strip-llvm.sh | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/build-llvm.sh b/build-llvm.sh index 054c6ca..172ff77 100755 --- a/build-llvm.sh +++ b/build-llvm.sh @@ -20,6 +20,7 @@ set -e ASSERTS=OFF unset HOST BUILDDIR="build" +LINK_DYLIB=ON ASSERTSSUFFIX="" while [ $# -gt 0 ]; do @@ -44,6 +45,9 @@ while [ $# -gt 0 ]; do LTO="full" BUILDDIR="$BUILDDIR-lto" ;; + --disable-dylib) + LINK_DYLIB=OFF + ;; --full-llvm) FULL_LLVM=1 ;; @@ -59,7 +63,7 @@ done BUILDDIR="$BUILDDIR$ASSERTSSUFFIX" if [ -z "$CHECKOUT_ONLY" ]; then if [ -z "$PREFIX" ]; then - echo $0 [--enable-asserts] [--stage2] [--thinlto] [--lto] [--full-llvm] [--host=triple] dest + echo $0 [--enable-asserts] [--stage2] [--thinlto] [--lto] [--disable-dylib] [--full-llvm] [--host=triple] dest exit 1 fi @@ -208,6 +212,7 @@ cmake \ ${EXPLICIT_PROJECTS+-DLLVM_ENABLE_PROJECTS="clang;lld;lldb"} \ -DLLVM_TARGETS_TO_BUILD="ARM;AArch64;X86" \ -DLLVM_INSTALL_TOOLCHAIN_ONLY=$TOOLCHAIN_ONLY \ + -DLLVM_LINK_LLVM_DYLIB=$LINK_DYLIB \ -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;llvm-cov;llvm-profdata;llvm-addr2line;llvm-symbolizer;llvm-windres" \ ${HOST+-DLLVM_HOST_TRIPLE=$HOST} \ -DLLDB_INCLUDE_TESTS=OFF \ diff --git a/strip-llvm.sh b/strip-llvm.sh index 9ac9d2e..984c94f 100755 --- a/strip-llvm.sh +++ b/strip-llvm.sh @@ -120,7 +120,7 @@ cd .. cd lib for i in lib*.a *.so* *.dylib* cmake; do case $i in - liblldb*) + liblldb*|libclang-cpp*|libLLVM*) ;; *) rm -rf $i