57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
version = "20.1.0"
|
|
revision = 1
|
|
description = "LLVM compiler infrastructure with clang and lld"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
url = "https://llvm.org/"
|
|
source = tarball(
|
|
url=f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/llvm-project-{version}.src.tar.xz",
|
|
sha256="4579051e3c255fb4bb795d54324f5a7f3ef79bd9181e44293d7ee9a7f62aad9a",
|
|
)
|
|
host_deps = ["binutils"]
|
|
|
|
|
|
def configure(self):
|
|
self.run(
|
|
"cmake",
|
|
"-S",
|
|
self.source_dir / "llvm",
|
|
"-B",
|
|
self.build_dir,
|
|
"-G",
|
|
"Ninja",
|
|
"-DCMAKE_BUILD_TYPE=Release",
|
|
f"-DCMAKE_INSTALL_PREFIX={self.prefix}",
|
|
"-DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;lld",
|
|
"-DLLVM_ENABLE_RUNTIMES=compiler-rt",
|
|
"-DLLVM_TARGETS_TO_BUILD=X86;AArch64;RISCV",
|
|
f"-DLLVM_DEFAULT_TARGET_TRIPLE={self.triple}",
|
|
f"-DLLVM_HOST_TRIPLE={self.triple}",
|
|
"-DLLVM_ENABLE_LIBXML2=OFF",
|
|
"-DLLVM_ENABLE_LIBEDIT=OFF",
|
|
"-DLLVM_ENABLE_TERMINFO=OFF",
|
|
"-DLLVM_ENABLE_ASSERTIONS=OFF",
|
|
"-DLLVM_ENABLE_PIC=ON",
|
|
"-DLLVM_BUILD_LLVM_DYLIB=ON",
|
|
"-DLLVM_LINK_LLVM_DYLIB=ON",
|
|
"-DLLVM_INSTALL_UTILS=ON",
|
|
"-DLLVM_INCLUDE_TESTS=OFF",
|
|
"-DLLVM_INCLUDE_EXAMPLES=OFF",
|
|
"-DLLVM_INCLUDE_BENCHMARKS=OFF",
|
|
"-DCLANG_DEFAULT_LINKER=lld",
|
|
"-DCLANG_DEFAULT_RTLIB=compiler-rt",
|
|
"-DCLANG_DEFAULT_CXX_STDLIB=libstdc++",
|
|
env={
|
|
"CFLAGS": self.profile["host_cflags"],
|
|
"CXXFLAGS": self.profile["host_cxxflags"],
|
|
"LDFLAGS": self.profile["host_ldflags"],
|
|
},
|
|
)
|
|
|
|
|
|
def build(self):
|
|
self.run("cmake", "--build", self.build_dir, f"-j{self.jobs}")
|
|
|
|
|
|
def install(self):
|
|
self.run("cmake", "--install", self.build_dir, env={"DESTDIR": str(self.dest_dir)})
|