aboutsummaryrefslogtreecommitdiff
path: root/ports/tbb
diff options
context:
space:
mode:
Diffstat (limited to 'ports/tbb')
-rw-r--r--ports/tbb/CMakeLists.txt9
-rw-r--r--ports/tbb/CONTROL2
-rw-r--r--ports/tbb/fix-static-build.patch13
-rw-r--r--ports/tbb/portfile.cmake45
4 files changed, 56 insertions, 13 deletions
diff --git a/ports/tbb/CMakeLists.txt b/ports/tbb/CMakeLists.txt
index cc1dd3933..6d41b1555 100644
--- a/ports/tbb/CMakeLists.txt
+++ b/ports/tbb/CMakeLists.txt
@@ -4,7 +4,14 @@ file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*)
file(COPY ${SOURCES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/src)
include(${CMAKE_CURRENT_BINARY_DIR}/src/cmake/TBBBuild.cmake REQUIRED)
-tbb_build(TBB_ROOT ${CMAKE_CURRENT_BINARY_DIR}/src MAKE_ARGS extra_inc=big_iron.inc)
+if(NOT BUILD_SHARED_LIBS)
+ set(TBB_STATIC_INCLUDE extra_inc=big_iron.inc)
+endif()
+if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ set(FORWARD_SDK_ROOT "SDKROOT=${CMAKE_OSX_SYSROOT}")
+endif()
+
+tbb_build(TBB_ROOT ${CMAKE_CURRENT_BINARY_DIR}/src MAKE_ARGS ${TBB_STATIC_INCLUDE} ${FORWARD_SDK_ROOT})
set(SUBDIR ${CMAKE_CURRENT_BINARY_DIR}/tbb_cmake_build/tbb_cmake_build_subdir)
if(CMAKE_BUILD_TYPE STREQUAL "Release")
diff --git a/ports/tbb/CONTROL b/ports/tbb/CONTROL
index e3ae78936..a51904261 100644
--- a/ports/tbb/CONTROL
+++ b/ports/tbb/CONTROL
@@ -1,4 +1,4 @@
Source: tbb
-Version: 2019_U7
+Version: 2019_U8-2
Homepage: https://github.com/01org/tbb
Description: Intel's Threading Building Blocks.
diff --git a/ports/tbb/fix-static-build.patch b/ports/tbb/fix-static-build.patch
new file mode 100644
index 000000000..18f3e2b49
--- /dev/null
+++ b/ports/tbb/fix-static-build.patch
@@ -0,0 +1,13 @@
+diff --git a/src/tbb/cilk-tbb-interop.h b/src/tbb/cilk-tbb-interop.h
+index 295734b..f35531e 100644
+--- a/src/tbb/cilk-tbb-interop.h
++++ b/src/tbb/cilk-tbb-interop.h
+@@ -29,6 +29,8 @@
+ #else
+ #ifdef IN_CILK_RUNTIME
+ #define CILK_EXPORT __declspec(dllexport)
++#elif defined(IN_CILK_STATIC)
++#define CILK_EXPORT /* nothing */
+ #else
+ #define CILK_EXPORT __declspec(dllimport)
+ #endif // IN_CILK_RUNTIME
diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake
index 119916757..1d543b317 100644
--- a/ports/tbb/portfile.cmake
+++ b/ports/tbb/portfile.cmake
@@ -1,20 +1,17 @@
include(vcpkg_common_functions)
-if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
-endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO intel/tbb
- REF 4233fef583b4f8cbf9f781311717600feaaa0694
- SHA512 6eb239f16e0ecacb825264869aafad7fb39aa1b1f8a3c03c92344c4255d1c1a34ca0a47a366c471fd2da808f3be14262c7e2305294677f2f490c1a48f6f76ec3
+ REF 4bdba61bafc6ba2d636f31564f1de5702d365cf7
+ SHA512 0b00c9deefdac5dc1f4fbae314e91eb3513b54b47ff6dec08ed2460486fc7d211ab36d6130e5787bfd50523cb613c65f03f9217d967292ca9056e2d3f5010bf8
HEAD_REF tbb_2019
+ PATCHES fix-static-build.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if (NOT VCPKG_TARGET_IS_WINDOWS)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
@@ -33,6 +30,32 @@ else()
set(RELEASE_CONFIGURATION Release)
set(DEBUG_CONFIGURATION Debug)
endif()
+
+ macro(CONFIGURE_PROJ_FILE arg)
+ set(CONFIGURE_FILE_NAME ${arg})
+ set(CONFIGURE_BAK_FILE_NAME ${arg}.bak)
+ if (NOT EXISTS ${CONFIGURE_BAK_FILE_NAME})
+ configure_file(${CONFIGURE_FILE_NAME} ${CONFIGURE_BAK_FILE_NAME} COPYONLY)
+ endif()
+ configure_file(${CONFIGURE_BAK_FILE_NAME} ${CONFIGURE_FILE_NAME} COPYONLY)
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(READ ${CONFIGURE_FILE_NAME} SLN_CONFIGURE)
+ string(REPLACE "<ConfigurationType>DynamicLibrary<\/ConfigurationType>"
+ "<ConfigurationType>StaticLibrary<\/ConfigurationType>" SLN_CONFIGURE "${SLN_CONFIGURE}")
+ string(REPLACE "\/D_CRT_SECURE_NO_DEPRECATE"
+ "\/D_CRT_SECURE_NO_DEPRECATE \/DIN_CILK_STATIC" SLN_CONFIGURE "${SLN_CONFIGURE}")
+ file(WRITE ${CONFIGURE_FILE_NAME} "${SLN_CONFIGURE}")
+ else()
+ file(READ ${CONFIGURE_FILE_NAME} SLN_CONFIGURE)
+ string(REPLACE "\/D_CRT_SECURE_NO_DEPRECATE"
+ "\/D_CRT_SECURE_NO_DEPRECATE \/DIN_CILK_RUNTIME" SLN_CONFIGURE "${SLN_CONFIGURE}")
+ file(WRITE ${CONFIGURE_FILE_NAME} "${SLN_CONFIGURE}")
+ endif()
+ endmacro()
+
+ CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbb.vcxproj)
+ CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbbmalloc.vcxproj)
+ CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbbmalloc_proxy.vcxproj)
vcpkg_install_msbuild(
SOURCE_PATH ${SOURCE_PATH}
@@ -78,14 +101,14 @@ string(REPLACE
"${_contents}"
)
string(REPLACE
- "set(_tbb_release_lib \"/${TBB_LIB_PREFIX}\${_tbb_component}.${TBB_LIB_EXT}\")"
- "set(_tbb_release_lib \"\${_tbb_root}/lib/${TBB_LIB_PREFIX}\${_tbb_component}.${TBB_LIB_EXT}\")"
+ "set(_tbb_release_lib \"/${TBB_LIB_PREFIX}"
+ "set(_tbb_release_lib \"\${_tbb_root}/lib/${TBB_LIB_PREFIX}"
_contents
"${_contents}"
)
string(REPLACE
- "set(_tbb_debug_lib \"/${TBB_LIB_PREFIX}\${_tbb_component}_debug.${TBB_LIB_EXT}\")"
- "set(_tbb_debug_lib \"\${_tbb_root}/debug/lib/${TBB_LIB_PREFIX}\${_tbb_component}_debug.${TBB_LIB_EXT}\")"
+ "set(_tbb_debug_lib \"/${TBB_LIB_PREFIX}"
+ "set(_tbb_debug_lib \"\${_tbb_root}/debug/lib/${TBB_LIB_PREFIX}"
_contents
"${_contents}"
)