libcxx 11.0.0

This commit is contained in:
Idris Kalp
2020-11-13 18:57:51 +03:00
parent 0b873fa00e
commit a84a072f05
2 changed files with 89 additions and 86 deletions
+73 -80
View File
@@ -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")
+16 -6
View File
@@ -3,7 +3,7 @@
<PISI>
<Source>
<Name>libcxx</Name>
<Homepage>http://www.kde.org</Homepage>
<Homepage>http://libcxx.llvm.org/</Homepage>
<Packager>
<Name>Idris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
@@ -12,8 +12,7 @@
<IsA>library</IsA>
<Summary>LLVM C++ standard library.</Summary>
<Description>libcxx provides standard c++ library by LLVM</Description>
<Archive sha1sum="9fa3bcaf229a8b74bbc1c53d60f040656f89cb9f" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/libcxx-10.0.0.src.tar.xz</Archive>
<Archive sha1sum="474dfec6db4a6ca34902ed8446c8c3f85b210c46" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/libcxxabi-10.0.0.src.tar.xz</Archive>
<Archive sha1sum="3c88390b19ac6779c8d9c89256892d690903412b" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/llvm-project-11.0.0.tar.xz</Archive>
<BuildDependencies>
<Dependency>llvm</Dependency>
<Dependency>llvm-libs</Dependency>
@@ -27,14 +26,18 @@
<Name>libcxx</Name>
<Files>
<Path fileType="library">/usr/lib</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="doc">/usr/share/doc</Path>
</Files>
</Package>
<Package>
<Name>libcxx-32bit</Name>
<Summary>libcxx 32bit shared libraries.</Summary>
<PartOf>emul32</PartOf>
<BuildType>emul32</BuildType>
<Summary>libcxx 32bit shared libraries.</Summary>
<RuntimeDependencies>
<Dependency release="current">libcxx</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib32</Path>
</Files>
@@ -51,7 +54,14 @@
</Files>
</Package>
<History>
<History>
<Update release="2">
<Date>2020-11-13</Date>
<Version>11.0.0</Version>
<Comment>Version bump</Comment>
<Name>Idris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="1">
<Date>2020-03-26</Date>
<Version>10.0.0</Version>