# Template file for 'libcxxiabi'
pkgname=libcxxabi
version=4.0.1
revision=1
wrksrc="${pkgname}-${version}.src"
build_style=cmake
configure_args="-DLIBCXXABI_LIBCXX_INCLUDES=../libcxx/include"
make_build_args="VERBOSE=1"
hostmakedepends="llvm"
makedepends="llvm llvm-libunwind-devel"
LDFLAGS="-Wl,--no-as-needed -lunwind -Wl,--as-needed"
short_desc="Low-level support for libc++ standard library"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://libcxxabi.llvm.org"
license="BSD"
distfiles="http://www.llvm.org/releases/${version}/${pkgname}-${version}.src.tar.xz
 http://www.llvm.org/releases/${version}/libcxx-${version}.src.tar.xz"
checksum="8f08178989a06c66cd19e771ff9d8ca526dd4a23d1382d63e416c04ea9fa1b33
 520a1171f272c9ff82f324d5d89accadcec9bc9f3c78de11f5575cdb99accc4c"

case "$XBPS_TARGET_MACHINE" in
	arm*) broken="Wierd EHABI defines break it";;
esac

post_extract() {
	# Break dependency cycle, we just need the headers here
	mv ../libcxx-${version}.src libcxx

	sed -i 's,share/llvm/cmake,lib/cmake/llvm,g' CMakeLists.txt

	# 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/lib/*.a"
		vmove "usr/lib/*.so"
		vmove "usr/include"
	}
}
