llvm rebuild

This commit is contained in:
Rmys
2020-11-27 00:06:56 +03:00
committed by GitHub
parent c64451bcc8
commit 0207d7ca9e
3 changed files with 78 additions and 41 deletions
+22 -15
View File
@@ -6,17 +6,17 @@
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get
from pisi.actionsapi import cmaketools
from pisi.actionsapi import get
projects = "clang;mlir" if get.buildTYPE() == "emul32" else "clang;clang-tools-extra;lld;lldb;polly;compiler-rt;mlir"
projects = "clang;lld;mlir" if get.buildTYPE() == "emul32" else "clang;clang-tools-extra;lld;lldb;polly;compiler-rt;mlir"
libdir = "/usr/lib32/llvm" if get.buildTYPE() == "emul32" else "/usr/lib/llvm"
lib = "lib32" if get.buildTYPE() == "emul32" else "lib"
libsuffix = "32" if get.buildTYPE() == "emul32" else " "
NoStrip = ["/usr/lib/clang/%s/lib/linux" %get.srcVERSION()]
WorkDir = "llvm-project-%s/llvm" %get.srcVERSION()
WorkDir = "llvm-project-%s" %get.srcVERSION()
def setup():
pisitools.ldflags.add("-fuse-ld=lld -rtlib=libgcc")
@@ -25,6 +25,8 @@ def setup():
if get.buildTYPE() == "emul32":
#shelltools.export("CC", "gcc -m32")
#shelltools.export("CXX", "g++ -m32")
shelltools.export("CC", "clang -m32")
shelltools.export("CXX", "clang++ -m32")
shelltools.export("PKG_CONFIG_PATH","/usr/lib32/pkgconfig")
@@ -34,12 +36,14 @@ def setup():
#shelltools.system("patch -p1 < enable-SSP-and-PIE-by-default.patch")
#shelltools.cd("..")
else:
#shelltools.export("CC", "gcc")
#shelltools.export("CXX", "g++")
shelltools.export("CC", "clang")
shelltools.export("CXX", "clang++")
shelltools.makedirs("build")
shelltools.makedirs("llvm/build")
shelltools.cd("build")
shelltools.cd("llvm/build")
if get.buildTYPE() != "emul32":
pisitools.cflags.add("-m64")
@@ -58,7 +62,7 @@ def setup():
cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \
-G 'Unix Makefiles' \
-G 'Ninja' \
%s \
-DLLVM_ENABLE_PROJECTS='%s' \
-DLLVM_LIBDIR_SUFFIX=%s \
@@ -66,29 +70,32 @@ def setup():
-DLLVM_BUILD_DOCS=OFF \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_EH=ON \
-DBUILD_SHARED_LIBS=ON \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DCLANG_LINK_CLANG_DYLIB=ON \
-DLLDB_USE_SYSTEM_SIX=1 \
-DLLVM_INCLUDEDIR=/usr/include \
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DFFI_INCLUDE_DIR=/usr/include \
-DCOMPILER_RT_USE_LIBCXX=OFF" % (options, projects, libsuffix), sourceDir=".." )
def build():
shelltools.cd("build")
cmaketools.make()
shelltools.cd("llvm/build")
shelltools.system("ninja")
#cmaketools.make()
def install():
shelltools.cd("build")
cmaketools.rawInstall("DESTDIR=%s" % get.installDIR())
shelltools.cd("llvm/build")
shelltools.system("DESTDIR=%s ninja install" % get.installDIR())
#cmaketools.rawInstall("DESTDIR=%s" % get.installDIR())
if get.buildTYPE() == "emul32":
pisitools.domove("/emul32/lib32/", "/usr/")
pisitools.insinto("/usr/include/llvm/Config/","%s/emul32/include/llvm/Config/llvm-config.h" % get.installDIR(),"llvm-config-32.h")
pisitools.insinto("/usr/bin/","%s/emul32/bin/llvm-config" % get.installDIR(),"llvm-config-32")
pisitools.removeDir("/emul32")
#pisitools.remove("/usr/lib/python2.7/site-packages/six.py")
#pisitools.remove("/usr/lib/python3.8/site-packages/six.py")
shelltools.cd ("..")
pisitools.dodoc("LICENSE.TXT", "README.txt")