@@ -18,6 +18,8 @@ pkgname=(
1818 ' clang-analyzer-svn'
1919 ' clang-compiler-rt-svn'
2020 ' clang-tools-extra-svn'
21+ ' libc++-svn'
22+ ' libc++abi-svn'
2123)
2224_pkgname=' llvm'
2325
@@ -47,6 +49,8 @@ source=(
4749 ' clang::svn+http://llvm.org/svn/llvm-project/cfe/trunk'
4850 ' clang-tools-extra::svn+http://llvm.org/svn/llvm-project/clang-tools-extra/trunk'
4951 ' compiler-rt::svn+http://llvm.org/svn/llvm-project/compiler-rt/trunk'
52+ ' libcxx::svn+http://llvm.org/svn/llvm-project/libcxx/trunk'
53+ ' libcxxabi::svn+http://llvm.org/svn/llvm-project/libcxxabi/trunk'
5054 ' llvm-Config-llvm-config.h'
5155)
5256
@@ -55,6 +59,8 @@ sha256sums=(
5559 ' SKIP'
5660 ' SKIP'
5761 ' SKIP'
62+ ' SKIP'
63+ ' SKIP'
5864 ' 597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48'
5965)
6066
@@ -124,6 +130,11 @@ prepare() {
124130 svn export --force " ${srcdir} /clang" tools/clang
125131 svn export --force " ${srcdir} /clang-tools-extra" tools/clang/tools/extra
126132 svn export --force " ${srcdir} /compiler-rt" projects/compiler-rt
133+ svn export --force " ${srcdir} /libcxx" projects/libcxx
134+ svn export --force " ${srcdir} /libcxxabi" projects/libcxxabi
135+
136+ sed -i ' s/CREDITS.TXT/CREDITS/' llvm/projects/libcxx/LICENSE.TXT
137+ sed -i ' s/CREDITS.TXT/CREDITS/' llvm/projects/libcxxabi/LICENSE.TXT
127138
128139 mkdir -p " ${srcdir} /build"
129140}
@@ -159,6 +170,8 @@ build() {
159170 -DFFI_INCLUDE_DIR:PATH=" $( pkg-config --variable=includedir libffi) " \
160171 -DFFI_LIBRARY_DIR:PATH=" $( pkg-config --variable=libdir libffi) " \
161172 -DLLVM_BUILD_DOCS:BOOL=ON \
173+ -DLLVM_TOOL_LIBCXX_BUILD:BOOL=ON \
174+ -DLLVM_TOOL_LIBCXXABI_BUILD:BOOL=ON \
162175 -DLLVM_ENABLE_SPHINX:BOOL=ON \
163176 -DSPHINX_OUTPUT_HTML:BOOL=ON \
164177 -DSPHINX_OUTPUT_MAN:BOOL=ON \
@@ -209,6 +222,9 @@ package_llvm-svn() {
209222 mv " ${pkgdir} /usr/lib/ocaml" " ${srcdir} /ocaml.lib"
210223 mv " ${pkgdir} /usr/share/doc/llvm/ocaml-html" " ${srcdir} /ocaml.doc"
211224
225+ # Remove libc++ files
226+ rm -rf " ${pkgdir} /usr/include/c++" " ${pkgdir} /usr/lib/libc++{,abi}.*"
227+
212228 if [[ " ${CARCH} " == " x86_64" ]]; then
213229 # Needed for multilib (https://bugs.archlinux.org/task/29951)
214230 # Header stubs are taken from Fedora
@@ -427,4 +443,29 @@ package_clang-tools-extra-svn() {
427443 _install_license
428444}
429445
446+ package_libc++-svn () {
447+ pkgdesc=' A new implementation of the C++ standard library, targeting C++11.'
448+ depends=(" libc++abi-svn=${pkgver} -${pkgrel} " )
449+ provides=(' libc++' )
450+ replaces=(' libc++' )
451+ conflicts=(' libc++' )
452+
453+ cd " ${srcdir} /build/projects/libcxx"
454+ make DESTDIR=" ${pkgdir} " install
455+ install -Dm644 " ${srcdir} /llvm/projects/libcxx/CREDITS.TXT" " ${pkgdir} /usr/share/licenses/${pkgname} /CREDITS"
456+ install -Dm644 " ${srcdir} /llvm/projects/libcxx/LICENSE.TXT" " ${pkgdir} /usr/share/licenses/${pkgname} /LICENSE"
457+ }
458+
459+ package_libc++abi-svn () {
460+ pkgdesc=' A new implementation of low level support for a standard C++ library'
461+ provides=(' libc++abi' )
462+ replaces=(' libc++abi' )
463+ conflicts=(' libc++abi' )
464+
465+ cd " ${srcdir} /build/projects/libcxxabi"
466+ make DESTDIR=" ${pkgdir} " install
467+ install -Dm644 " ${srcdir} /llvm/projects/libcxxabi/CREDITS.TXT" " ${pkgdir} /usr/share/licenses/${pkgname} /CREDITS"
468+ install -Dm644 " ${srcdir} /llvm/projects/libcxxabi/LICENSE.TXT" " ${pkgdir} /usr/share/licenses/${pkgname} /LICENSE"
469+ }
470+
430471# vim:set ts=4 sts=4 sw=4 et:
0 commit comments