From 845cbcf0923e20c0e33c4c97139a300cfedd805b Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Thu, 23 Feb 2023 11:51:46 +0100 Subject: [PATCH 01/35] Test x86 linux --- Dockerfile.llvm | 14 ++++ Jenkinsfile | 133 +++++++++++++++++++++++++++++++++ llvm/Distribution-stage2.cmake | 29 +++++++ llvm/Distribution.cmake | 54 +++++++++++++ 4 files changed, 230 insertions(+) create mode 100644 Dockerfile.llvm create mode 100644 Jenkinsfile create mode 100644 llvm/Distribution-stage2.cmake create mode 100644 llvm/Distribution.cmake diff --git a/Dockerfile.llvm b/Dockerfile.llvm new file mode 100644 index 00000000..15c5b3c4 --- /dev/null +++ b/Dockerfile.llvm @@ -0,0 +1,14 @@ +FROM ubuntu:jammy + +RUN apt-get update +RUN apt-get install -y \ + build-essential \ + clang-14 \ + clang++-14 \ + cmake \ + libc6-dev-i386 \ + python3-pip \ + python3-distutils \ + vim \ + ninja-build \ + git diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..0191b80d --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,133 @@ +#!groovy + +/** + * This Jenkinsfile will only work in a Swift Navigation build/CI environment, as it uses + * non-public docker images and pipeline libraries. + */ + +// Use 'ci-jenkins@somebranch' to pull shared lib from a different branch than the default. +// Default is configured in Jenkins and should be from "stable" tag. +@Library("ci-jenkins") import com.swiftnav.ci.* + +def context = new Context(context: this) +context.setRepo("swift-toolchains") + +/** + * - Mount the refrepo to keep git operations functional on a repo that uses ref-repo during clone + **/ +String dockerMountArgs = "-v /mnt/efs/refrepo:/mnt/efs/refrepo" + +pipeline { + // Override agent in each stage to make sure we don't share containers among stages. + agent any + options { + // Make sure job aborts after 2 hours if hanging. + timeout(time: 4, unit: 'HOURS') + timestamps() + // Keep builds for 7 days. + buildDiscarder(logRotator(daysToKeepStr: '7')) + } + + stages { + stage('Build') { + parallel { + stage('llvm x86_64 linux') { + agent { + dockerfile { + filename "Dockerfile.llvm" + } + } + steps { + sh(''' + git clone https://github.com/llvm/llvm-project --branch=llvmorg-14.0.6 --single-branch + cd llvm-project + + mkdir build + cd build + + cmake -GNinja ../llvm \ + -DCMAKE_INSTALL_PREFIX=../out/ \ + -C ../../llvm/Distribution.cmake + ninja install-distribution + + find ../out/ + ''') + // uploadDistribution("clang+llvm-14.0.6-x86_64-linux", context) + } + } + // stage('llvm aarch64 darwin') { + // agent { + // node('macos-arm64') + // } + // steps { + // sh(''' + // git clone https://github.com/llvm/llvm-project --branch=llvmorg-14.0.6 --single-branch + // cd llvm-project + + // mkdir build + // cd build + + // cmake -GNinja ../llvm \ + // -DCMAKE_INSTALL_PREFIX=../out/ \ + // -DCMAKE_OSX_ARCHITECTURES='arm64' \ + // -DCMAKE_C_COMPILER=`which clang` \ + // -DCMAKE_CXX_COMPILER=`which clang++` \ + // -DCMAKE_BUILD_TYPE=Release \ + // -C ../../llvm/Distribution.cmake + // ninja stage2-install-distribution + // ''') + // uploadDistribution("clang+llvm-14.0.6-arm64-apple-darwin", context) + // } + // } + // stage('llvm x86_64 darwin') { + // agent { + // node('macos') + // } + // steps { + // sh(''' + // git clone https://github.com/llvm/llvm-project --branch=llvmorg-14.0.6 --single-branch + // cd llvm-project + // mkdir build + // cd build + // cmake -GNinja ../llvm \ + // -DCMAKE_INSTALL_PREFIX=../out/ \ + // -DCMAKE_OSX_ARCHITECTURES='x86_64' \ + // -DLLVM_ENABLE_RUNTIMES='compiler-rt;libcxx;libcxxabi' \ + // -DCMAKE_C_COMPILER=`which clang` \ + // -DCMAKE_CXX_COMPILER=`which clang++` \ + // -DCMAKE_BUILD_TYPE=Release \ + // -C ../../llvm/Distribution.cmake + // ninja stage2-install-distribution + // ''') + // uploadDistribution("clang+llvm-14.0.6-x86_64-apple-darwin", context) + // } + // } + } + } + } +} + +def uploadDistribution(name, context) { + sh(""" + mkdir -p tar/${name}/bin + cp llvm-project/out/bin/llvm-ar \ + llvm-project/out/bin/llvm-cov \ + llvm-project/out/bin/llvm-dwp \ + llvm-project/out/bin/llvm-nm \ + llvm-project/out/bin/llvm-objcopy \ + llvm-project/out/bin/llvm-objdump \ + llvm-project/out/bin/llvm-profdata \ + llvm-project/out/bin/llvm-strip \ + llvm-project/out/bin/clang-cpp \ + llvm-project/out/bin/ld.lld \ + tar/${name}/bin + """) + tar(file: "${name}.tar.gz", dir: 'tar', archive: true) + script{ + context.archivePatterns( + patterns: ["${name}.tar.gz"], + path: "swift-toolchains/${context.gitDescribe()}/${name}.tar.gz", + jenkins: false + ) + } +} diff --git a/llvm/Distribution-stage2.cmake b/llvm/Distribution-stage2.cmake new file mode 100644 index 00000000..fc9fe4dc --- /dev/null +++ b/llvm/Distribution-stage2.cmake @@ -0,0 +1,29 @@ +# This file sets up a CMakeCache for the second stage of a simple distribution +# bootstrap build. + +set(LLVM_ENABLE_PROJECTS "clang;lld" CACHE STRING "") + +set(LLVM_TARGETS_TO_BUILD Native CACHE STRING "") + +set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "") +set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -gline-tables-only -DNDEBUG" CACHE STRING "") +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -gline-tables-only -DNDEBUG" CACHE STRING "") + +# setup toolchain +set(LLVM_INSTALL_TOOLCHAIN_ONLY ON CACHE BOOL "") +set(LLVM_TOOLCHAIN_TOOLS + llvm-ar + llvm-cov + llvm-dwp + llvm-nm + llvm-objcopy + llvm-objdump + llvm-profdata + llvm-strip + CACHE STRING "") + +set(LLVM_DISTRIBUTION_COMPONENTS + clang + lld + ${LLVM_TOOLCHAIN_TOOLS} + CACHE STRING "") diff --git a/llvm/Distribution.cmake b/llvm/Distribution.cmake new file mode 100644 index 00000000..24f2e10a --- /dev/null +++ b/llvm/Distribution.cmake @@ -0,0 +1,54 @@ +# This file sets up a CMakeCache for a simple distribution bootstrap build. + +#Enable LLVM projects and runtimes +set(LLVM_ENABLE_PROJECTS "clang;lld" CACHE STRING "") +set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi" CACHE STRING "") + +set(LLVM_TOOLCHAIN_TOOLS + llvm-ar + llvm-cov + llvm-dwp + llvm-nm + llvm-objcopy + llvm-objdump + llvm-profdata + llvm-strip + CACHE STRING "") + +set(LLVM_DISTRIBUTION_COMPONENTS + clang + lld + ${LLVM_TOOLCHAIN_TOOLS} + CACHE STRING "") + +# Only build the native target in stage1 since it is a throwaway build. +set(LLVM_TARGETS_TO_BUILD Native CACHE STRING "") + +# Optimize the stage1 compiler, but don't LTO it because that wastes time. +set(CMAKE_BUILD_TYPE Release CACHE STRING "") + +# Setup vendor-specific settings. +set(PACKAGE_VENDOR LLVM.org CACHE STRING "") + +# # Setting up the stage2 LTO option needs to be done on the stage1 build so that +# # the proper LTO library dependencies can be connected. +# set(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "") + +# if (NOT APPLE) +# # Since LLVM_ENABLE_LTO is ON we need a LTO capable linker +# set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "") +# endif() + +# # Expose stage2 targets through the stage1 build configuration. +# set(CLANG_BOOTSTRAP_TARGETS +# distribution +# install-distribution +# clang CACHE STRING "") + +# # Setup the bootstrap build. +# set(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "") + +# set(CLANG_BOOTSTRAP_CMAKE_ARGS +# -C ${CMAKE_CURRENT_LIST_DIR}/Distribution-stage2.cmake +# CACHE STRING "") + From 9fb7c323a925c5825c681872c7b8ad4bd84060dc Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Thu, 23 Feb 2023 16:12:35 +0100 Subject: [PATCH 02/35] Additional components --- Jenkinsfile | 16 +++------------- llvm/Distribution.cmake | 10 ++++++++-- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 0191b80d..1318a1f2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -52,7 +52,7 @@ pipeline { find ../out/ ''') - // uploadDistribution("clang+llvm-14.0.6-x86_64-linux", context) + uploadDistribution("clang+llvm-14.0.6-x86_64-linux", context) } } // stage('llvm aarch64 darwin') { @@ -109,18 +109,8 @@ pipeline { def uploadDistribution(name, context) { sh(""" - mkdir -p tar/${name}/bin - cp llvm-project/out/bin/llvm-ar \ - llvm-project/out/bin/llvm-cov \ - llvm-project/out/bin/llvm-dwp \ - llvm-project/out/bin/llvm-nm \ - llvm-project/out/bin/llvm-objcopy \ - llvm-project/out/bin/llvm-objdump \ - llvm-project/out/bin/llvm-profdata \ - llvm-project/out/bin/llvm-strip \ - llvm-project/out/bin/clang-cpp \ - llvm-project/out/bin/ld.lld \ - tar/${name}/bin + mkdir -p tar/${name}/ + cp -rH llvm-project/out/* tar/${name}/ """) tar(file: "${name}.tar.gz", dir: 'tar', archive: true) script{ diff --git a/llvm/Distribution.cmake b/llvm/Distribution.cmake index 24f2e10a..19ae052e 100644 --- a/llvm/Distribution.cmake +++ b/llvm/Distribution.cmake @@ -1,8 +1,10 @@ # This file sets up a CMakeCache for a simple distribution bootstrap build. #Enable LLVM projects and runtimes -set(LLVM_ENABLE_PROJECTS "clang;lld" CACHE STRING "") -set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi" CACHE STRING "") +set(LLVM_ENABLE_PROJECTS "clang;clang-tools-extra;lld" CACHE STRING "") +set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING "") + +set(COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "") set(LLVM_TOOLCHAIN_TOOLS llvm-ar @@ -18,9 +20,13 @@ set(LLVM_TOOLCHAIN_TOOLS set(LLVM_DISTRIBUTION_COMPONENTS clang lld + builtins + runtimes + clang-resource-headers ${LLVM_TOOLCHAIN_TOOLS} CACHE STRING "") + # Only build the native target in stage1 since it is a throwaway build. set(LLVM_TARGETS_TO_BUILD Native CACHE STRING "") From 4ecfca07d8c22e3a916baeb7650add2800ef21b4 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Fri, 24 Feb 2023 14:18:37 +0100 Subject: [PATCH 03/35] Use 18.04 --- Dockerfile.llvm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 15c5b3c4..65ce47a9 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -1,4 +1,4 @@ -FROM ubuntu:jammy +FROM ubuntu:18.04 RUN apt-get update RUN apt-get install -y \ From fc79cca1f6467f92466fcca8a3ef4a6df2eb6577 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Fri, 24 Feb 2023 14:48:07 +0100 Subject: [PATCH 04/35] Use clang-11 --- Dockerfile.llvm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 65ce47a9..0729da6b 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -3,8 +3,8 @@ FROM ubuntu:18.04 RUN apt-get update RUN apt-get install -y \ build-essential \ - clang-14 \ - clang++-14 \ + clang-11 \ + clang++-11 \ cmake \ libc6-dev-i386 \ python3-pip \ From 39bc3b13895c4ca6b7b242a9baa4e455bc4e4553 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Fri, 24 Feb 2023 15:08:49 +0100 Subject: [PATCH 05/35] Use clang-8 --- Dockerfile.llvm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 0729da6b..c486088f 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -3,8 +3,8 @@ FROM ubuntu:18.04 RUN apt-get update RUN apt-get install -y \ build-essential \ - clang-11 \ - clang++-11 \ + clang-8 \ + clang++-8 \ cmake \ libc6-dev-i386 \ python3-pip \ From f4dc05f9485bf8e644389eb142ea936201c77785 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Fri, 24 Feb 2023 15:26:16 +0100 Subject: [PATCH 06/35] Test --- Jenkinsfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1318a1f2..5186eac6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,9 +45,10 @@ pipeline { mkdir build cd build - cmake -GNinja ../llvm \ + cmake -GNinja \ -DCMAKE_INSTALL_PREFIX=../out/ \ - -C ../../llvm/Distribution.cmake + -C ../../llvm/Distribution.cmake \ + ../llvm ninja install-distribution find ../out/ From 8c342a727bf19431ec7f6a1c237ca6633143673f Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Fri, 24 Feb 2023 15:29:29 +0100 Subject: [PATCH 07/35] Install Cmake 3.13 --- Dockerfile.llvm | 7 +++++++ Jenkinsfile | 5 ++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index c486088f..1e327ca0 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -12,3 +12,10 @@ RUN apt-get install -y \ vim \ ninja-build \ git + +RUN \ + mkdir /opt/cmake && \ + wget -qO- https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.tar.gz | \ + tar -xzf - --strip-components 1 -C /opt/cmake + +ENV PATH=/opt/cmake/bin:${PATH} diff --git a/Jenkinsfile b/Jenkinsfile index 5186eac6..1318a1f2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,10 +45,9 @@ pipeline { mkdir build cd build - cmake -GNinja \ + cmake -GNinja ../llvm \ -DCMAKE_INSTALL_PREFIX=../out/ \ - -C ../../llvm/Distribution.cmake \ - ../llvm + -C ../../llvm/Distribution.cmake ninja install-distribution find ../out/ From c6a8c9a0754c763f3236bbc92d99d9c5bc7bf51c Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Fri, 24 Feb 2023 15:32:14 +0100 Subject: [PATCH 08/35] Install wget --- Dockerfile.llvm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 1e327ca0..38aba955 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -5,7 +5,7 @@ RUN apt-get install -y \ build-essential \ clang-8 \ clang++-8 \ - cmake \ + wget \ libc6-dev-i386 \ python3-pip \ python3-distutils \ From 5f512adb8034b8aeff58fc003aeb8ffa93669dc5 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Mon, 27 Feb 2023 12:28:28 +0100 Subject: [PATCH 09/35] Disable CURSES --- llvm/Distribution.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llvm/Distribution.cmake b/llvm/Distribution.cmake index 19ae052e..3f99ede2 100644 --- a/llvm/Distribution.cmake +++ b/llvm/Distribution.cmake @@ -6,6 +6,8 @@ set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING " set(COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "") +set(LLDB_ENABLE_CURSES 0 CACHE STRING "") + set(LLVM_TOOLCHAIN_TOOLS llvm-ar llvm-cov From bd7eda2d5e395c5a4cd1a7064b5a4e7a7cae264f Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Mon, 27 Feb 2023 15:24:42 +0100 Subject: [PATCH 10/35] Compiler rt --- llvm/Distribution.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/llvm/Distribution.cmake b/llvm/Distribution.cmake index 3f99ede2..69a84bb7 100644 --- a/llvm/Distribution.cmake +++ b/llvm/Distribution.cmake @@ -7,6 +7,11 @@ set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING " set(COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "") set(LLDB_ENABLE_CURSES 0 CACHE STRING "") +set(CLANG_DEFAULT_RTLIB "compiler-rt" CACHE STRING "") +set(LLVM_BUILD_COMPILER_RT "ON" CACHE STRING "") +set(LIBUNWIND_USE_COMPILER_RT ON CACHE STRING "") +set(LIBCXXABI_USE_COMPILER_RT "ON" CACHE STRING "") +set(LIBCXX_USE_COMPILER_RT "ON" CACHE STRING "") set(LLVM_TOOLCHAIN_TOOLS llvm-ar From 6ed7e75f82a59320687e5a4c7e798f9ab0ef5239 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Tue, 28 Feb 2023 08:50:49 +0100 Subject: [PATCH 11/35] Build only clang --- llvm/Distribution.cmake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/llvm/Distribution.cmake b/llvm/Distribution.cmake index 69a84bb7..e3d8f5d4 100644 --- a/llvm/Distribution.cmake +++ b/llvm/Distribution.cmake @@ -9,7 +9,7 @@ set(COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "") set(LLDB_ENABLE_CURSES 0 CACHE STRING "") set(CLANG_DEFAULT_RTLIB "compiler-rt" CACHE STRING "") set(LLVM_BUILD_COMPILER_RT "ON" CACHE STRING "") -set(LIBUNWIND_USE_COMPILER_RT ON CACHE STRING "") +# set(LIBUNWIND_USE_COMPILER_RT ON CACHE STRING "") set(LIBCXXABI_USE_COMPILER_RT "ON" CACHE STRING "") set(LIBCXX_USE_COMPILER_RT "ON" CACHE STRING "") @@ -26,11 +26,11 @@ set(LLVM_TOOLCHAIN_TOOLS set(LLVM_DISTRIBUTION_COMPONENTS clang - lld - builtins - runtimes - clang-resource-headers - ${LLVM_TOOLCHAIN_TOOLS} + # lld + # builtins + # runtimes + # clang-resource-headers + # ${LLVM_TOOLCHAIN_TOOLS} CACHE STRING "") From 9e1e6936c10c8f8a2628195f1f10e68ea4872c6e Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Tue, 28 Feb 2023 11:17:27 +0100 Subject: [PATCH 12/35] Try minimal --- llvm/Distribution.cmake | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/llvm/Distribution.cmake b/llvm/Distribution.cmake index e3d8f5d4..bfb110f6 100644 --- a/llvm/Distribution.cmake +++ b/llvm/Distribution.cmake @@ -1,17 +1,17 @@ # This file sets up a CMakeCache for a simple distribution bootstrap build. #Enable LLVM projects and runtimes -set(LLVM_ENABLE_PROJECTS "clang;clang-tools-extra;lld" CACHE STRING "") -set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING "") +set(LLVM_ENABLE_PROJECTS "clang" CACHE STRING "") +# set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING "") -set(COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "") +# set(COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "") -set(LLDB_ENABLE_CURSES 0 CACHE STRING "") -set(CLANG_DEFAULT_RTLIB "compiler-rt" CACHE STRING "") -set(LLVM_BUILD_COMPILER_RT "ON" CACHE STRING "") +# set(LLDB_ENABLE_CURSES 0 CACHE STRING "") +# set(CLANG_DEFAULT_RTLIB "compiler-rt" CACHE STRING "") +# set(LLVM_BUILD_COMPILER_RT "ON" CACHE STRING "") # set(LIBUNWIND_USE_COMPILER_RT ON CACHE STRING "") -set(LIBCXXABI_USE_COMPILER_RT "ON" CACHE STRING "") -set(LIBCXX_USE_COMPILER_RT "ON" CACHE STRING "") +# set(LIBCXXABI_USE_COMPILER_RT "ON" CACHE STRING "") +# set(LIBCXX_USE_COMPILER_RT "ON" CACHE STRING "") set(LLVM_TOOLCHAIN_TOOLS llvm-ar From 0f07010e64a8cc2e807816123f0ec0fdef079790 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Tue, 28 Feb 2023 13:20:25 +0100 Subject: [PATCH 13/35] Try enable runtimes --- Dockerfile.llvm | 1 - llvm/Distribution.cmake | 16 ++++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 38aba955..a9e820c8 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -6,7 +6,6 @@ RUN apt-get install -y \ clang-8 \ clang++-8 \ wget \ - libc6-dev-i386 \ python3-pip \ python3-distutils \ vim \ diff --git a/llvm/Distribution.cmake b/llvm/Distribution.cmake index bfb110f6..0eca949b 100644 --- a/llvm/Distribution.cmake +++ b/llvm/Distribution.cmake @@ -2,16 +2,16 @@ #Enable LLVM projects and runtimes set(LLVM_ENABLE_PROJECTS "clang" CACHE STRING "") -# set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING "") +set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi" CACHE STRING "") -# set(COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "") +set(COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "") -# set(LLDB_ENABLE_CURSES 0 CACHE STRING "") -# set(CLANG_DEFAULT_RTLIB "compiler-rt" CACHE STRING "") -# set(LLVM_BUILD_COMPILER_RT "ON" CACHE STRING "") +set(LLDB_ENABLE_CURSES 0 CACHE STRING "") +set(CLANG_DEFAULT_RTLIB "compiler-rt" CACHE STRING "") +set(LLVM_BUILD_COMPILER_RT "ON" CACHE STRING "") # set(LIBUNWIND_USE_COMPILER_RT ON CACHE STRING "") -# set(LIBCXXABI_USE_COMPILER_RT "ON" CACHE STRING "") -# set(LIBCXX_USE_COMPILER_RT "ON" CACHE STRING "") +set(LIBCXXABI_USE_COMPILER_RT "ON" CACHE STRING "") +set(LIBCXX_USE_COMPILER_RT "ON" CACHE STRING "") set(LLVM_TOOLCHAIN_TOOLS llvm-ar @@ -28,7 +28,7 @@ set(LLVM_DISTRIBUTION_COMPONENTS clang # lld # builtins - # runtimes + runtimes # clang-resource-headers # ${LLVM_TOOLCHAIN_TOOLS} CACHE STRING "") From 57c6bc446ae8e30c564d894bf39807ccb3698e5f Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Tue, 28 Feb 2023 15:36:42 +0100 Subject: [PATCH 14/35] Fix --- Dockerfile.llvm | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index a9e820c8..38aba955 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -6,6 +6,7 @@ RUN apt-get install -y \ clang-8 \ clang++-8 \ wget \ + libc6-dev-i386 \ python3-pip \ python3-distutils \ vim \ From 2344eab3dc7562b4ed3663afbe9cb6299329c67a Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 14:42:31 +0100 Subject: [PATCH 15/35] Strip official release --- Jenkinsfile | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1318a1f2..d253b7fd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,20 +39,22 @@ pipeline { } steps { sh(''' - git clone https://github.com/llvm/llvm-project --branch=llvmorg-14.0.6 --single-branch - cd llvm-project + wget https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.0/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -P tar + tar -xf tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz + rm tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz - mkdir build - cd build + find tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/* \ + ! -name 'clang' ! -name 'clang++' ! -name 'clang-14' ! -name 'clang-cl' ! -name 'clang-cpp' \ + ! -name 'ld64.lld' ! -name 'ld.lld' ! -name 'lld' ! -name 'lld-link' \ + ! -name 'llvm-ar' ! -name 'llvm-as' ! -name 'llvm-nm' ! -name 'llvm-objdump' ! -name 'llvm-objcopy' \ + ! -name 'llvm-profdata' ! -name 'llvm-dwp' ! -name 'llvm-ranlib' ! -name 'llvm-readelf' ! -name 'llvm-readobj' \ + ! -name 'llvm-strip' ! -name 'llvm-symbolizer' ! -name 'llvm-cov' \ + ! -name 'clang-tidy' ! -name 'clang-format' \ + -exec rm {} + - cmake -GNinja ../llvm \ - -DCMAKE_INSTALL_PREFIX=../out/ \ - -C ../../llvm/Distribution.cmake - ninja install-distribution - - find ../out/ + rm tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/* ''') - uploadDistribution("clang+llvm-14.0.6-x86_64-linux", context) + uploadDistribution("clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04", context) } } // stage('llvm aarch64 darwin') { @@ -108,11 +110,10 @@ pipeline { } def uploadDistribution(name, context) { - sh(""" - mkdir -p tar/${name}/ - cp -rH llvm-project/out/* tar/${name}/ - """) - tar(file: "${name}.tar.gz", dir: 'tar', archive: true) + tar(file: "${name}.tar.gz", dir: 'tar', archive: false) + sh("sha256sum '${name}.tar.gz' > ${name}.tar.gz.sha256") + archiveArtifacts artifacts: '*.tar.gz*' + script{ context.archivePatterns( patterns: ["${name}.tar.gz"], From 9c29bc43323adfc041e14fe6e714b7c4d665540d Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 14:54:11 +0100 Subject: [PATCH 16/35] Fix --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d253b7fd..4cce1a51 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -40,7 +40,7 @@ pipeline { steps { sh(''' wget https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.0/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -P tar - tar -xf tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz + tar -xf tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -C tar/ rm tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz find tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/* \ From 3fd13a616bcb95ede96a670e51214a9689ae4a9d Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 15:08:10 +0100 Subject: [PATCH 17/35] Fix --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4cce1a51..04b9c333 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -52,7 +52,7 @@ pipeline { ! -name 'clang-tidy' ! -name 'clang-format' \ -exec rm {} + - rm tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/* + find tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/ -maxdepth 1 -type f -exec rm {} + ''') uploadDistribution("clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04", context) } From 2fe3af849e2391adbb0b20d66d7744b2bf636af3 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 15:10:22 +0100 Subject: [PATCH 18/35] Fix --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 04b9c333..cb84811c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -52,7 +52,7 @@ pipeline { ! -name 'clang-tidy' ! -name 'clang-format' \ -exec rm {} + - find tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/ -maxdepth 1 -type f -exec rm {} + + find tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/ -maxdepth 1 -type f,l -exec rm {} + ''') uploadDistribution("clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04", context) } From 5a2a17d44c39fae37ea6865bde15f8b943e43250 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 15:20:16 +0100 Subject: [PATCH 19/35] Fix --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index cb84811c..cac14946 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -110,7 +110,7 @@ pipeline { } def uploadDistribution(name, context) { - tar(file: "${name}.tar.gz", dir: 'tar', archive: false) + tar(file: "${name}.tar.gz", dir: 'tar', compress: true, archive: false) sh("sha256sum '${name}.tar.gz' > ${name}.tar.gz.sha256") archiveArtifacts artifacts: '*.tar.gz*' From 8c292e708fee5b4a3d710d6c58be6112a05ff148 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 15:28:08 +0100 Subject: [PATCH 20/35] Fix --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index cac14946..b39d9975 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -110,13 +110,13 @@ pipeline { } def uploadDistribution(name, context) { - tar(file: "${name}.tar.gz", dir: 'tar', compress: true, archive: false) + sh("tar -czf clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.gz tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/") sh("sha256sum '${name}.tar.gz' > ${name}.tar.gz.sha256") archiveArtifacts artifacts: '*.tar.gz*' script{ context.archivePatterns( - patterns: ["${name}.tar.gz"], + patterns: ["${name}.tar.gz*"], path: "swift-toolchains/${context.gitDescribe()}/${name}.tar.gz", jenkins: false ) From b3d6ded86126dbf256255a83075fe03e68dee54b Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 15:31:08 +0100 Subject: [PATCH 21/35] Fix --- Jenkinsfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b39d9975..337b9986 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -116,9 +116,14 @@ def uploadDistribution(name, context) { script{ context.archivePatterns( - patterns: ["${name}.tar.gz*"], + patterns: ["${name}.tar.gz"], path: "swift-toolchains/${context.gitDescribe()}/${name}.tar.gz", jenkins: false ) + context.archivePatterns( + patterns: ["${name}.tar.gz.sha256"], + path: "swift-toolchains/${context.gitDescribe()}/${name}.tar.gz.sha256", + jenkins: false + ) } } From 759e831df56d98823c78379c6d55c0811b224ce3 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 15:46:40 +0100 Subject: [PATCH 22/35] Fix --- Jenkinsfile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 337b9986..3e67f47f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,11 +39,11 @@ pipeline { } steps { sh(''' - wget https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.0/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -P tar - tar -xf tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -C tar/ - rm tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz + wget https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.0/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz + tar -xf clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz + rm clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz - find tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/* \ + find clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/* \ ! -name 'clang' ! -name 'clang++' ! -name 'clang-14' ! -name 'clang-cl' ! -name 'clang-cpp' \ ! -name 'ld64.lld' ! -name 'ld.lld' ! -name 'lld' ! -name 'lld-link' \ ! -name 'llvm-ar' ! -name 'llvm-as' ! -name 'llvm-nm' ! -name 'llvm-objdump' ! -name 'llvm-objcopy' \ @@ -52,7 +52,7 @@ pipeline { ! -name 'clang-tidy' ! -name 'clang-format' \ -exec rm {} + - find tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/ -maxdepth 1 -type f,l -exec rm {} + + find clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/ -maxdepth 1 -type f,l -exec rm {} + ''') uploadDistribution("clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04", context) } @@ -110,7 +110,7 @@ pipeline { } def uploadDistribution(name, context) { - sh("tar -czf clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.gz tar/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/") + sh("tar -czf clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.gz clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/") sh("sha256sum '${name}.tar.gz' > ${name}.tar.gz.sha256") archiveArtifacts artifacts: '*.tar.gz*' From 0780c2e45475973097776e9ac9d36302842abb69 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 17:14:23 +0100 Subject: [PATCH 23/35] Remove dockerfile --- Dockerfile.llvm | 21 -------------------- Jenkinsfile | 53 +++---------------------------------------------- 2 files changed, 3 insertions(+), 71 deletions(-) delete mode 100644 Dockerfile.llvm diff --git a/Dockerfile.llvm b/Dockerfile.llvm deleted file mode 100644 index 38aba955..00000000 --- a/Dockerfile.llvm +++ /dev/null @@ -1,21 +0,0 @@ -FROM ubuntu:18.04 - -RUN apt-get update -RUN apt-get install -y \ - build-essential \ - clang-8 \ - clang++-8 \ - wget \ - libc6-dev-i386 \ - python3-pip \ - python3-distutils \ - vim \ - ninja-build \ - git - -RUN \ - mkdir /opt/cmake && \ - wget -qO- https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.tar.gz | \ - tar -xzf - --strip-components 1 -C /opt/cmake - -ENV PATH=/opt/cmake/bin:${PATH} diff --git a/Jenkinsfile b/Jenkinsfile index 3e67f47f..8eda7a13 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,8 +33,8 @@ pipeline { parallel { stage('llvm x86_64 linux') { agent { - dockerfile { - filename "Dockerfile.llvm" + docker{ + image 'ubuntu:18.04' } } steps { @@ -57,60 +57,13 @@ pipeline { uploadDistribution("clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04", context) } } - // stage('llvm aarch64 darwin') { - // agent { - // node('macos-arm64') - // } - // steps { - // sh(''' - // git clone https://github.com/llvm/llvm-project --branch=llvmorg-14.0.6 --single-branch - // cd llvm-project - - // mkdir build - // cd build - - // cmake -GNinja ../llvm \ - // -DCMAKE_INSTALL_PREFIX=../out/ \ - // -DCMAKE_OSX_ARCHITECTURES='arm64' \ - // -DCMAKE_C_COMPILER=`which clang` \ - // -DCMAKE_CXX_COMPILER=`which clang++` \ - // -DCMAKE_BUILD_TYPE=Release \ - // -C ../../llvm/Distribution.cmake - // ninja stage2-install-distribution - // ''') - // uploadDistribution("clang+llvm-14.0.6-arm64-apple-darwin", context) - // } - // } - // stage('llvm x86_64 darwin') { - // agent { - // node('macos') - // } - // steps { - // sh(''' - // git clone https://github.com/llvm/llvm-project --branch=llvmorg-14.0.6 --single-branch - // cd llvm-project - // mkdir build - // cd build - // cmake -GNinja ../llvm \ - // -DCMAKE_INSTALL_PREFIX=../out/ \ - // -DCMAKE_OSX_ARCHITECTURES='x86_64' \ - // -DLLVM_ENABLE_RUNTIMES='compiler-rt;libcxx;libcxxabi' \ - // -DCMAKE_C_COMPILER=`which clang` \ - // -DCMAKE_CXX_COMPILER=`which clang++` \ - // -DCMAKE_BUILD_TYPE=Release \ - // -C ../../llvm/Distribution.cmake - // ninja stage2-install-distribution - // ''') - // uploadDistribution("clang+llvm-14.0.6-x86_64-apple-darwin", context) - // } - // } } } } } def uploadDistribution(name, context) { - sh("tar -czf clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.gz clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/") + sh("tar -czf ${name}.tar.gz ${name}/") sh("sha256sum '${name}.tar.gz' > ${name}.tar.gz.sha256") archiveArtifacts artifacts: '*.tar.gz*' From 61504c186db7b929ee82a6f092f3a3a6c1eb4646 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 18:15:21 +0100 Subject: [PATCH 24/35] Fix --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8eda7a13..bda2e858 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,7 +34,7 @@ pipeline { stage('llvm x86_64 linux') { agent { docker{ - image 'ubuntu:18.04' + image 'docker.io/library/ubuntu:18.04' } } steps { From 7b04a496cb0223a65e6bf4f902e14762a2ded37a Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 18:17:55 +0100 Subject: [PATCH 25/35] Fix --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index bda2e858..f74afb52 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,7 +34,8 @@ pipeline { stage('llvm x86_64 linux') { agent { docker{ - image 'docker.io/library/ubuntu:18.04' + image 'ubuntu:18.04' + registryUrl 'docker.io/library/' } } steps { From c22bf7d86b4766705560fbd90486ad76093d3ec3 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 18:20:15 +0100 Subject: [PATCH 26/35] Fix --- Dockerfile.llvm | 4 ++++ Jenkinsfile | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 Dockerfile.llvm diff --git a/Dockerfile.llvm b/Dockerfile.llvm new file mode 100644 index 00000000..6ebdae50 --- /dev/null +++ b/Dockerfile.llvm @@ -0,0 +1,4 @@ +FROM ubuntu:18.04 + +RUN apt-get update +RUN apt-get install -y git diff --git a/Jenkinsfile b/Jenkinsfile index f74afb52..a5ab7bc5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,9 +33,8 @@ pipeline { parallel { stage('llvm x86_64 linux') { agent { - docker{ - image 'ubuntu:18.04' - registryUrl 'docker.io/library/' + dockerfile { + filename "Dockerfile.llvm" } } steps { From e2cb86ee2c51ae34ffd0ea00e2eac5f94ffafccc Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 18:21:58 +0100 Subject: [PATCH 27/35] Fix --- Dockerfile.llvm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 6ebdae50..1931a775 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -1,4 +1,3 @@ FROM ubuntu:18.04 -RUN apt-get update -RUN apt-get install -y git +RUN apt-get update && apt-get install -y git From 3157e36decfbeafb8fe6f7152996a2c1adb1ce9f Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 18:23:24 +0100 Subject: [PATCH 28/35] Fix --- Dockerfile.llvm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 1931a775..835bcc08 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -1,3 +1,3 @@ FROM ubuntu:18.04 -RUN apt-get update && apt-get install -y git +RUN apt-get update && apt-get install -y git wget From 76702476712cb30c93ab64ecef11a8a8577757c3 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 18:29:20 +0100 Subject: [PATCH 29/35] Fix --- Dockerfile.llvm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 835bcc08..38aba955 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -1,3 +1,21 @@ FROM ubuntu:18.04 -RUN apt-get update && apt-get install -y git wget +RUN apt-get update +RUN apt-get install -y \ + build-essential \ + clang-8 \ + clang++-8 \ + wget \ + libc6-dev-i386 \ + python3-pip \ + python3-distutils \ + vim \ + ninja-build \ + git + +RUN \ + mkdir /opt/cmake && \ + wget -qO- https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.tar.gz | \ + tar -xzf - --strip-components 1 -C /opt/cmake + +ENV PATH=/opt/cmake/bin:${PATH} From af4aad4be655f4c336b95054dacc0f3fb27e1855 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 18:35:11 +0100 Subject: [PATCH 30/35] Fix --- Dockerfile.llvm | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 38aba955..f545d85b 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -6,16 +6,5 @@ RUN apt-get install -y \ clang-8 \ clang++-8 \ wget \ - libc6-dev-i386 \ - python3-pip \ - python3-distutils \ - vim \ - ninja-build \ git -RUN \ - mkdir /opt/cmake && \ - wget -qO- https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.tar.gz | \ - tar -xzf - --strip-components 1 -C /opt/cmake - -ENV PATH=/opt/cmake/bin:${PATH} From e6d15d7c8603b90372d3a51905a85da2f1e11dee Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Wed, 1 Mar 2023 18:51:01 +0100 Subject: [PATCH 31/35] Fix --- Dockerfile.llvm | 6 ++++++ Jenkinsfile | 4 +--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index f545d85b..092e62c8 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -8,3 +8,9 @@ RUN apt-get install -y \ wget \ git +RUN \ + mkdir /opt/cmake && \ + wget -qO- https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.tar.gz | \ + tar -xzf - --strip-components 1 -C /opt/cmake + +ENV PATH=/opt/cmake/bin:${PATH} diff --git a/Jenkinsfile b/Jenkinsfile index a5ab7bc5..4746c8b3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,9 +39,7 @@ pipeline { } steps { sh(''' - wget https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.0/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz - tar -xf clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz - rm clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz + wget -qO- https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.0/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz | tar xfJ - find clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/* \ ! -name 'clang' ! -name 'clang++' ! -name 'clang-14' ! -name 'clang-cl' ! -name 'clang-cpp' \ From 6a41a4c7b61a699ecc003d91f4534aa4fd437237 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Thu, 2 Mar 2023 08:06:31 +0100 Subject: [PATCH 32/35] Fix --- Dockerfile.llvm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 092e62c8..3eff6c10 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -1,12 +1,7 @@ FROM ubuntu:18.04 RUN apt-get update -RUN apt-get install -y \ - build-essential \ - clang-8 \ - clang++-8 \ - wget \ - git +RUN apt-get install -y wget git RUN \ mkdir /opt/cmake && \ From ceed0df8819fb9583cfb2d8ba0c47784151763eb Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Thu, 2 Mar 2023 08:08:53 +0100 Subject: [PATCH 33/35] Fix --- Dockerfile.llvm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 3eff6c10..9a0173e8 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -1,11 +1,4 @@ FROM ubuntu:18.04 RUN apt-get update -RUN apt-get install -y wget git - -RUN \ - mkdir /opt/cmake && \ - wget -qO- https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.tar.gz | \ - tar -xzf - --strip-components 1 -C /opt/cmake - -ENV PATH=/opt/cmake/bin:${PATH} +RUN apt-get install -y build-essential wget git From 18c325e4134f50c652b950a0139337409c717975 Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Thu, 2 Mar 2023 08:09:38 +0100 Subject: [PATCH 34/35] Fix --- Dockerfile.llvm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 9a0173e8..2cf2a805 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -1,4 +1,4 @@ FROM ubuntu:18.04 RUN apt-get update -RUN apt-get install -y build-essential wget git +RUN apt-get install -y xz-utils wget git From 78b3d6038f4839c67d72c2c246f6f805a004711a Mon Sep 17 00:00:00 2001 From: Krzysztof Naglik Date: Thu, 2 Mar 2023 08:14:03 +0100 Subject: [PATCH 35/35] Fix --- Dockerfile.llvm | 3 +- llvm/Distribution-stage2.cmake | 29 --------------- llvm/Distribution.cmake | 67 ---------------------------------- 3 files changed, 1 insertion(+), 98 deletions(-) delete mode 100644 llvm/Distribution-stage2.cmake delete mode 100644 llvm/Distribution.cmake diff --git a/Dockerfile.llvm b/Dockerfile.llvm index 2cf2a805..646e848c 100644 --- a/Dockerfile.llvm +++ b/Dockerfile.llvm @@ -1,4 +1,3 @@ FROM ubuntu:18.04 -RUN apt-get update -RUN apt-get install -y xz-utils wget git +RUN apt-get update && apt-get install -y xz-utils wget git diff --git a/llvm/Distribution-stage2.cmake b/llvm/Distribution-stage2.cmake deleted file mode 100644 index fc9fe4dc..00000000 --- a/llvm/Distribution-stage2.cmake +++ /dev/null @@ -1,29 +0,0 @@ -# This file sets up a CMakeCache for the second stage of a simple distribution -# bootstrap build. - -set(LLVM_ENABLE_PROJECTS "clang;lld" CACHE STRING "") - -set(LLVM_TARGETS_TO_BUILD Native CACHE STRING "") - -set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "") -set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -gline-tables-only -DNDEBUG" CACHE STRING "") -set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -gline-tables-only -DNDEBUG" CACHE STRING "") - -# setup toolchain -set(LLVM_INSTALL_TOOLCHAIN_ONLY ON CACHE BOOL "") -set(LLVM_TOOLCHAIN_TOOLS - llvm-ar - llvm-cov - llvm-dwp - llvm-nm - llvm-objcopy - llvm-objdump - llvm-profdata - llvm-strip - CACHE STRING "") - -set(LLVM_DISTRIBUTION_COMPONENTS - clang - lld - ${LLVM_TOOLCHAIN_TOOLS} - CACHE STRING "") diff --git a/llvm/Distribution.cmake b/llvm/Distribution.cmake deleted file mode 100644 index 0eca949b..00000000 --- a/llvm/Distribution.cmake +++ /dev/null @@ -1,67 +0,0 @@ -# This file sets up a CMakeCache for a simple distribution bootstrap build. - -#Enable LLVM projects and runtimes -set(LLVM_ENABLE_PROJECTS "clang" CACHE STRING "") -set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi" CACHE STRING "") - -set(COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "") - -set(LLDB_ENABLE_CURSES 0 CACHE STRING "") -set(CLANG_DEFAULT_RTLIB "compiler-rt" CACHE STRING "") -set(LLVM_BUILD_COMPILER_RT "ON" CACHE STRING "") -# set(LIBUNWIND_USE_COMPILER_RT ON CACHE STRING "") -set(LIBCXXABI_USE_COMPILER_RT "ON" CACHE STRING "") -set(LIBCXX_USE_COMPILER_RT "ON" CACHE STRING "") - -set(LLVM_TOOLCHAIN_TOOLS - llvm-ar - llvm-cov - llvm-dwp - llvm-nm - llvm-objcopy - llvm-objdump - llvm-profdata - llvm-strip - CACHE STRING "") - -set(LLVM_DISTRIBUTION_COMPONENTS - clang - # lld - # builtins - runtimes - # clang-resource-headers - # ${LLVM_TOOLCHAIN_TOOLS} - CACHE STRING "") - - -# Only build the native target in stage1 since it is a throwaway build. -set(LLVM_TARGETS_TO_BUILD Native CACHE STRING "") - -# Optimize the stage1 compiler, but don't LTO it because that wastes time. -set(CMAKE_BUILD_TYPE Release CACHE STRING "") - -# Setup vendor-specific settings. -set(PACKAGE_VENDOR LLVM.org CACHE STRING "") - -# # Setting up the stage2 LTO option needs to be done on the stage1 build so that -# # the proper LTO library dependencies can be connected. -# set(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "") - -# if (NOT APPLE) -# # Since LLVM_ENABLE_LTO is ON we need a LTO capable linker -# set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "") -# endif() - -# # Expose stage2 targets through the stage1 build configuration. -# set(CLANG_BOOTSTRAP_TARGETS -# distribution -# install-distribution -# clang CACHE STRING "") - -# # Setup the bootstrap build. -# set(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "") - -# set(CLANG_BOOTSTRAP_CMAKE_ARGS -# -C ${CMAKE_CURRENT_LIST_DIR}/Distribution-stage2.cmake -# CACHE STRING "") -