summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Zou2016-06-24 19:00:35 +0200
committerMichel Zou2016-06-24 19:00:35 +0200
commit483864b1d55003be4a1c57e88ca2d0731dd85dac (patch)
tree27f7d8963fe5b04e7dfd1dd3264bb16b19b1b9b3
parent8ea75d8d1e073a4ba35180c10edd80fd44bc91b9 (diff)
downloadaur-483864b1d55003be4a1c57e88ca2d0731dd85dac.tar.gz
CMake from github/wjakob/tbb
-rw-r--r--PKGBUILD59
1 files changed, 15 insertions, 44 deletions
diff --git a/PKGBUILD b/PKGBUILD
index ed2201282562..d0a5dbfe3b12 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,70 +4,41 @@ pkgver=4.4_20160413
pkgrel=1
pkgdesc='High level abstract threading library (mingw-w64)'
depends=('mingw-w64-crt')
-makedepends=('mingw-w64-gcc')
+makedepends=('mingw-w64-cmake')
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=('d4cee5e4ca75cab5181834877738619c56afeb71')
+source=("http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb${pkgver/\./}oss_src.tgz"
+ "https://raw.githubusercontent.com/wjakob/tbb/master/CMakeLists.txt"
+ "https://raw.githubusercontent.com/wjakob/tbb/master/build/version_string.ver.in")
+sha1sums=('SKIP'
+ 'SKIP'
+ 'SKIP')
_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
+ cp "$srcdir"/CMakeLists.txt .
+ cp "$srcdir"/version_string.ver.in build
}
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
+ mkdir -p build-${_arch} && pushd build-${_arch}
+ ${_arch}-cmake ..
+ make
+ popd
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
+ cd "$srcdir"/tbb${pkgver/\./}oss/build-${_arch}
+ make install DESTDIR="${pkgdir}"
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a
done