void-packages/srcpkgs/libcxx/template

59 lines
1.6 KiB
Bash

# Template file for 'libcxx'
pkgname=libcxx
version=7.0.1
revision=1
wrksrc="${pkgname}-${version}.src"
build_style=cmake
configure_args+=" -DLIBCXX_CXX_ABI=libcxxabi -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON
-DLIBCXX_CXX_ABI_LIBRARY_PATH=${XBPS_CROSS_BASE}/usr/lib
-DLIBCXXABI_USE_LLVM_UNWINDER=1"
hostmakedepends="llvm7 python"
makedepends="libcxxabi-devel llvm llvm-libunwind-devel"
make_build_args="VERBOSE=1"
short_desc="New implementation of the C++ standard library, targeting C++11"
maintainer="Orphaned <orphan@voidlinux.org>"
homepage="https://libcxx.llvm.org"
license="NCSA, MIT"
distfiles="https://www.llvm.org/releases/${version}/${pkgname}-${version}.src.tar.xz"
checksum=020002618b319dc2a8ba1f2cba88b8cc6a209005ed8ad29f9de0c562c6ebb9f1
case "$XBPS_TARGET_MACHINE" in
*-musl) configure_args+=" -DLIBCXX_HAS_MUSL_LIBC=YES"
esac
# Doesn't build on AArch64 with GCC
case "$XBPS_TARGET_MACHINE" in
aarch64*)
hostmakedepends+=" clang"
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}"
}
;;
esac
post_extract() {
case "$XBPS_TARGET_MACHINE" in
*-musl) patch -Np1 <${FILESDIR}/libcxx-0001-musl-hacks.patch
sed -i 's/!defined(_GCC_MAX_ALIGN_T)/& \&\& !defined(__DEFINED_max_align_t)/' include/stddef.h ;;
esac
}
post_install() {
vlicense LICENSE.TXT
}
libcxx-devel_package() {
short_desc+=" - development files"
depends="${sourcepkg}>=${version}_${revision}"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.so"
vmove "usr/lib/*.a"
}
}