# Contributor: David Huffman <storedbox@outlook.com>
# Maintainer: David Huffman <storedbox@outlook.com>

setvar pkgname = 'libtbb'
setvar pkgver = '4.4.4'
setvar _pkgverstr = 'tbb44_20160413oss'
setvar pkgrel = '0'
setvar pkgdesc = ""IntelĀ® TBB, a widely used C++ template library for task parallelism""
setvar url = ""https://threadingbuildingblocks.org""
setvar arch = ""x86 x86_64""
setvar license = ""GPL2""
setvar subpackages = ""$pkgname-debug $pkgname-dev $pkgname-doc""
setvar source = ""https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/${_pkgverstr}_src.tgz""

setvar _builddir = ""$srcdir/$_pkgverstr""
proc prepare {
	local i
	cd $_builddir
	for i in "$startdir"/* {
		case (i) {
		*.patch { msg $i; patch --verbose -p1 -i $i || return 1}
		}
	}
}

proc build {
	cd $_builddir
	make || return 1
}

proc _install_libs {
	local buildtype libsuffix lib builddir
	setvar buildtype = ""_$1""
	setvar libsuffix = "$2"
	setvar lib = ""${3:-$subpkgdir}/usr/lib""
	setvar builddir = $(find "$_builddir/build" -maxdepth 1 -name "*$buildtype" -type d) || return 1
	test $buildtype != "_debug" && setvar buildtype = ''''
	mkdir -p $lib || return 1
	mv "$builddir/libtbb${buildtype}.so$libsuffix" \
	   "$builddir/libtbbmalloc${buildtype}.so$libsuffix" \
	   "$builddir/libtbbmalloc_proxy${buildtype}.so$libsuffix" \
	   "$lib/" || return 1
}

proc package {
	_install_libs release .2 $pkgdir || return 1
}

proc debug {
	setvar pkgdesc = ""$pkgdesc (debug symbols)""

	_install_libs debug .2 || return 1
}

proc dev {
	setvar pkgdesc = ""$pkgdesc (development files)""

	local prefix
	setvar prefix = ""$subpkgdir/usr""
	cd $_builddir
	mkdir -p $prefix || return 1
	rm include/index.html && mv include "$prefix/" || return 1
	_install_libs release && _install_libs debug || return 1
}

proc doc {
	setvar arch = ""noarch""
	setvar pkgdesc = ""$pkgdesc (documentation)""

	local share doc licenses
	setvar share = ""$subpkgdir/usr/share""
	setvar doc = ""$share/doc""
	setvar licensesdir = ""$share/licenses/$pkgname""
	cd $_builddir
	mkdir -p $doc $licensesdir || return 1
	mv doc/ "$doc/$pkgname-$pkgver" || return 1
	mv COPYING "$licensesdir/" || return 1
}

setvar md5sums = ""95999ccff3470f6565c516e67fb37019  tbb44_20160413oss_src.tgz""
setvar sha256sums = ""3fecffef5e42f9f22e51a81a1bfa89ea40cefb439d168c285c9d5f0128353644  tbb44_20160413oss_src.tgz""
setvar sha512sums = ""93424dbb42da10dc2ffdcc0c04738112bc0c96bc9c8563b3aa931b1f118fcec480957447673d85f8a6ea0e9f0b233460036204ad6e4dad815203375b45679943  tbb44_20160413oss_src.tgz""