diff --git a/programming/build/llvm/actions.py b/programming/build/llvm/actions.py old mode 100755 new mode 100644 index 29436b6dbf..8643a945ef --- a/programming/build/llvm/actions.py +++ b/programming/build/llvm/actions.py @@ -16,52 +16,40 @@ libsuffix = "32" if get.buildTYPE() == "emul32" else " " NoStrip = ["/usr/lib/clang/%s/lib/linux" % get.srcVERSION()] -#WorkDir = "llvm-project-%s" % get.srcVERSION() +WorkDir = "llvm-project-%s.src/llvm" % get.srcVERSION() def setup(): - shelltools.move("../llvm-project-%s/mlir" % get.srcVERSION(), "%s/mlir" % get.workDIR()) - shelltools.move("../clang-%s.src" % get.srcVERSION(), "%s/clang" % get.workDIR()) - #pisitools.ldflags.add("-fuse-ld=lld -rtlib=libgcc") - #pisitools.cflags.remove("-D_FORTIFY_SOURCE=2") - #pisitools.cxxflags.remove("-D_FORTIFY_SOURCE=2") + pisitools.ldflags.add("-fuse-ld=lld -rtlib=libgcc") + pisitools.cflags.remove("-D_FORTIFY_SOURCE=2") + pisitools.cxxflags.remove("-D_FORTIFY_SOURCE=2") + shelltools.export("CC", "clang") + shelltools.export("CXX", "clang++") - if get.buildTYPE() == "emul32": - shelltools.export("CC", "gcc -m32") - shelltools.export("CXX", "g++ -m32") + #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") + #shelltools.export("PKG_CONFIG_PATH","/usr/lib32/pkgconfig") #clang patch #shelltools.cd("tools") #shelltools.system("patch -p1 < enable-SSP-and-PIE-by-default.patch") #shelltools.cd("..") - else: - shelltools.export("CC", "gcc") - shelltools.export("CXX", "g++") + #else: + #shelltools.export("CC", "gcc") + #shelltools.export("CXX", "g++") #shelltools.export("CC", "clang") #shelltools.export("CXX", "clang++") - - shelltools.move("../compiler-rt-%s.src" % get.srcVERSION(), "%s/compiler-rt" % get.workDIR()) - shelltools.move("../clang-tools-extra-%s.src" % get.srcVERSION(), "%s/clang-tools-extra" % get.workDIR()) - shelltools.move("../lldb-%s.src" % get.srcVERSION(), "%s/lldb" % get.workDIR()) - shelltools.move("../lld-%s.src" % get.srcVERSION(), "%s/lld" % get.workDIR()) - shelltools.move("../polly-%s.src" % get.srcVERSION(), "%s/polly" % get.workDIR()) - - pisitools.dosed("../lld/test/ELF/shared.s", "lib64", "lib") - - #polly patch - shelltools.cd("%s" % get.workDIR()) - shelltools.system("patch -p1 < support-linking-ScopPassManager-against-LLVM-dylib.patch") - shelltools.cd("llvm-%s.src" % get.srcVERSION()) shelltools.makedirs("build") + shelltools.cd("build") if get.buildTYPE() != "emul32": pisitools.cflags.add("-m64") - pisitools.cxxflags.add("-m64") + pisitools.cxxflags.add("-m64 -Wno-c++11-narrowing") options = "-DLLVM_TARGET_ARCH:STRING=x86_64 \ -DLLDB_ENABLE_LUA=OFF \ -DLLVM_DEFAULT_TARGET_TRIPLE=%s " % get.HOST() @@ -69,7 +57,8 @@ def setup(): if get.buildTYPE() == "emul32": pisitools.cflags.add("-m32") - pisitools.cxxflags.add("-m32") + pisitools.cxxflags.add("-m32 -Wno-c++11-narrowing") + shelltools.export("PKG_CONFIG_PATH","/usr/lib32/pkgconfig") options = " -DCMAKE_INSTALL_PREFIX=/emul32 \ -DLLVM_TARGET_ARCH:STRING=i686 \ -DLLVM_DEFAULT_TARGET_TRIPLE='i686-pc-linux-gnu'" @@ -84,14 +73,11 @@ def setup(): -DLLVM_BUILD_DOCS=OFF \ -DLLVM_ENABLE_RTTI=ON \ -DLLVM_ENABLE_EH=ON \ - -DLLVM_BUILD_LLVM_DYLIB=ON \ - -DLLVM_LINK_LLVM_DYLIB=ON \ - -DCLANG_LINK_CLANG_DYLIB=ON \ + -DBUILD_SHARED_LIBS=ON \ \ -DLLDB_USE_SYSTEM_SIX=1 \ -DLLVM_INCLUDEDIR=/usr/include \ -DLLVM_ENABLE_ASSERTIONS=OFF \ -DFFI_INCLUDE_DIR=/usr/include \ - -DLLVM_BINUTILS_INCDIR=/usr/include \ -DCOMPILER_RT_USE_LIBCXX=OFF" % (options, projects, libsuffix), sourceDir=".." ) def build(): @@ -110,7 +96,6 @@ def install(): 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") - pisitools.dosym("/usr/lib/LLVMgold.so", "/usr/lib/bfd-plugins/LLVMgold.so") shelltools.cd ("..") diff --git a/programming/build/llvm/pspec.xml b/programming/build/llvm/pspec.xml index 44dd09d7e1..17532674f0 100755 --- a/programming/build/llvm/pspec.xml +++ b/programming/build/llvm/pspec.xml @@ -11,14 +11,7 @@ NCSA The Low Level Virtual Machine 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. - https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/llvm-11.0.0.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/clang-11.0.0.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/clang-tools-extra-11.0.0.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/lldb-11.0.0.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/lld-11.0.0.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/polly-11.0.0.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/compiler-rt-11.0.0.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/llvm-project-11.0.0.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-11.1.0/llvm-project-11.1.0.src.tar.xz ninja zlib-devel @@ -34,16 +27,16 @@ binutils gcc - - + llvm-clang + lld - + - 0001-SystemZ-Use-LA-instead-of-AGR-in-eliminateFrameIndex.patch - 0001-backport-D88371-guard-find_library-tensorflow_c_api.patch - stack-clash-fixes.patch + 0001-SystemZ-Use-LA-instead-of-AGR-in-eliminateFrameIndex.patch + + @@ -202,15 +195,7 @@ libgcc - /usr/lib/clang/11.0.0/bin - /usr/lib/clang/11.0.0/include/xray - /usr/lib/clang/11.0.0/include/fuzzer - /usr/lib/clang/11.0.0/include/sanitizer - /usr/lib/clang/11.0.0/share - /usr/lib/clang/11.0.0/lib/linux/*.a - /usr/lib/clang/11.0.0/lib/linux/*.a.* - /usr/lib/clang/11.0.0/lib/linux/*.o - /usr/lib/clang/11.0.0/lib/linux/*.so + /usr/lib/clang/11.1.0/lib/linux/*.so @@ -323,6 +308,13 @@ + + 2021-02-17 + 11.1.0 + Version bump. + İdris Kalp + idriskalp@gmail.com + 2020-11-12 11.0.0