|
@@ -4,17 +4,25 @@ package("tbb")
|
|
|
set_description("Threading Building Blocks (TBB) lets you easily write parallel C++ programs that take full advantage of multicore performance, that are portable, composable and have future-proof scalability.")
|
|
|
|
|
|
if is_plat("windows") then
|
|
|
- add_urls("https://github.com/oneapi-src/oneTBB/releases/download/v$(version)-win.zip", {version = function (version) return version .. (version:ge("2021.0") and "/oneapi-tbb-" or "/tbb-") .. version end})
|
|
|
+ add_urls("https://github.com/oneapi-src/oneTBB/$(version)", {version = function (version)
|
|
|
+ if version:ge("2021.0") then
|
|
|
+ return "archive/v" .. version .. ".tar.gz"
|
|
|
+ else
|
|
|
+ return "releases/download/v" .. version .. "/tbb-" .. version .. "-win.zip"
|
|
|
+ end
|
|
|
+ end})
|
|
|
add_versions("2020.3", "cda37eed5209746a79c88a658f8c1bf3782f58bd9f9f6ba0da3a16624a9bfaa1")
|
|
|
- add_versions("2021.2.0", "9be37b1cb604a5905db0a15b2b893d85579fd0b2f1024859e1f75e96d7331a02")
|
|
|
- add_versions("2021.3.0", "90e2055cd4be55f79eedd3d50b2010bf05d1739309c4cdd219192d129e931093")
|
|
|
- add_versions("2021.4.0", "3868c557739a7a5b74c985571648c066167fd7a0a8c63bdac00a6cfeeb58037f")
|
|
|
+ add_versions("2021.2.0", "cee20b0a71d977416f3e3b4ec643ee4f38cedeb2a9ff015303431dd9d8d79854")
|
|
|
+ add_versions("2021.3.0", "8f616561603695bbb83871875d2c6051ea28f8187dbe59299961369904d1d49e")
|
|
|
+ add_versions("2021.4.0", "021796c7845e155e616f5ecda16daa606ebb4c6f90b996e5c08aebab7a8d3de3")
|
|
|
+ add_versions("2021.5.0", "e5b57537c741400cf6134b428fc1689a649d7d38d9bb9c1b6d64f092ea28178a")
|
|
|
else
|
|
|
add_urls("https://github.com/oneapi-src/oneTBB/archive/v$(version).tar.gz")
|
|
|
add_versions("2020.3", "ebc4f6aa47972daed1f7bf71d100ae5bf6931c2e3144cf299c8cc7d041dca2f3")
|
|
|
add_versions("2021.2.0", "cee20b0a71d977416f3e3b4ec643ee4f38cedeb2a9ff015303431dd9d8d79854")
|
|
|
add_versions("2021.3.0", "8f616561603695bbb83871875d2c6051ea28f8187dbe59299961369904d1d49e")
|
|
|
add_versions("2021.4.0", "021796c7845e155e616f5ecda16daa606ebb4c6f90b996e5c08aebab7a8d3de3")
|
|
|
+ add_versions("2021.5.0", "e5b57537c741400cf6134b428fc1689a649d7d38d9bb9c1b6d64f092ea28178a")
|
|
|
|
|
|
add_patches("2021.2.0", path.join(os.scriptdir(), "patches", "2021.2.0", "gcc11.patch"), "181511cf4878460cb48ac0531d3ce8d1c57626d698e9001a0951c728fab176fb")
|
|
|
|
|
@@ -39,7 +47,7 @@ package("tbb")
|
|
|
|
|
|
on_install("macosx", "linux", "mingw@windows", "mingw@msys", "android", function (package)
|
|
|
if package:version():ge("2021.0") then
|
|
|
- if package:is_plat("mingw") then
|
|
|
+ if package:version():le("2021.4") and package:is_plat("mingw") then
|
|
|
raise("mingw build is not supported in this version")
|
|
|
end
|
|
|
local configs = {"-DTBB_TEST=OFF"}
|
|
@@ -67,22 +75,28 @@ package("tbb")
|
|
|
end)
|
|
|
|
|
|
on_install("windows", function (package)
|
|
|
- local incdir = (package:version():ge("2021.0") and "include" or "tbb/include")
|
|
|
- local libdir = (package:version():ge("2021.0") and "lib/" or "tbb/lib/")
|
|
|
- local bindir = (package:version():ge("2021.0") and "redist/" or "tbb/bin/")
|
|
|
- os.cp(incdir, package:installdir())
|
|
|
- local prefix = ""
|
|
|
- if package:is_arch("x64", "x86_64") then
|
|
|
- prefix = "intel64/vc14"
|
|
|
- else
|
|
|
- prefix = "ia32/vc14"
|
|
|
- end
|
|
|
- if package:config("debug") then
|
|
|
- os.cp(libdir .. prefix .. "/*_debug.*", package:installdir("lib"))
|
|
|
- os.cp(bindir .. prefix .. "/*_debug.*", package:installdir("bin"))
|
|
|
+ if package:version():ge("2021.0") then
|
|
|
+ local configs = {"-DTBB_TEST=OFF"}
|
|
|
+ table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
|
|
|
+ import("package.tools.cmake").install(package, configs)
|
|
|
else
|
|
|
- os.cp(libdir .. prefix .. "/**|*_debug.*", package:installdir("lib"))
|
|
|
- os.cp(bindir .. prefix .. "/**|*_debug.*", package:installdir("bin"))
|
|
|
+ local incdir = "tbb/include"
|
|
|
+ local libdir = "tbb/lib/"
|
|
|
+ local bindir = "tbb/bin/"
|
|
|
+ os.cp(incdir, package:installdir())
|
|
|
+ local prefix = ""
|
|
|
+ if package:is_arch("x64", "x86_64") then
|
|
|
+ prefix = "intel64/vc14"
|
|
|
+ else
|
|
|
+ prefix = "ia32/vc14"
|
|
|
+ end
|
|
|
+ if package:config("debug") then
|
|
|
+ os.cp(libdir .. prefix .. "/*_debug.*", package:installdir("lib"))
|
|
|
+ os.cp(bindir .. prefix .. "/*_debug.*", package:installdir("bin"))
|
|
|
+ else
|
|
|
+ os.cp(libdir .. prefix .. "/**|*_debug.*", package:installdir("lib"))
|
|
|
+ os.cp(bindir .. prefix .. "/**|*_debug.*", package:installdir("bin"))
|
|
|
+ end
|
|
|
end
|
|
|
package:addenv("PATH", "bin")
|
|
|
end)
|