# Template file for 'tbb'
pkgname=tbb
_ver=2018
version=${_ver/_U/.}
revision=1
wrksrc="${pkgname}-${_ver}"
build_style=gnu-makefile
short_desc="Intel Threading Building Blocks"
maintainer="Andrea Brancaleoni <abc@pompel.me>"
license="Apache-2.0"
homepage="http://www.threadingbuildingblocks.org"
distfiles="https://github.com/01org/tbb/archive/${_ver}.tar.gz"
checksum=94f643f1edfaccb57d64b503c7c96f00dec64e8635c054bbaa33855d72c5822d

only_for_archs="i686-musl x86_64-musl armv7l-musl aarch64-musl i686 x86_64 armv7l aarch64"

broken="https://github.com/voidlinux/void-packages/issues/7805"

case "$XBPS_TARGET_MACHINE" in
	armv7l*)
		make_build_args="arch=armv7"
		;;
	aarch64*)
		make_build_args="arch=arm64"
		;;
esac

post_extract() {
	sed -i 's|CPLUS = g..|CPLUS = $(CXX)|g' build/linux.gcc.inc
	sed -i 's|CONLY = gcc|CONLY = $(CC)|g' build/linux.gcc.inc

	# alternative might be:
	# https://git.alpinelinux.org/cgit/aports/tree/testing/libtbb/glibc-struct-mallinfo.patch
	case "$XBPS_TARGET_MACHINE" in
		*-musl)
			sed -e "s@#define MALLOC_UNIXLIKE_OVERLOAD_ENABLED __linux__@@" \
			  -i src/tbbmalloc/proxy.h
		;;
	esac
}

do_install() {
	vmkdir usr/lib
	vcopy build/linux_*/*.so* usr/lib
	vmkdir usr/include/tbb
	vcopy include/tbb/* usr/include/tbb
}

tbb-devel_package() {
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.so"
	}
}
