From 76a71bec496863cecdfffe5b38b379760c23c2d0 Mon Sep 17 00:00:00 2001 From: Idris Kalp Date: Fri, 20 Nov 2020 04:26:15 +0300 Subject: [PATCH 1/2] llvm reset --- programming/build/llvm/actions.py | 113 +++++++++++------------------- programming/build/llvm/pspec.xml | 37 +++++----- 2 files changed, 62 insertions(+), 88 deletions(-) mode change 100644 => 100755 programming/build/llvm/actions.py mode change 100644 => 100755 programming/build/llvm/pspec.xml diff --git a/programming/build/llvm/actions.py b/programming/build/llvm/actions.py old mode 100644 new mode 100755 index c75f2ee2b1..73ae966d47 --- a/programming/build/llvm/actions.py +++ b/programming/build/llvm/actions.py @@ -9,117 +9,86 @@ from pisi.actionsapi import shelltools from pisi.actionsapi import get from pisi.actionsapi import cmaketools +projects = "clang;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 "" +libsuffix = "32" if get.buildTYPE() == "emul32" else " " -NoStrip = ["/usr/lib/clang/%s/lib/linux" % get.srcVERSION()] +NoStrip = ["/usr/lib/clang/%s/lib/linux" %get.srcVERSION()] + +WorkDir = "llvm-project-%s/llvm" %get.srcVERSION() def setup(): - #pisitools.ldflags.add("-fuse-ld=lld") - - if get.buildTYPE() != "emul32": - 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/tools/extra") - - 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") - - #clang patch - #shelltools.cd("tools") - #shelltools.system("patch -p1 < enable-SSP-and-PIE-by-default.patch") - #shelltools.cd("..") - - #shelltools.export("CC", "clang") - #shelltools.export("CXX", "clang++") - shelltools.export("CC", "gcc") - shelltools.export("CXX", "g++") - else: - shelltools.system("tar xf ../clang-%s.src.tar.xz -C tools" % get.srcVERSION()) - shelltools.move("tools/clang-%s.src" % get.srcVERSION(), "tools/clang") + pisitools.ldflags.add("-fuse-ld=lld -rtlib=libgcc") + pisitools.cflags.remove("-D_FORTIFY_SOURCE=2") + pisitools.cxxflags.remove("-D_FORTIFY_SOURCE=2") + if get.buildTYPE() == "emul32": - #shelltools.export("CC", "clang -m32") - #shelltools.export("CXX", "clang++ -m32") - 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") #clang patch #shelltools.cd("tools") #shelltools.system("patch -p1 < enable-SSP-and-PIE-by-default.patch") #shelltools.cd("..") + else: + shelltools.export("CC", "clang") + shelltools.export("CXX", "clang++") shelltools.makedirs("build") shelltools.cd("build") if get.buildTYPE() != "emul32": - options = "-DCMAKE_C_FLAGS:STRING=-m64 \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_CXX_FLAGS:STRING=-m64 \ - -DLLVM_TARGET_ARCH:STRING=x86_64 \ - -DLLDB_ENABLE_LUA=OFF \ - -DLLVM_DEFAULT_TARGET_TRIPLE=%s " % get.HOST() + pisitools.cflags.add("-m64") + pisitools.cxxflags.add("-m64") + options = "-DLLVM_TARGET_ARCH:STRING=x86_64 \ + -DLLDB_ENABLE_LUA=OFF \ + -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" + pisitools.cflags.add("-m32") + pisitools.cxxflags.add("-m32") + options = " -DCMAKE_INSTALL_PREFIX=/emul32 \ + -DLLVM_TARGET_ARCH:STRING=i686 \ + -DLLVM_DEFAULT_TARGET_TRIPLE='i686-pc-linux-gnu'" cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - %s \ - -DLLVM_ENABLE_FFI=ON \ - -DLLVM_BUILD_DOCS=OFF \ - -DLLVM_ENABLE_RTTI=ON \ - -DLLVM_ENABLE_EH=ON \ - -DLLVM_BUILD_LLVM_DYLIB=ON \ - -DLLVM_LINK_LLVM_DYLIB=ON \ - -DLLVM_INCLUDEDIR=/usr/include \ - -DLLVM_ENABLE_ASSERTIONS=OFF \ - -DFFI_INCLUDE_DIR=/usr/lib/libffi-3.2.1/include \ - -DCOMPILER_RT_USE_LIBCXX=OFF \ - -DLIBOMP_USE_HIER_SCHED=ON" % (options), sourceDir=".." ) + -G 'Unix Makefiles' \ + %s \ + -DLLVM_ENABLE_PROJECTS='%s' \ + -DLLVM_LIBDIR_SUFFIX=%s \ + -DLLVM_ENABLE_FFI=ON \ + -DLLVM_BUILD_DOCS=OFF \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_ENABLE_EH=ON \ + -DBUILD_SHARED_LIBS=ON \ + -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.makedirs("build") shelltools.cd("build") cmaketools.make() def install(): - shelltools.makedirs("build") shelltools.cd("build") cmaketools.rawInstall("DESTDIR=%s" % get.installDIR()) - if get.buildTYPE() == "emul32": - + 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/python2.7/site-packages/six.py") shelltools.cd ("..") - - pisitools.dodoc("CREDITS.TXT", "LICENSE.TXT", "README.txt") + + pisitools.dodoc("LICENSE.TXT", "README.txt") diff --git a/programming/build/llvm/pspec.xml b/programming/build/llvm/pspec.xml old mode 100644 new mode 100755 index 0c1bef0247..4819ec566a --- a/programming/build/llvm/pspec.xml +++ b/programming/build/llvm/pspec.xml @@ -11,13 +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-10.0.1/llvm-10.0.1.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/clang-10.0.1.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/clang-tools-extra-10.0.1.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/lldb-10.0.1.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/lld-10.0.1.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/polly-10.0.1.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/compiler-rt-10.0.1.src.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/llvm-project-11.0.0.tar.xz zlib-devel libxml2-devel @@ -26,14 +20,14 @@ libffi-devel groff swig - python-devel libedit-devel - cmake + cmake + python3-devel binutils gcc - - + llvm-clang + lld enable-SSP-and-PIE-by-default.patch @@ -56,6 +50,7 @@ /usr/bin /usr/bin/llvm-config /usr/include/llvm* + /usr/include/mlir* /usr/include/polly* /usr/lib/llvm /usr/lib @@ -84,10 +79,12 @@ /usr/lib/libLLVM*.so - /usr/lib/libLLVM*.so.10 + /usr/lib/libLLVM*.so.11 /usr/lib/LLVMgold.* /usr/lib/libLTO.* /usr/lib/libPolly*.so + /usr/lib/libMLIR* + /usr/lib/libmlir* /usr/lib/bfd-plugins/LLVMgold.so /usr/share/licenses/llvm-libs/LICENSE @@ -104,7 +101,7 @@ libedit libgcc ncurses - python + python3 libxml2 xz @@ -143,7 +140,7 @@ libedit libgcc ncurses - python + python3 libxml2 @@ -194,14 +191,14 @@ /usr/libexec/c++-* - + compiler-rt Various runtime libraries used by Clang - /usr/lib/clang/10.0.1/lib/linux/*.so + /usr/lib/clang/11.0.0/lib/linux/*.so @@ -239,6 +236,7 @@ /usr/include/clang /usr/include/clang-c + /usr/include/clang-tidy @@ -279,6 +277,13 @@ + + 2020-11-15 + 11.0.0 + Version bump. + İdris Kalp + idriskalp@gmail.com + 2020-09-23 10.0.1 From 86de87388cf35df53936f299fd3c7b24452234ad Mon Sep 17 00:00:00 2001 From: Idris Kalp Date: Fri, 20 Nov 2020 04:27:38 +0300 Subject: [PATCH 2/2] Revert "llvm reset" This reverts commit 76a71bec496863cecdfffe5b38b379760c23c2d0. --- programming/build/llvm/actions.py | 113 +++++++++++++++++++----------- programming/build/llvm/pspec.xml | 37 +++++----- 2 files changed, 88 insertions(+), 62 deletions(-) mode change 100755 => 100644 programming/build/llvm/actions.py mode change 100755 => 100644 programming/build/llvm/pspec.xml diff --git a/programming/build/llvm/actions.py b/programming/build/llvm/actions.py old mode 100755 new mode 100644 index 73ae966d47..c75f2ee2b1 --- a/programming/build/llvm/actions.py +++ b/programming/build/llvm/actions.py @@ -9,86 +9,117 @@ from pisi.actionsapi import shelltools from pisi.actionsapi import get from pisi.actionsapi import cmaketools -projects = "clang;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 " " +libsuffix = "32" if get.buildTYPE() == "emul32" else "" -NoStrip = ["/usr/lib/clang/%s/lib/linux" %get.srcVERSION()] - -WorkDir = "llvm-project-%s/llvm" %get.srcVERSION() +NoStrip = ["/usr/lib/clang/%s/lib/linux" % get.srcVERSION()] def setup(): - 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") + if get.buildTYPE() != "emul32": + 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/tools/extra") + + 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") + + #clang patch + #shelltools.cd("tools") + #shelltools.system("patch -p1 < enable-SSP-and-PIE-by-default.patch") + #shelltools.cd("..") + + #shelltools.export("CC", "clang") + #shelltools.export("CXX", "clang++") + shelltools.export("CC", "gcc") + shelltools.export("CXX", "g++") + else: + shelltools.system("tar xf ../clang-%s.src.tar.xz -C tools" % get.srcVERSION()) + shelltools.move("tools/clang-%s.src" % get.srcVERSION(), "tools/clang") + if get.buildTYPE() == "emul32": - shelltools.export("CC", "clang -m32") - shelltools.export("CXX", "clang++ -m32") + #shelltools.export("CC", "clang -m32") + #shelltools.export("CXX", "clang++ -m32") + shelltools.export("CC", "gcc -m32") + shelltools.export("CXX", "g++ -m32") 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", "clang") - shelltools.export("CXX", "clang++") shelltools.makedirs("build") shelltools.cd("build") if get.buildTYPE() != "emul32": - pisitools.cflags.add("-m64") - pisitools.cxxflags.add("-m64") - options = "-DLLVM_TARGET_ARCH:STRING=x86_64 \ - -DLLDB_ENABLE_LUA=OFF \ - -DLLVM_DEFAULT_TARGET_TRIPLE=%s " % get.HOST() + options = "-DCMAKE_C_FLAGS:STRING=-m64 \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_CXX_FLAGS:STRING=-m64 \ + -DLLVM_TARGET_ARCH:STRING=x86_64 \ + -DLLDB_ENABLE_LUA=OFF \ + -DLLVM_DEFAULT_TARGET_TRIPLE=%s " % get.HOST() if get.buildTYPE() == "emul32": - pisitools.cflags.add("-m32") - pisitools.cxxflags.add("-m32") - options = " -DCMAKE_INSTALL_PREFIX=/emul32 \ - -DLLVM_TARGET_ARCH:STRING=i686 \ - -DLLVM_DEFAULT_TARGET_TRIPLE='i686-pc-linux-gnu'" + 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 \ - -G 'Unix Makefiles' \ - %s \ - -DLLVM_ENABLE_PROJECTS='%s' \ - -DLLVM_LIBDIR_SUFFIX=%s \ - -DLLVM_ENABLE_FFI=ON \ - -DLLVM_BUILD_DOCS=OFF \ - -DLLVM_ENABLE_RTTI=ON \ - -DLLVM_ENABLE_EH=ON \ - -DBUILD_SHARED_LIBS=ON \ - -DLLVM_INCLUDEDIR=/usr/include \ - -DLLVM_ENABLE_ASSERTIONS=OFF \ - -DFFI_INCLUDE_DIR=/usr/include \ - -DCOMPILER_RT_USE_LIBCXX=OFF" % (options, projects, libsuffix), sourceDir=".." ) + %s \ + -DLLVM_ENABLE_FFI=ON \ + -DLLVM_BUILD_DOCS=OFF \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_ENABLE_EH=ON \ + -DLLVM_BUILD_LLVM_DYLIB=ON \ + -DLLVM_LINK_LLVM_DYLIB=ON \ + -DLLVM_INCLUDEDIR=/usr/include \ + -DLLVM_ENABLE_ASSERTIONS=OFF \ + -DFFI_INCLUDE_DIR=/usr/lib/libffi-3.2.1/include \ + -DCOMPILER_RT_USE_LIBCXX=OFF \ + -DLIBOMP_USE_HIER_SCHED=ON" % (options), sourceDir=".." ) def build(): + shelltools.makedirs("build") shelltools.cd("build") cmaketools.make() def install(): + shelltools.makedirs("build") shelltools.cd("build") cmaketools.rawInstall("DESTDIR=%s" % get.installDIR()) - if get.buildTYPE() == "emul32": + 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/python2.7/site-packages/six.py") shelltools.cd ("..") - - pisitools.dodoc("LICENSE.TXT", "README.txt") + + pisitools.dodoc("CREDITS.TXT", "LICENSE.TXT", "README.txt") diff --git a/programming/build/llvm/pspec.xml b/programming/build/llvm/pspec.xml old mode 100755 new mode 100644 index 4819ec566a..0c1bef0247 --- a/programming/build/llvm/pspec.xml +++ b/programming/build/llvm/pspec.xml @@ -11,7 +11,13 @@ 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-project-11.0.0.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/llvm-10.0.1.src.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/clang-10.0.1.src.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/clang-tools-extra-10.0.1.src.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/lldb-10.0.1.src.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/lld-10.0.1.src.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/polly-10.0.1.src.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/compiler-rt-10.0.1.src.tar.xz zlib-devel libxml2-devel @@ -20,14 +26,14 @@ libffi-devel groff swig + python-devel libedit-devel - cmake - python3-devel + cmake binutils gcc - llvm-clang - lld + + enable-SSP-and-PIE-by-default.patch @@ -50,7 +56,6 @@ /usr/bin /usr/bin/llvm-config /usr/include/llvm* - /usr/include/mlir* /usr/include/polly* /usr/lib/llvm /usr/lib @@ -79,12 +84,10 @@ /usr/lib/libLLVM*.so - /usr/lib/libLLVM*.so.11 + /usr/lib/libLLVM*.so.10 /usr/lib/LLVMgold.* /usr/lib/libLTO.* /usr/lib/libPolly*.so - /usr/lib/libMLIR* - /usr/lib/libmlir* /usr/lib/bfd-plugins/LLVMgold.so /usr/share/licenses/llvm-libs/LICENSE @@ -101,7 +104,7 @@ libedit libgcc ncurses - python3 + python libxml2 xz @@ -140,7 +143,7 @@ libedit libgcc ncurses - python3 + python libxml2 @@ -191,14 +194,14 @@ /usr/libexec/c++-* - + compiler-rt Various runtime libraries used by Clang - /usr/lib/clang/11.0.0/lib/linux/*.so + /usr/lib/clang/10.0.1/lib/linux/*.so @@ -236,7 +239,6 @@ /usr/include/clang /usr/include/clang-c - /usr/include/clang-tidy @@ -277,13 +279,6 @@ - - 2020-11-15 - 11.0.0 - Version bump. - İdris Kalp - idriskalp@gmail.com - 2020-09-23 10.0.1