blob: 86958d6e8d73de75b73638dc88bcab0038ef19d1 [file] [log] [blame] [edit]
#! /usr/bin/env python3
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
import os
import sys
# Adapt to location in source tree
llvmsrcroot = os.path.normpath(f"{__file__}/../../..")
sys.path.insert(0, os.path.join(llvmsrcroot, ".ci/buildbot"))
import worker
llvmbuilddir = "llvm.build"
with worker.run(
__file__,
llvmsrcroot,
clobberpaths=[llvmbuilddir],
incremental=True,
) as w:
with w.step("configure-llvm", halt_on_fail=True):
cmakecmd = [
"cmake",
f"-S{w.in_llvmsrc('llvm')}",
f"-B{llvmbuilddir}",
"-GNinja",
"-DCMAKE_BUILD_TYPE=Release",
"-DCMAKE_C_COMPILER_LAUNCHER=ccache",
"-DCMAKE_CXX_COMPILER_LAUNCHER=ccache",
"-DLLVM_ENABLE_PROJECTS=polly",
"-DLLVM_TARGETS_TO_BUILD=X86",
"-DLLVM_ENABLE_LLD=ON",
"-DLLVM_ENABLE_ASSERTIONS=OFF",
"-DLLVM_POLLY_LINK_INTO_TOOLS=ON",
"-DBUILD_SHARED_LIBS=OFF",
"-DLLVM_BUILD_LLVM_DYLIB=OFF",
"-DLLVM_LINK_LLVM_DYLIB=OFF",
]
if w.jobs:
cmakecmd.append(f"-DLLVM_LIT_ARGS=-sv;-j{w.jobs}")
w.run_command(cmakecmd)
with w.step("build-llvm", halt_on_fail=True):
w.run_ninja(builddir=llvmbuilddir, ccache_stats=True)
with w.step("check-polly"):
w.run_ninja(["check-polly"], builddir=llvmbuilddir)