# 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="Juan RP " 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" } }