Merge pull request #7323 from IdrisKalp/master

llvm 9.0.1
This commit is contained in:
Idris Kalp
2020-01-05 00:19:22 +03:00
committed by GitHub
3 changed files with 132 additions and 59 deletions
+4 -4
View File
@@ -33,7 +33,7 @@ def setup():
shelltools.system("patch -p1 < kernel-4.14.patch")
shelltools.system("patch -p1 < nvidia-304.137-bionic-18.04.patch")
#shelltools.system("patch -p0 < nv-drm.patch")
shelltools.system("patch -p0 < linux-5.3.patch")
# Our libc is TLS enabled so use TLS library
shelltools.unlink("*-tls.so*")
@@ -73,9 +73,9 @@ def install():
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir)
# OpenCL
pisitools.dolib("libOpenCL.so.1.0.0", libdir)
pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir)
pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir)
#pisitools.dolib("libOpenCL.so.1.0.0", libdir)
#pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir)
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir)
# CUDA
pisitools.dolib("libcuda.so.%s" % version, libdir)
+65 -44
View File
@@ -3,70 +3,91 @@
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import get
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import cmaketools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get
from pisi.actionsapi import cmaketools
libdir = "/usr/lib32/llvm" if get.buildTYPE() == "emul32" else "/usr/lib/llvm"
lib = "lib32" if get.buildTYPE() == "emul32" else "lib"
libdir = "/usr/%s/llvm" % lib
def setup():
options = "-DCMAKE_BUILD_TYPE=Release \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_INSTALL_UTILS=ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR \
-DLLVM_BUILD_TESTS=ON \
-DLLVM_BUILD_DOCS=OFF \
-DLLVM_ENABLE_SPHINX=ON \
-DLLVM_ENABLE_DOXYGEN=OFF \
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
-DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
-DLLVM_BINUTILS_INCDIR=/usr/include \
"
def setup():
if get.buildTYPE() != "emul32":
if not shelltools.can_access_directory("tools/clang"):
shelltools.move("../clang-%s.src" % get.srcVERSION(), "tools/clang")
shelltools.move("../clang-tools-extra-%s.src" % get.srcVERSION(), "tools/clang/tools/extra")
shelltools.move("../lld-%s.src" % get.srcVERSION(), "tools/lld")
shelltools.move("../lldb-%s.src" % get.srcVERSION(), "tools/lldb")
shelltools.move("../compiler-rt-%s.src" % get.srcVERSION(), "projects/compiler-rt")
if not shelltools.can_access_directory("tools/clang"):
shelltools.system("tar xf ../clang-%s.src.tar.xz -C tools" % get.srcVERSION())
shelltools.move("tools/clang-%s.src" % get.srcVERSION(), "tools/clang")
shelltools.system("tar xf ../clang-tools-extra-%s.src.tar.xz -C tools" % get.srcVERSION())
shelltools.move("tools/clang-tools-extra-*", "tools/clang/extra")
else:
shelltools.system("tar xf ../lldb-%s.src.tar.xz -C tools" % get.srcVERSION())
shelltools.move("tools/lldb-*", "tools/lldb")
shelltools.system("tar xf ../lld-%s.src.tar.xz -C tools" % get.srcVERSION())
shelltools.move("tools/lld-*", "tools/lld")
shelltools.system("tar xf ../polly-%s.src.tar.xz -C tools" % get.srcVERSION())
shelltools.move("tools/polly-*", "tools/polly")
if not shelltools.can_access_directory("projects/compiler-rt"):
shelltools.system("tar xf ../compiler-rt-%s.src.tar.xz -C projects" % get.srcVERSION())
shelltools.move("projects/compiler-rt-%s.src" % get.srcVERSION(), "projects/compiler-rt")
shelltools.export("CC", "clang")
shelltools.export("CXX", "clang++")
if get.buildTYPE() == "emul32":
shelltools.export("CC", "clang -m32")
shelltools.export("CXX", "clang++ -m32")
shelltools.export("PKG_CONFIG_PATH","/usr/lib32/pkgconfig")
shelltools.makedirs("build")
shelltools.makedirs("build")
shelltools.cd("build")
if get.buildTYPE() != "emul32":
options = "-DCMAKE_INSTALL_PREFIX=/usr \
-DLLVM_TARGET_ARCH:STRING=x86_64 \
-DLLVM_DEFAULT_TARGET_TRIPLE=%s \
" % get.HOST()
else:
pisitools.flags.replace("-march=\S+", "-march=i686 -m32")
options = "-DCMAKE_INSTALL_PREFIX=/emul32 \
-DLLVM_TARGET_ARCH:STRING=i686 \
-DLLVM_LIBDIR_SUFFIX=32 \
-DLLVM_DEFAULT_TARGET_TRIPLE='i686-pc-linux-gnu' \
"
options += "-DCMAKE_C_FLAGS_RELEASE=%s \
-DCMAKE_CXX_FLAGS_RELEASE=%s \
" % (get.CFLAGS(), get.CXXFLAGS())
cmaketools.configure(options, sourceDir=".." )
options = "-DCMAKE_C_FLAGS:STRING=-m64 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_FLAGS:STRING=-m64 \
-DLLVM_TARGET_ARCH:STRING=x86_64 \
-DLLVM_DEFAULT_TARGET_TRIPLE=%s " % get.HOST()
if get.buildTYPE() == "emul32":
options = " -DCMAKE_C_FLAGS:STRING=-m32 \
-DCMAKE_INSTALL_PREFIX=/emul32 \
-DLLVM_TARGET_ARCH:STRING=i686 \
-DLLVM_LIBDIR_SUFFIX=32 \
-DLLVM_DEFAULT_TARGET_TRIPLE='i686-pc-linux-gnu' \
-DCMAKE_CXX_FLAGS:STRING=-m32"
cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \
%s \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_BUILD_DOCS=OFF \
-DBUILD_SHARED_LIBS=ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_EH=ON \
-DLLVM_INCLUDEDIR=/usr/include \
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DFFI_INCLUDE_DIR=/usr/lib/libffi-3.2.1/include \
-DENABLE_SHARED=ON" % options, sourceDir=".." )
def build():
shelltools.makedirs("build")
shelltools.cd("build")
cmaketools.make()
def install():
shelltools.cd("build")
shelltools.makedirs("build")
shelltools.cd("build")
cmaketools.rawInstall("DESTDIR=%s" % get.installDIR())
if get.buildTYPE() == "emul32":
Regular → Executable
+63 -11
View File
@@ -11,12 +11,13 @@
<License>NCSA</License>
<Summary>The Low Level Virtual Machine</Summary>
<Description>The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them.</Description>
<Archive sha1sum="f7fcf3bd92d130784513c06efe6910f135372ce3" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/llvm-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="3afa0d2573ba55c46360419ed944a729ae08c8f7" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/lldb-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="ef5f529adfb9b57b33c394641d7d5e2d1f1b5ff6" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/lld-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="0d72ce018c85c54fc709c7da71d3dd1463af0bfc" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/clang-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="f0571ec2135cb735f22baa149ac84e7334d0ac70" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/clang-tools-extra-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="b35bc6ed7ce40f18ac45c81f4cf02ffd1f14de82" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/compiler-rt-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="f7fcf3bd92d130784513c06efe6910f135372ce3" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/llvm-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="0d72ce018c85c54fc709c7da71d3dd1463af0bfc" type="binary">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/clang-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="f0571ec2135cb735f22baa149ac84e7334d0ac70" type="binary">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/clang-tools-extra-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="3afa0d2573ba55c46360419ed944a729ae08c8f7" type="binary">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/lldb-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="ef5f529adfb9b57b33c394641d7d5e2d1f1b5ff6" type="binary">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/lld-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="e7ce627133584db555c5bd980418f96a9684a58f" type="binary">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/polly-9.0.1.src.tar.xz</Archive>
<Archive sha1sum="b35bc6ed7ce40f18ac45c81f4cf02ffd1f14de82" type="binary">https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/compiler-rt-9.0.1.src.tar.xz</Archive>
<BuildDependencies>
<Dependency>zlib-devel</Dependency>
<Dependency>libxml2-devel</Dependency>
@@ -30,6 +31,7 @@
<Dependency>cmake</Dependency>
<!-- Use new plugin-api.h header file from binutils to enable LLVM gold plugin -->
<Dependency>binutils</Dependency>
<Dependency>llvm-clang</Dependency>
</BuildDependencies>
</Source>
@@ -49,6 +51,7 @@
<Path fileType="executable">/usr/bin</Path>
<Path fileType="executable">/usr/bin/llvm-config</Path>
<Path fileType="header">/usr/include/llvm*</Path>
<Path fileType="header">/usr/include/polly*</Path>
<Path fileType="library">/usr/lib/llvm</Path>
<Path fileType="library">/usr/lib</Path>
<Path fileType="conf">/etc/ld.so.conf.d</Path>
@@ -78,6 +81,7 @@
<Path fileType="library">/usr/lib/libLLVM*.so</Path>
<Path fileType="library">/usr/lib/LLVMgold.*</Path>
<Path fileType="library">/usr/lib/libLTO.*</Path>
<Path fileType="library">/usr/lib/libPolly*.so</Path>
<Path fileType="library">/usr/lib/bfd-plugins/LLVMgold.so</Path>
<Path fileType="data">/usr/share/licenses/llvm-libs/LICENSE</Path>
</Files>
@@ -109,7 +113,8 @@
<Path fileType="library">/usr/lib/liblldbPluginObjCLanguage.a</Path>
</Files>
</Package>
<Package>
<Name>lldb-devel</Name>
<Summary>Development headers lldb</Summary>
@@ -120,8 +125,53 @@
<Path fileType="header">/usr/include/lldb/*</Path>
</Files>
</Package>
<Package>
<Name>lld</Name>
<Summary> Linker from the LLVM project</Summary>
<RuntimeDependencies>
<Dependency release="current">llvm-libs</Dependency>
<Dependency>zlib</Dependency>
<Dependency>libffi</Dependency>
<Dependency>libedit</Dependency>
<Dependency>libgcc</Dependency>
<Dependency>ncurses</Dependency>
<Dependency>python</Dependency>
<Dependency>libxml2</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/usr/bin/ld.lld</Path>
<Path fileType="executable">/usr/bin/ld64.lld</Path>
<Path fileType="executable">/usr/bin/lld</Path>
<Path fileType="executable">/usr/bin/lld-link</Path>
<Path fileType="executable">/usr/bin/wasm-ld</Path>
<Path fileType="library">/usr/lib/liblldCOFF.*</Path>
<Path fileType="library">/usr/lib/liblldCommon.*</Path>
<Path fileType="library">/usr/lib/liblldCore.*</Path>
<Path fileType="library">/usr/lib/liblldDriver.*</Path>
<Path fileType="library">/usr/lib/liblldELF.*</Path>
<Path fileType="library">/usr/lib/liblldMachO.*</Path>
<Path fileType="library">/usr/lib/liblldMinGW.*</Path>
<Path fileType="library">/usr/lib/liblldReaderWriter.*</Path>
<Path fileType="library">/usr/lib/liblldWasm.*</Path>
<Path fileType="library">/usr/lib/liblldYAML.*</Path>
<Path fileType="doc">/usr/share/doc/lld</Path>
</Files>
</Package>
<Package>
<Name>lld-devel</Name>
<Summary>Development headers lld</Summary>
<RuntimeDependencies>
<Dependency release="current">lld</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include/lld/*</Path>
</Files>
</Package>
<Package>
<Name>llvm-clang-analyzer</Name>
<IsA>app:console</IsA>
@@ -156,6 +206,8 @@
<Path fileType="executable">/usr/bin/tblgen</Path>
<Path fileType="library">/usr/lib/clang</Path>
<Path fileType="library">/usr/lib/libclang*</Path>
<!-- <Path fileType="library">/usr/lib/liblldbPluginExpressionParserClang.a</Path> -->
<!-- <Path fileType="library">/usr/lib/liblldbPluginObjCLanguage.a</Path> -->
<Path fileType="man">/usr/share/man/man1/clang.1</Path>
<Path fileType="data">/usr/lib/cmake/clang/Clang*</Path>
<Path fileType="data">/usr/share/clang</Path>
@@ -211,12 +263,12 @@
</Package>
<History>
<Update release="11">
<Date>2020-01-03</Date>
<Update release="11">
<Date>2020-01-04</Date>
<Version>9.0.1</Version>
<Comment>Version bump.</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin.bojara@gmail.com</Email>
<Name>Idris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="10">
<Date>2019-05-23</Date>