diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..2aae770a10ee --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,74 @@ + +pkgname=mingw-w64-intel-tbb +pkgver=4.3_20150424 +pkgrel=1 +pkgdesc='High level abstract threading library (mingw-w64)' +depends=('mingw-w64-crt') +makedepends=('mingw-w64-gcc') +options=('!buildflags' '!strip' 'staticlibs') +arch=('any') +url='http://www.threadingbuildingblocks.org/' +license=('GPL') +source=("http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb${pkgver/\./}oss_src.tgz") +sha1sums=('21a3176bf09677b795df2c529065c265a2ad72ae') + +_architectures="i686-w64-mingw32 x86_64-w64-mingw32" + +prepare () { + cd "$srcdir"/tbb${pkgver/\./}oss + + # do not build debug libraries + sed -i "/debug/d" Makefile + + # platform configuration + sed -i "s|export SHELL = cmd|export SHELL = sh -c|g" build/windows.inc + sed -i "s|CMD=cmd /C|CMD=sh -c|g" build/windows.inc + sed -i "s|CWD=\$(shell cmd /C echo %CD%)|CWD=\$(shell pwd)|g" build/windows.inc + sed -i "s|RM=cmd /C del /Q /F|RM?=rm -f|g" build/windows.inc + sed -i "s|RD=cmd /C rmdir|RD?=rmdir|g" build/windows.inc + sed -i "s|MD=cmd /c mkdir|MD?=mkdir -p|g" build/windows.inc + sed -i "s|SLASH=\\\\\\\\|SLASH=/|g" build/windows.inc + sed -i "s|NUL = nul|NUL= /dev/null|g" build/windows.inc + sed -i "s|.DLL = tbb|.DLL = libtbb|g" build/windows.inc + sed -i "s|.LIB = tbb|.LIB = libtbb|g" build/windows.inc + sed -i "/MAKE_VERSIONS/d" build/windows.inc + echo "MAKE_VERSIONS=sh \$(tbb_root)/build/version_info_linux.sh \$(CPLUS) \$(CPLUS_FLAGS) \$(INCLUDES) >version_string.ver" >> build/windows.inc + sed -i "/MAKE_TBBVARS/d" build/windows.inc + echo "MAKE_TBBVARS=sh \$(tbb_root)/build/generate_tbbvars.sh" >> build/windows.inc + sed -i "s|LIBDL =|LIBDL = -ldl|g" build/windows.inc + + # compiler configuration + sed -i "s|CPLUS_FLAGS = \-g \-O2|CPLUS_FLAGS = \-O2 \-g \-pipe \-Wall \-Wp,\-D_FORTIFY_SOURCE=2 \-fexceptions \-\-param=ssp\-buffer\-size=4|g" build/windows.gcc.inc + sed -i "s|OUTPUT_KEY = -o #|OUTPUT_KEY = -Wl,--out-implib,\$(BUILDING_LIBRARY).a -o #|g" build/windows.gcc.inc + sed -i "s|\$(call detect_js,/minversion gcc 4.4)|ok|g" build/windows.gcc.inc + sed -i "s|\$(call detect_js,/minversion gcc 4.8)|ok|g" build/windows.gcc.inc +} + +build() { + cd "$srcdir"/tbb${pkgver/\./}oss + for _arch in ${_architectures}; do + cp build/windows.gcc.inc build/windows.${_arch}-gcc.inc + sed -i "s|CPLUS = g++|CPLUS = ${_arch}-g++|g" build/windows.${_arch}-gcc.inc + sed -i "s|CONLY = gcc|CONLY = ${_arch}-gcc|g" build/windows.${_arch}-gcc.inc + if test "${_arch}" = "x86_64-w64-mingw32" + then + parch=intel64 + else + parch=ia32 + fi + unset LDFLAGS + make arch=$parch tbb_os=windows runtime=mingw compiler=${_arch}-gcc + done +} + +package() { + cd "$srcdir"/tbb${pkgver/\./}oss + for _arch in ${_architectures}; do + install -d "$pkgdir"/usr/${_arch}/{include,lib,bin} + cp -a include/tbb "$pkgdir"/usr/${_arch}/include + install -m755 build/windows_*${_arch}*_release/*.dll "$pkgdir"/usr/${_arch}/bin + install -m755 build/windows_*${_arch}*_release/*.a "$pkgdir"/usr/${_arch}/lib + ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll + ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a + done +} |