summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD74
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
+}