Skip to content

Commit 0794118

Browse files
committed
Add libc++ (fixes #6)
Add libc++-svn to the PKGBUILD, adapting some lines from the libc++ PKGBUILD, to be found at https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=libc%2B%2B.
1 parent a1a35ea commit 0794118

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

PKGBUILD

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)