62 lines
1.9 KiB
Bash
62 lines
1.9 KiB
Bash
# Template file for 'libcxxabi'
|
|
pkgname=libcxxabi
|
|
version=7.0.1
|
|
revision=1
|
|
wrksrc="${pkgname}-${version}.src"
|
|
build_style=cmake
|
|
configure_args="-DLIBCXXABI_LIBCXX_INCLUDES=../libcxx/include
|
|
-DLIBCXXABI_USE_LLVM_UNWINDER=1
|
|
-DLLVM_DEFAULT_TARGET_TRIPLE=${XBPS_CROSS_TRIPLET:-$XBPS_TRIPLET}"
|
|
make_build_args="VERBOSE=1"
|
|
hostmakedepends="llvm7"
|
|
makedepends="llvm7 llvm-libunwind-devel"
|
|
short_desc="Low-level support for libc++ standard library"
|
|
maintainer="Orphaned <orphan@voidlinux.org>"
|
|
license="NCSA, MIT"
|
|
homepage="https://libcxxabi.llvm.org"
|
|
distfiles="https://www.llvm.org/releases/${version}/${pkgname}-${version}.src.tar.xz
|
|
https://www.llvm.org/releases/${version}/libcxx-${version}.src.tar.xz"
|
|
checksum="8168903a157ca7ab8423d3b974eaa497230b1564ceb57260be2bd14412e8ded8
|
|
020002618b319dc2a8ba1f2cba88b8cc6a209005ed8ad29f9de0c562c6ebb9f1"
|
|
|
|
# Aarch64 fails to build with gcc
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
armv[67]l)
|
|
broken="invalid operands of types 'char [8]' and 'const uint64_t' to binary 'operator&'"
|
|
;;
|
|
aarch64*)
|
|
hostmakedepends+=" clang"
|
|
configure_args+=" -DLIBCXXABI_TARGET_TRIPLE=${XBPS_CROSS_TRIPLET}"
|
|
pre_configure() {
|
|
export CC="clang"
|
|
export CXX="clang++"
|
|
|
|
CFLAGS+=" --target=${XBPS_CROSS_TRIPLET} --sysroot=${XBPS_CROSS_BASE}"
|
|
CXXFLAGS+=" --target=${XBPS_CROSS_TRIPLET} --sysroot=${XBPS_CROSS_BASE} -I$(ls -d ${XBPS_CROSS_BASE}/usr/include/c++/*/${XBPS_CROSS_TRIPLET} | head -n1)"
|
|
}
|
|
;;
|
|
esac
|
|
|
|
post_extract() {
|
|
# Break dependency cycle, we just need the headers here
|
|
mv ../libcxx-${version}.src libcxx
|
|
|
|
# For musl
|
|
sed -i 's/!defined(_GCC_MAX_ALIGN_T)/& \&\& !defined(__DEFINED_max_align_t)/' libcxx/include/stddef.h
|
|
}
|
|
|
|
post_install() {
|
|
vmkdir usr/include
|
|
vcopy include/* usr/include
|
|
vlicense LICENSE.TXT
|
|
}
|
|
|
|
libcxxabi-devel_package() {
|
|
short_desc+=" - development files"
|
|
depends="${sourcepkg}>=${version}_${revision}"
|
|
pkg_install() {
|
|
vmove usr/include
|
|
vmove "usr/lib/*.a"
|
|
vmove "usr/lib/*.so"
|
|
}
|
|
}
|