diff --git a/programming/misc/libcxx/actions.py b/programming/misc/libcxx/actions.py index d79d1a5743..ab5abbfc6d 100755 --- a/programming/misc/libcxx/actions.py +++ b/programming/misc/libcxx/actions.py @@ -7,95 +7,88 @@ from pisi.actionsapi import pisitools from pisi.actionsapi import shelltools from pisi.actionsapi import autotools +from pisi.actionsapi import cmaketools from pisi.actionsapi import get -WorkDir = "." +WorkDir = "llvm-project-%s" %get.srcVERSION() NoStrip = ["/usr"] def setup(): - - shelltools.move("libcxx-%s.src" %get.srcVERSION(), "libcxx") - shelltools.move("libcxxabi-%s.src" %get.srcVERSION(), "libcxxabi") - -def build(): + shelltools.export("CC", "clang") shelltools.export("CXX", "clang++") - for arch in ["x86_64", "i686"]: - - if arch == "x86_64": - pisitools.cflags.add("-m64") - pisitools.cxxflags.add("-m64") - shelltools.export("LDFLAGS", " -fuse-ld=lld -rtlib=compiler-rt -L/usr/lib -ldl -lpthread") - libsuffix = " " - - if arch == "i686": - pisitools.cflags.add("-m32") - pisitools.cxxflags.add("-m32") - shelltools.export("LDFLAGS", "-fuse-ld=lld -L/usr/lib32 -ldl -lpthread") - libsuffix = "32" - - shelltools.cd("%s/libcxxabi" %get.workDIR()) - shelltools.system("mkdir build-%s" %arch) - shelltools.cd("build-%s" %arch) - - shelltools.system("cmake .. -G 'Unix Makefiles' \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_AR=/usr/bin/llvm-ar \ - -DCMAKE_RANLIB=/usr/bin/llvm-ranlib \ - -DCMAKE_STRIP=' ' \ - -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \ - -DLIBCXXABI_ENABLE_THREADS=ON \ - -DLIBCXXABI_ENABLE_SHARED=OFF \ - -DLIBCXXABI_LIBCXX_INCLUDES=../../libcxx/include \ - -DLLVM_NO_OLD_LIBSTDCXX=TRUE \ - -DCXX_SUPPORTS_CXX11=TRUE \ - -DLIBCXXABI_HAS_PTHREAD_API=ON \ - -DLIBCXXABI_INSTALL_LIBRARY=OFF \ - -DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF \ - -DLIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS=OFF \ - -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \ - ") - - autotools.make() - - shelltools.cd("%s/libcxx" %get.workDIR()) - shelltools.system("mkdir build-%s" %arch) - shelltools.cd("build-%s" %arch) - - shelltools.system("cmake .. -G 'Unix Makefiles' \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_AR=/usr/bin/llvm-ar \ - -DCMAKE_RANLIB=/usr/bin/llvm-ranlib \ - -DCMAKE_STRIP=' ' \ - -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \ - -DLIBCXX_INSTALL_HEADERS=ON \ - -DLIBCXX_ENABLE_EXCEPTIONS=ON \ - -DLIBCXX_ENABLE_THREADS=ON \ - -DLIBCXX_ENABLE_MONOTONIC_CLOCK=ON \ - -DLIBCXX_ENABLE_SHARED=ON \ - -DLIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG=TRUE \ - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=ON \ - -DLIBCXX_ENABLE_FILESYSTEM=ON \ - -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=TRUE \ - -DLIBCXX_USE_COMPILER_RT=ON \ - -DLIBCXX_CXX_ABI=libcxxabi \ - -DLIBCXX_CXX_ABI_INCLUDE_PATHS=../../libcxxabi/include \ - -DLIBCXX_CXX_ABI_LIBRARY_PATH=../../libcxxabi/build-%s/lib \ - -DLIBCXX_HAS_PTHREAD_API=ON \ - -DLIBCXX_LIBDIR_SUFFIX=%s \ - " % (arch, libsuffix) ) - - autotools.make() - + if get.buildTYPE() == "emul32" : + libsuffix = "32" + pisitools.ldflags.add(" -fuse-ld=lld -L/usr/lib32 -ldl -lpthread ") + triple = "i686-pc-linux-gnu" + pisitools.cflags.add("-m32 --target=%s" %triple) + pisitools.cxxflags.add("-m32 --target=%s" %triple) + else: + libsuffix = " " + pisitools.ldflags.add(" -fuse-ld=lld -rtlib=compiler-rt -L/usr/lib -ldl -lpthread ") + triple = "%s " % get.HOST() + + shelltools.system("ln -s %s/%s/libcxx llvm/projects/libcxx" %(get.workDIR(), WorkDir)) + shelltools.system("ln -s %s/%s/libcxxabi llvm/projects/libcxxabi" %(get.workDIR(), WorkDir)) + + shelltools.makedirs("llvm/build") + shelltools.cd("llvm/build") + + shelltools.system(" cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_AR=/usr/bin/llvm-ar \ + -DCMAKE_RANLIB=/usr/bin/llvm-ranlib \ + -DCMAKE_STRIP=' ' \ + -DLIBCXXABI_USE_COMPILER_RT=ON \ + -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \ + -DLIBCXXABI_ENABLE_THREADS=ON \ + -DLIBCXXABI_ENABLE_SHARED=OFF \ + -DLLVM_NO_OLD_LIBSTDCXX=TRUE \ + -DCXX_SUPPORTS_CXX11=TRUE \ + -DLIBCXXABI_ENABLE_SHARED=OFF \ + -DLIBCXXABI_HAS_PTHREAD_API=ON \ + -DLIBCXXABI_INSTALL_LIBRARY=OFF \ + -DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF \ + -DLIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS=OFF \ + -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \ + -DLIBCXXABI_LIBUNWIND_INCLUDES=../../libunwind/incude \ + -DLIBCXXABI_LIBUNWIND_PATH=../../libunwind \ + -DLIBCXXABI_USE_LLVM_UNWINDER=ON \ + -DLIBCXX_INSTALL_HEADERS=ON \ + -DLIBCXX_ENABLE_EXCEPTIONS=ON \ + -DLIBCXX_ENABLE_THREADS=ON \ + -DLIBCXX_ENABLE_MONOTONIC_CLOCK=ON \ + -DLIBCXX_ENABLE_SHARED=ON \ + -DLIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG=TRUE \ + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=ON \ + -DLIBCXX_ENABLE_FILESYSTEM=ON \ + -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=TRUE \ + -DLIBCXX_USE_COMPILER_RT=ON \ + -DLIBCXX_CXX_ABI=libcxxabi \ + -DLIBCXX_HAS_PTHREAD_API=ON \ + -DLIBCXX_LIBDIR_SUFFIX=%s \ + -DLIBCXX_ENABLE_SHARED=ON \ + -DLIBCXX_ENABLE_STATIC=ON \ + -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=TRUE \ + -DLLVM_EXTERNAL_LIBUNWIND_SOURCE_DIR=../../libunwind \ + -DLIBUNWIND_INSTALL_LIBRARY=OFF \ + -DLIBUNWIND_ENABLE_SHARED=ON \ + -DLIBUNWIND_USE_COMPILER_RT=ON \ + -DLIBUNWIND_TARGET_TRIPLE=%s \ + -DLLVM_DEFAULT_TARGET_TRIPLE=%s \ + .. \ + " %(libsuffix, triple, triple) ) + +def build(): + shelltools.cd("llvm/build") + autotools.make("cxx cxx_experimental") def install(): + shelltools.cd("llvm/build") + shelltools.system("DESTDIR=%s make install-cxx-headers install-cxx" %get.installDIR()) - for arch in ["x86_64", "i686"]: - shelltools.cd("%s/libcxx/build-%s" % (get.workDIR(), arch) ) - autotools.rawInstall("DESTDIR=%s" %get.installDIR()) - - pisitools.dodoc("%s/libcxx/CREDITS.TXT" % get.workDIR(), "%s/libcxx/LICENSE.TXT" % get.workDIR(), "%s/libcxx/NOTES.TXT" % get.workDIR(), "%s/libcxx/TODO.TXT" % get.workDIR()) + + pisitools.dodoc("../projects/libcxx/CREDITS.TXT", "../projects/libcxx/LICENSE.TXT", "../projects/libcxx/NOTES.TXT", "../projects/libcxx/TODO.TXT") diff --git a/programming/misc/libcxx/pspec.xml b/programming/misc/libcxx/pspec.xml index 9d01b72f77..75027690b4 100755 --- a/programming/misc/libcxx/pspec.xml +++ b/programming/misc/libcxx/pspec.xml @@ -3,7 +3,7 @@ libcxx - http://www.kde.org + http://libcxx.llvm.org/ Idris Kalp idriskalp@gmail.com @@ -12,8 +12,7 @@ library LLVM C++ standard library. libcxx provides standard c++ library by LLVM - https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/libcxx-10.0.0.src.tar.xz - https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/libcxxabi-10.0.0.src.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/llvm-project-11.0.0.tar.xz llvm llvm-libs @@ -27,14 +26,18 @@ libcxx /usr/lib - /usr/share/doc + /usr/share/doc libcxx-32bit - libcxx 32bit shared libraries. emul32 + emul32 + libcxx 32bit shared libraries. + + libcxx + /usr/lib32 @@ -51,7 +54,14 @@ - + + + 2020-11-13 + 11.0.0 + Version bump + Idris Kalp + idriskalp@gmail.com + 2020-03-26 10.0.0