diff --git a/programming/build/llvm/actions.py b/programming/build/llvm/actions.py index 773903f4b2..da84f63f18 100644 --- a/programming/build/llvm/actions.py +++ b/programming/build/llvm/actions.py @@ -11,7 +11,7 @@ from pisi.actionsapi import get import subprocess -projects = "clang;mlir" if get.buildTYPE() == "emul32" else "clang;clang-tools-extra;lld;lldb;polly;compiler-rt;mlir" +projects = "clang;mlir;libunwind" if get.buildTYPE() == "emul32" else "clang;clang-tools-extra;lld;lldb;polly;compiler-rt;mlir;libunwind" 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 " " @@ -100,14 +100,25 @@ def build(): def install(): shelltools.cd("build") #shelltools.system("DESTDIR=%s ninja install" % get.installDIR()) - cmaketools.rawInstall("DESTDIR=%s" % get.installDIR()) + cmaketools.rawInstall("DESTDIR=%s" % get.installDIR()) + if get.buildTYPE() == "emul32": pisitools.domove("/emul32/lib32/", "/usr/") + shelltools.makedirs("%s/usr/lib32/llvm-libunwind" % get.installDIR()) + pisitools.domove("/usr/lib32/libunwind*", "/usr/lib32/llvm-libunwind") + pisitools.dosym("/usr/lib32/llvm-libunwind/libunwind.so", "/usr/lib32/libllvm-unwind.so") + pisitools.dosym("/usr/lib32/llvm-libunwind/libunwind.a", "/usr/lib32/libllvm-unwind.a") 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/python3.8/site-packages/six.py") + else: + shelltools.makedirs("%s/usr/lib/llvm-libunwind" % get.installDIR()) + pisitools.domove("/usr/lib/libunwind*", "/usr/lib/llvm-libunwind") + pisitools.dosym("/usr/lib/llvm-libunwind/libunwind.so", "/usr/lib/libllvm-unwind.so") + pisitools.dosym("/usr/lib/llvm-libunwind/libunwind.a", "/usr/lib/libllvm-unwind.a") + shelltools.cd ("..") diff --git a/programming/build/llvm/pspec.xml b/programming/build/llvm/pspec.xml index 66a95c7479..1f3f3480f8 100755 --- a/programming/build/llvm/pspec.xml +++ b/programming/build/llvm/pspec.xml @@ -203,6 +203,18 @@ /usr/lib/clang/14.0.3/lib/linux/*.so + + + llvm-unwind + LLVM unwinding library + + + /usr/lib/libllvm-unwind* + /usr/lib/llvm-libunwind + + llvm-clang