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 pisitools
from pisi.actionsapi import shelltools from pisi.actionsapi import shelltools
from pisi.actionsapi import autotools from pisi.actionsapi import autotools
from pisi.actionsapi import cmaketools
from pisi.actionsapi import get from pisi.actionsapi import get
WorkDir = "." WorkDir = "llvm-project-%s" %get.srcVERSION()
NoStrip = ["/usr"] NoStrip = ["/usr"]
def setup(): 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("CC", "clang")
shelltools.export("CXX", "clang++") shelltools.export("CXX", "clang++")
for arch in ["x86_64", "i686"]: if get.buildTYPE() == "emul32" :
libsuffix = "32"
if arch == "x86_64": pisitools.ldflags.add(" -fuse-ld=lld -L/usr/lib32 -ldl -lpthread ")
pisitools.cflags.add("-m64") triple = "i686-pc-linux-gnu"
pisitools.cxxflags.add("-m64") pisitools.cflags.add("-m32 --target=%s" %triple)
shelltools.export("LDFLAGS", " -fuse-ld=lld -rtlib=compiler-rt -L/usr/lib -ldl -lpthread") pisitools.cxxflags.add("-m32 --target=%s" %triple)
libsuffix = " " else:
libsuffix = " "
if arch == "i686": pisitools.ldflags.add(" -fuse-ld=lld -rtlib=compiler-rt -L/usr/lib -ldl -lpthread ")
pisitools.cflags.add("-m32") triple = "%s " % get.HOST()
pisitools.cxxflags.add("-m32")
shelltools.export("LDFLAGS", "-fuse-ld=lld -L/usr/lib32 -ldl -lpthread") shelltools.system("ln -s %s/%s/libcxx llvm/projects/libcxx" %(get.workDIR(), WorkDir))
libsuffix = "32" shelltools.system("ln -s %s/%s/libcxxabi llvm/projects/libcxxabi" %(get.workDIR(), WorkDir))
shelltools.cd("%s/libcxxabi" %get.workDIR()) shelltools.makedirs("llvm/build")
shelltools.system("mkdir build-%s" %arch) shelltools.cd("llvm/build")
shelltools.cd("build-%s" %arch)
shelltools.system(" cmake \
shelltools.system("cmake .. -G 'Unix Makefiles' \ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_AR=/usr/bin/llvm-ar \
-DCMAKE_AR=/usr/bin/llvm-ar \ -DCMAKE_RANLIB=/usr/bin/llvm-ranlib \
-DCMAKE_RANLIB=/usr/bin/llvm-ranlib \ -DCMAKE_STRIP=' ' \
-DCMAKE_STRIP=' ' \ -DLIBCXXABI_USE_COMPILER_RT=ON \
-DLIBCXXABI_ENABLE_EXCEPTIONS=ON \ -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \
-DLIBCXXABI_ENABLE_THREADS=ON \ -DLIBCXXABI_ENABLE_THREADS=ON \
-DLIBCXXABI_ENABLE_SHARED=OFF \ -DLIBCXXABI_ENABLE_SHARED=OFF \
-DLIBCXXABI_LIBCXX_INCLUDES=../../libcxx/include \ -DLLVM_NO_OLD_LIBSTDCXX=TRUE \
-DLLVM_NO_OLD_LIBSTDCXX=TRUE \ -DCXX_SUPPORTS_CXX11=TRUE \
-DCXX_SUPPORTS_CXX11=TRUE \ -DLIBCXXABI_ENABLE_SHARED=OFF \
-DLIBCXXABI_HAS_PTHREAD_API=ON \ -DLIBCXXABI_HAS_PTHREAD_API=ON \
-DLIBCXXABI_INSTALL_LIBRARY=OFF \ -DLIBCXXABI_INSTALL_LIBRARY=OFF \
-DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF \ -DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF \
-DLIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS=OFF \ -DLIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS=OFF \
-DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \ -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \
") -DLIBCXXABI_LIBUNWIND_INCLUDES=../../libunwind/incude \
-DLIBCXXABI_LIBUNWIND_PATH=../../libunwind \
autotools.make() -DLIBCXXABI_USE_LLVM_UNWINDER=ON \
-DLIBCXX_INSTALL_HEADERS=ON \
shelltools.cd("%s/libcxx" %get.workDIR()) -DLIBCXX_ENABLE_EXCEPTIONS=ON \
shelltools.system("mkdir build-%s" %arch) -DLIBCXX_ENABLE_THREADS=ON \
shelltools.cd("build-%s" %arch) -DLIBCXX_ENABLE_MONOTONIC_CLOCK=ON \
-DLIBCXX_ENABLE_SHARED=ON \
shelltools.system("cmake .. -G 'Unix Makefiles' \ -DLIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG=TRUE \
-DCMAKE_BUILD_TYPE=Release \ -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=ON \
-DCMAKE_INSTALL_PREFIX=/usr \ -DLIBCXX_ENABLE_FILESYSTEM=ON \
-DCMAKE_AR=/usr/bin/llvm-ar \ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=TRUE \
-DCMAKE_RANLIB=/usr/bin/llvm-ranlib \ -DLIBCXX_USE_COMPILER_RT=ON \
-DCMAKE_STRIP=' ' \ -DLIBCXX_CXX_ABI=libcxxabi \
-DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \ -DLIBCXX_HAS_PTHREAD_API=ON \
-DLIBCXX_INSTALL_HEADERS=ON \ -DLIBCXX_LIBDIR_SUFFIX=%s \
-DLIBCXX_ENABLE_EXCEPTIONS=ON \ -DLIBCXX_ENABLE_SHARED=ON \
-DLIBCXX_ENABLE_THREADS=ON \ -DLIBCXX_ENABLE_STATIC=ON \
-DLIBCXX_ENABLE_MONOTONIC_CLOCK=ON \ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=TRUE \
-DLIBCXX_ENABLE_SHARED=ON \ -DLLVM_EXTERNAL_LIBUNWIND_SOURCE_DIR=../../libunwind \
-DLIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG=TRUE \ -DLIBUNWIND_INSTALL_LIBRARY=OFF \
-DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=ON \ -DLIBUNWIND_ENABLE_SHARED=ON \
-DLIBCXX_ENABLE_FILESYSTEM=ON \ -DLIBUNWIND_USE_COMPILER_RT=ON \
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=TRUE \ -DLIBUNWIND_TARGET_TRIPLE=%s \
-DLIBCXX_USE_COMPILER_RT=ON \ -DLLVM_DEFAULT_TARGET_TRIPLE=%s \
-DLIBCXX_CXX_ABI=libcxxabi \ .. \
-DLIBCXX_CXX_ABI_INCLUDE_PATHS=../../libcxxabi/include \ " %(libsuffix, triple, triple) )
-DLIBCXX_CXX_ABI_LIBRARY_PATH=../../libcxxabi/build-%s/lib \
-DLIBCXX_HAS_PTHREAD_API=ON \ def build():
-DLIBCXX_LIBDIR_SUFFIX=%s \ shelltools.cd("llvm/build")
" % (arch, libsuffix) ) autotools.make("cxx cxx_experimental")
autotools.make()
def install(): 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) ) pisitools.dodoc("../projects/libcxx/CREDITS.TXT", "../projects/libcxx/LICENSE.TXT", "../projects/libcxx/NOTES.TXT", "../projects/libcxx/TODO.TXT")
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())
+16 -6
View File
@@ -3,7 +3,7 @@
<PISI> <PISI>
<Source> <Source>
<Name>libcxx</Name> <Name>libcxx</Name>
<Homepage>http://www.kde.org</Homepage> <Homepage>http://libcxx.llvm.org/</Homepage>
<Packager> <Packager>
<Name>Idris Kalp</Name> <Name>Idris Kalp</Name>
<Email>idriskalp@gmail.com</Email> <Email>idriskalp@gmail.com</Email>
@@ -12,8 +12,7 @@
<IsA>library</IsA> <IsA>library</IsA>
<Summary>LLVM C++ standard library.</Summary> <Summary>LLVM C++ standard library.</Summary>
<Description>libcxx provides standard c++ library by LLVM</Description> <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="3c88390b19ac6779c8d9c89256892d690903412b" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/llvm-project-11.0.0.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>
<BuildDependencies> <BuildDependencies>
<Dependency>llvm</Dependency> <Dependency>llvm</Dependency>
<Dependency>llvm-libs</Dependency> <Dependency>llvm-libs</Dependency>
@@ -27,14 +26,18 @@
<Name>libcxx</Name> <Name>libcxx</Name>
<Files> <Files>
<Path fileType="library">/usr/lib</Path> <Path fileType="library">/usr/lib</Path>
<Path fileType="doc">/usr/share/doc</Path> <Path fileType="doc">/usr/share/doc</Path>
</Files> </Files>
</Package> </Package>
<Package> <Package>
<Name>libcxx-32bit</Name> <Name>libcxx-32bit</Name>
<Summary>libcxx 32bit shared libraries.</Summary>
<PartOf>emul32</PartOf> <PartOf>emul32</PartOf>
<BuildType>emul32</BuildType>
<Summary>libcxx 32bit shared libraries.</Summary>
<RuntimeDependencies>
<Dependency release="current">libcxx</Dependency>
</RuntimeDependencies>
<Files> <Files>
<Path fileType="library">/usr/lib32</Path> <Path fileType="library">/usr/lib32</Path>
</Files> </Files>
@@ -51,7 +54,14 @@
</Files> </Files>
</Package> </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"> <Update release="1">
<Date>2020-03-26</Date> <Date>2020-03-26</Date>
<Version>10.0.0</Version> <Version>10.0.0</Version>