blob: c98889debde9c6d3b9d9780aeb4c83d5423981a5 [file] [log] [blame]
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
_realname=intel-tbb
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2020.2
pkgrel=2
epoch=1
pkgdesc='High level abstract threading library (mingw-w64)'
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-make")
options=('!strip' 'staticlibs')
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
url='https://www.threadingbuildingblocks.org/'
license=('Apache')
source=(${_realname}-${pkgver}.tar.gz::https://github.com/intel/tbb/archive/v${pkgver}.tar.gz
"tbb-cmake-config.patch")
sha256sums=('4804320e1e6cbe3a5421997b52199e3c1a3829b2ecb6489641da4b8e32faf500'
'f5aa6bb43a69a46a0cec4d2b3e84e7e6e102b3becd1b58d496e8ee035829dc85')
prepare () {
cd ${srcdir}/oneTBB-${pkgver}
patch -p1 -i ${srcdir}/tbb-cmake-config.patch
}
build() {
cd ${srcdir}/oneTBB-${pkgver}
sed -i "s|OUTPUT_KEY = -o #|OUTPUT_KEY = -Wl,--out-implib,lib\$(BUILDING_LIBRARY).a -o #|g" build/windows.gcc.inc
echo "CPLUS_FLAGS += -mrtm" >> build/windows.gcc.inc # makes test cases pass
if test "${MINGW_CHOST}" = "x86_64-w64-mingw32"
then
parch=intel64
else
parch=ia32
fi
unset LDFLAGS
mingw32-make arch=${parch} tbb_os=windows runtime=mingw compiler=gcc stdver=c++11
mkdir build-cmake && cd build-cmake
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-G"MSYS Makefiles" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DINSTALL_DIR=${srcdir}/oneTBB-${pkgver}/build-cmake \
-DSYSTEM_NAME=Windows \
-DTBB_VERSION_FILE=${srcdir}/oneTBB-${pkgver}/include/tbb/tbb_stddef.h \
-DINC_REL_PATH=../../../include \
-DLIB_REL_PATH=../../../lib \
-DBIN_REL_PATH=../../../bin \
-P ${srcdir}/oneTBB-${pkgver}/cmake/tbb_config_installer.cmake
}
package() {
cd ${srcdir}/oneTBB-${pkgver}
if test "${MINGW_CHOST}" = "x86_64-w64-mingw32"
then
parch=intel64
else
parch=ia32
fi
install -d "${pkgdir}${MINGW_PREFIX}"/include
cp -a include/tbb "${pkgdir}${MINGW_PREFIX}"/include
install -d "${pkgdir}${MINGW_PREFIX}"/bin
#install -m755 build/windows_${parch}_gcc_mingw_debug/*.dll "${pkgdir}${MINGW_PREFIX}"/bin
install -m755 build/windows_${parch}_gcc_mingw_release/*.dll "${pkgdir}${MINGW_PREFIX}"/bin
install -d "${pkgdir}${MINGW_PREFIX}"/lib
#install -m755 build/windows_${parch}_gcc_mingw_debug/*.a "${pkgdir}${MINGW_PREFIX}"/lib
install -m755 build/windows_${parch}_gcc_mingw_release/*.a "${pkgdir}${MINGW_PREFIX}"/lib
# Install cmake files
install -d "${pkgdir}${MINGW_PREFIX}"/lib/cmake/tbb
install -m644 build-cmake/TBBConfig.cmake "${pkgdir}${MINGW_PREFIX}"/lib/cmake/tbb/
install -m644 build-cmake/TBBConfigVersion.cmake "${pkgdir}${MINGW_PREFIX}"/lib/cmake/tbb/
}