|
| 1 | +#! /usr/bin/env python3 |
| 2 | +# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| 3 | +# See https://llvm.org/LICENSE.txt for license information. |
| 4 | +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| 5 | + |
| 6 | +import os |
| 7 | +import sys |
| 8 | + |
| 9 | +# Adapt to location in source tree |
| 10 | +llvmsrcroot = os.path.normpath(f"{__file__}/../../..") |
| 11 | + |
| 12 | +sys.path.insert(0, os.path.join(llvmsrcroot, ".ci/buildbot")) |
| 13 | +import worker |
| 14 | + |
| 15 | +llvmbuilddir = "llvm.build" |
| 16 | +llvminstalldir = "llvm.install" |
| 17 | + |
| 18 | +with worker.run( |
| 19 | + __file__, |
| 20 | + llvmsrcroot, |
| 21 | + clobberpaths=[llvmbuilddir], |
| 22 | + incremental=True, |
| 23 | +) as w: |
| 24 | + with w.step("configure-llvm", halt_on_fail=True): |
| 25 | + cmakecmd = [ |
| 26 | + "cmake", |
| 27 | + f"-S{w.in_llvmsrc('llvm')}", |
| 28 | + f"-B{llvmbuilddir}", |
| 29 | + "-GNinja", |
| 30 | + "-DCMAKE_BUILD_TYPE=Release", |
| 31 | + "-DCMAKE_C_COMPILER_LAUNCHER=ccache", |
| 32 | + "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache", |
| 33 | + "-DLLVM_ENABLE_PROJECTS=polly", |
| 34 | + "-DLLVM_TARGETS_TO_BUILD=X86", |
| 35 | + "-DLLVM_ENABLE_LLD=ON", |
| 36 | + "-DLLVM_ENABLE_ASSERTIONS=ON", |
| 37 | + "-DLLVM_POLLY_LINK_INTO_TOOLS=ON", |
| 38 | + "-DBUILD_SHARED_LIBS=OFF", |
| 39 | + "-DLLVM_BUILD_LLVM_DYLIB=OFF", |
| 40 | + "-DLLVM_LINK_LLVM_DYLIB=OFF", |
| 41 | + ] |
| 42 | + if w.jobs: |
| 43 | + cmakecmd.append(f"-DLLVM_LIT_ARGS=-sv;-j{w.jobs}") |
| 44 | + w.run_command(cmakecmd) |
| 45 | + |
| 46 | + with w.step("build-llvm", halt_on_fail=True): |
| 47 | + w.run_ninja(builddir=llvmbuilddir, ccache_stats=True) |
| 48 | + |
| 49 | + with w.step("check-polly"): |
| 50 | + w.run_ninja(["check-polly"], builddir=llvmbuilddir) |
0 commit comments