Sync from SUSE:SLFO:Main tbb revision 4638e42c4aa263fe8c3034ea602f11c2
This commit is contained in:
commit
7f98e13466
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
78
917.patch
Normal file
78
917.patch
Normal file
@ -0,0 +1,78 @@
|
||||
From d9049c052c99162e26f86cf2a4982d026bf7dc57 Mon Sep 17 00:00:00 2001
|
||||
From: Mo Zhou <cdluminate@gmail.com>
|
||||
Date: Fri, 20 May 2022 09:02:53 -0400
|
||||
Subject: [PATCH 1/2] Fix build failure for s390x and hppa architectures.
|
||||
|
||||
Signed-off-by: Mo Zhou <cdluminate@gmail.com>
|
||||
---
|
||||
src/tbb/tools_api/ittnotify_config.h | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/src/tbb/tools_api/ittnotify_config.h b/src/tbb/tools_api/ittnotify_config.h
|
||||
index 5e7c0cdf5..411de0852 100644
|
||||
--- a/src/tbb/tools_api/ittnotify_config.h
|
||||
+++ b/src/tbb/tools_api/ittnotify_config.h
|
||||
@@ -167,6 +167,14 @@
|
||||
# define ITT_ARCH_LOONGARCH64 7
|
||||
#endif /* ITT_ARCH_LOONGARCH64 */
|
||||
|
||||
+#ifndef ITT_ARCH_S390X
|
||||
+# define ITT_ARCH_S390X 8
|
||||
+#endif /* ITT_ARCH_S390X */
|
||||
+
|
||||
+#ifndef ITT_ARCH_HPPA
|
||||
+# define ITT_ARCH_HPPA 9
|
||||
+#endif /* ITT_ARCH_HPPA */
|
||||
+
|
||||
#ifndef ITT_ARCH
|
||||
# if defined _M_IX86 || defined __i386__
|
||||
# define ITT_ARCH ITT_ARCH_IA32
|
||||
@@ -182,6 +190,10 @@
|
||||
# define ITT_ARCH ITT_ARCH_PPC64
|
||||
# elif defined __loongarch__
|
||||
# define ITT_ARCH ITT_ARCH_LOONGARCH64
|
||||
+# elif defined __s390__ || defined __s390x__
|
||||
+# define ITT_ARCH ITT_ARCH_S390X
|
||||
+# elif defined __hppa__
|
||||
+# define ITT_ARCH ITT_ARCH_HPPA
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
From b0e9f8636e49c337836392d811fda403dc7102a0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dirk=20M=C3=BCller?= <dirk@dmllr.de>
|
||||
Date: Sat, 24 Sep 2022 14:27:24 +0200
|
||||
Subject: [PATCH 2/2] Add riscv64 architecture detection
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Dirk Müller <dirk@dmllr.de>
|
||||
---
|
||||
src/tbb/tools_api/ittnotify_config.h | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/tbb/tools_api/ittnotify_config.h b/src/tbb/tools_api/ittnotify_config.h
|
||||
index 411de0852..11422fd57 100644
|
||||
--- a/src/tbb/tools_api/ittnotify_config.h
|
||||
+++ b/src/tbb/tools_api/ittnotify_config.h
|
||||
@@ -175,6 +175,10 @@
|
||||
# define ITT_ARCH_HPPA 9
|
||||
#endif /* ITT_ARCH_HPPA */
|
||||
|
||||
+#ifndef ITT_ARCH_RISCV64
|
||||
+# define ITT_ARCH_RISCV64 10
|
||||
+#endif /* ITT_ARCH_RISCV64 */
|
||||
+
|
||||
#ifndef ITT_ARCH
|
||||
# if defined _M_IX86 || defined __i386__
|
||||
# define ITT_ARCH ITT_ARCH_IA32
|
||||
@@ -194,6 +198,8 @@
|
||||
# define ITT_ARCH ITT_ARCH_S390X
|
||||
# elif defined __hppa__
|
||||
# define ITT_ARCH ITT_ARCH_HPPA
|
||||
+# elif defined __riscv && __riscv_xlen == 64
|
||||
+# define ITT_ARCH ITT_ARCH_RISCV64
|
||||
# endif
|
||||
#endif
|
||||
|
8
_constraints
Normal file
8
_constraints
Normal file
@ -0,0 +1,8 @@
|
||||
<constraints>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="M">8000</size>
|
||||
</memory>
|
||||
<processors>4</processors>
|
||||
</hardware>
|
||||
</constraints>
|
41
add-cmake-check-for-libatomic-requirement-when-build.patch
Normal file
41
add-cmake-check-for-libatomic-requirement-when-build.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From faea2c59a95ff609d23a4e4f859edef83d02f417 Mon Sep 17 00:00:00 2001
|
||||
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
|
||||
Date: Fri, 9 Dec 2022 12:36:11 +0100
|
||||
Subject: [PATCH] Add cmake check for libatomic requirement when building with
|
||||
gcc (#980)
|
||||
|
||||
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
|
||||
---
|
||||
cmake/compilers/GNU.cmake | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/cmake/compilers/GNU.cmake b/cmake/compilers/GNU.cmake
|
||||
index cd76acfe..59f4e693 100644
|
||||
--- a/cmake/compilers/GNU.cmake
|
||||
+++ b/cmake/compilers/GNU.cmake
|
||||
@@ -44,6 +44,22 @@ if (NOT MINGW)
|
||||
set(TBB_COMMON_LINK_LIBS dl)
|
||||
endif()
|
||||
|
||||
+# Check whether code with full atomics can be built without libatomic
|
||||
+# see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358
|
||||
+include(CheckCXXSourceCompiles)
|
||||
+check_cxx_source_compiles("#include <atomic>
|
||||
+int main() {
|
||||
+ std::atomic<uint8_t> w1;
|
||||
+ std::atomic<uint16_t> w2;
|
||||
+ std::atomic<uint32_t> w4;
|
||||
+ std::atomic<uint64_t> w8;
|
||||
+ return ++w1 + ++w2 + ++w4 + ++w8;
|
||||
+}" TBB_BUILDS_WITHOUT_LIBATOMIC)
|
||||
+
|
||||
+if(NOT TBB_BUILDS_WITHOUT_LIBATOMIC)
|
||||
+ set(TBB_COMMON_LINK_LIBS ${TBB_COMMON_LINK_LIBS} atomic)
|
||||
+endif()
|
||||
+
|
||||
# Ignore -Werror set through add_compile_options() or added to CMAKE_CXX_FLAGS if TBB_STRICT is disabled.
|
||||
if (NOT TBB_STRICT AND COMMAND tbb_remove_compile_flag)
|
||||
tbb_remove_compile_flag(-Werror)
|
||||
--
|
||||
2.30.2
|
||||
|
13
cmake-remove-include-path.patch
Normal file
13
cmake-remove-include-path.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: oneTBB-2021.3.0/cmake/templates/TBBConfig.cmake.in
|
||||
===================================================================
|
||||
--- oneTBB-2021.3.0.orig/cmake/templates/TBBConfig.cmake.in
|
||||
+++ oneTBB-2021.3.0/cmake/templates/TBBConfig.cmake.in
|
||||
@@ -58,8 +58,6 @@ foreach (_tbb_component ${TBB_FIND_COMPO
|
||||
add_library(TBB::${_tbb_component} SHARED IMPORTED)
|
||||
|
||||
get_filename_component(_tbb_include_dir "${_tbb_root}/@TBB_INC_REL_PATH@" ABSOLUTE)
|
||||
- set_target_properties(TBB::${_tbb_component} PROPERTIES
|
||||
- INTERFACE_INCLUDE_DIRECTORIES "${_tbb_include_dir}"@TBB_COMPILE_DEFINITIONS@)
|
||||
unset(_tbb_current_realpath)
|
||||
unset(_tbb_include_dir)
|
||||
|
63
retry-pthread_create.patch
Normal file
63
retry-pthread_create.patch
Normal file
@ -0,0 +1,63 @@
|
||||
From f12c93efd04991bc982a27e2fa6142538c33ca82 Mon Sep 17 00:00:00 2001
|
||||
From: Rui Ueyama <ruiu@cs.stanford.edu>
|
||||
Date: Sat, 7 May 2022 19:55:24 +0800
|
||||
Subject: [PATCH] Retry if pthread_create fails with EAGAIN
|
||||
|
||||
On many Unix-like systems, pthread_create can fail spuriously even if
|
||||
the running machine has enough resources to spawn a new thread.
|
||||
Therefore, if EAGAIN is returned from pthread_create, we actually have
|
||||
to try again.
|
||||
|
||||
I observed this issue when running the mold linker
|
||||
(https://github.com/rui314/mold) under a heavy load. mold uses OneTBB
|
||||
for parallelization.
|
||||
|
||||
As another data point, Go has the same logic to retry on EAGAIN:
|
||||
https://go-review.googlesource.com/c/go/+/33894/
|
||||
|
||||
nanosleep is defined in POSIX 2001, so I believe that all Unix-like
|
||||
systems support it.
|
||||
|
||||
Signed-off-by: Rui Ueyama <ruiu@cs.stanford.edu>
|
||||
---
|
||||
src/tbb/rml_thread_monitor.h | 19 ++++++++++++++++++-
|
||||
1 file changed, 18 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/tbb/rml_thread_monitor.h b/src/tbb/rml_thread_monitor.h
|
||||
index 13b556380..5b844b232 100644
|
||||
--- a/src/tbb/rml_thread_monitor.h
|
||||
+++ b/src/tbb/rml_thread_monitor.h
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <pthread.h>
|
||||
#include <cstring>
|
||||
#include <cstdlib>
|
||||
+#include <time.h>
|
||||
#else
|
||||
#error Unsupported platform
|
||||
#endif
|
||||
@@ -191,8 +192,24 @@ inline thread_monitor::handle_type thread_monitor::launch( void* (*thread_routin
|
||||
check(pthread_attr_init( &s ), "pthread_attr_init has failed");
|
||||
if( stack_size>0 )
|
||||
check(pthread_attr_setstacksize( &s, stack_size ), "pthread_attr_setstack_size has failed" );
|
||||
+
|
||||
pthread_t handle;
|
||||
- check( pthread_create( &handle, &s, thread_routine, arg ), "pthread_create has failed" );
|
||||
+ int tries = 0;
|
||||
+ for (;;) {
|
||||
+ int error_code = pthread_create(&handle, &s, thread_routine, arg);
|
||||
+ if (!error_code)
|
||||
+ break;
|
||||
+ if (error_code != EAGAIN || tries++ > 20) {
|
||||
+ handle_perror(error_code, "pthread_create has failed");
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ // pthreaed_create can spuriously fail on many Unix-like systems.
|
||||
+ // Retry after tries * 1 millisecond.
|
||||
+ struct timespec ts = {0, tries * 1000 * 1000};
|
||||
+ nanosleep(&ts, NULL);
|
||||
+ }
|
||||
+
|
||||
check( pthread_attr_destroy( &s ), "pthread_attr_destroy has failed" );
|
||||
return handle;
|
||||
}
|
BIN
tbb-2021.8.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
tbb-2021.8.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
2
tbb-rpmlintrc
Normal file
2
tbb-rpmlintrc
Normal file
@ -0,0 +1,2 @@
|
||||
# loaded with ctypes by python package
|
||||
addFilter("explicit-lib-dependency libirml1")
|
460
tbb.changes
Normal file
460
tbb.changes
Normal file
@ -0,0 +1,460 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 4 20:08:08 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Update to v2021.8.0
|
||||
* Fixed oneapi::tbb::concurrent_bounded_queue::pop return type (GitHub* #807).
|
||||
* Fixed oneapi::tbb::concurrent_queue and oneapi::tbb::concurrent_bounded_queue
|
||||
with non-default constructible value types (GitHub* #885).
|
||||
* Fixed incorrect splitting of iteration space in case there is no
|
||||
support for proportional splitting in custom ranges.
|
||||
- Add patch to link against libatomic where necessary
|
||||
* add-cmake-check-for-libatomic-requirement-when-build.patch
|
||||
- Drop 5cb212d44732947396abdd39eae1229c7cd51644.patch, merged upstream
|
||||
- Use correct changelog entries for v2021.7.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 11 18:37:06 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to v2021.7.0:
|
||||
* Memory allocator crash when allocating ~1TB on 64-bit systems (GitHub* #838).
|
||||
* Thread Distribution over NUMA Nodes on Windows OS systems.
|
||||
* For oneapi::tbb::suspend it is now guaranteed that the user-specified
|
||||
callable object is executed by the calling thread.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 24 12:16:41 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 2021.6.0:
|
||||
* Improved support and use of the latest C++ standards for parallel_sort that
|
||||
allows using this algorithm with user-defined and standard library-defined
|
||||
objects with modern semantics.
|
||||
* The following features are now fully functional: task_arena extensions,
|
||||
collaborative_call_once, adaptive mutexes, heterogeneous overloads for
|
||||
concurrent_hash_map, and task_scheduler_handle.
|
||||
* Added support for Windows* Server 2022 and Python 3.10.
|
||||
* Memory allocator crash on a system with an incomplete /proc/meminfo
|
||||
* Incorrect blocking of task stealing
|
||||
* Hang due to incorrect decrement of a limiter_node
|
||||
* Memory corruption in some rare cases when passing big messages in a flow graph
|
||||
* Possible deadlock in a throwable flow graph node with a lightweight policy.
|
||||
The lightweight policy is now ignored for functors that can throw
|
||||
exceptions
|
||||
* Crash when obtaining a range from empty ordered and unordered containers
|
||||
* Deadlock in a concurrent_vector resize() that could happen when the new
|
||||
size is less than the previous size
|
||||
- drop tbb-pr609-32bit-mwaitpkg.patch (upstream)
|
||||
- add 5cb212d44732947396abdd39eae1229c7cd51644.patch, 917.patch:
|
||||
build on riscv64, hppa, s390x
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 5 19:04:35 UTC 2022 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Add retry-pthread_create.patch that fixes
|
||||
gh#oneapi-src/oneTBB#824.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat May 7 12:51:47 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 2021.1.5:
|
||||
* Reworked synchronization mechanism to reduce contention when multiple
|
||||
task_arena’s are used concurrently.
|
||||
* Fixed sporadic memory corruption.
|
||||
* Enabled Microsoft Visual Studio* 2022 and Python 3.9 support.
|
||||
* Extended task_group interface with a new run_and_wait overload to accept
|
||||
task_handle.
|
||||
* Fixed possible correctness issue in queuing_rw_mutex on non-Intel platforms.
|
||||
* Fixed sporadic memory corruption.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 5 14:34:05 UTC 2022 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- For 32-bit systems, rename tbb32.pc (default upstream for
|
||||
32-bit) to tbb.pc (same as 64-bit) so that applications
|
||||
depending on tbb do not have to call different pkgconfig modules
|
||||
based on arch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 8 08:11:54 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Allow gcc11
|
||||
- Add tbb-pr609-32bit-mwaitpkg.patch gh#oneapi-src/oneTBB#609
|
||||
* fixes 32-bit build with gcc11
|
||||
- Only run ctest when --with test is given
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 5 09:41:04 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to version 2021.4
|
||||
* Large release notes since 2020.3:
|
||||
https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-threading-building-blocks-release-notes.html
|
||||
- Drop python2 package
|
||||
- Drop patches:
|
||||
* disable-irml.patch -- install the library
|
||||
* optflags.patch -- build system change
|
||||
* reproducible.patch -- build system change
|
||||
- Refresh cmake-remove-include-path.patch
|
||||
- Add libirml subpackage for python module
|
||||
- Add libtbbbind library package for NUMA support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 25 11:10:11 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
||||
|
||||
- Rework the building of python bindings
|
||||
* Fix egg info version
|
||||
* Remove shebang lines
|
||||
* fix lining issue by setting TBBROOT and tbbvars in install phase
|
||||
* Run python tests with irml library built (but not installed)
|
||||
* Build bindings packages for all existing python3 flavors
|
||||
gh#openSUSE/python-rpm-macros#66
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 3 05:52:53 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
|
||||
|
||||
- Update to version 2020.3
|
||||
* Changed body type concept of the flow::input_node.
|
||||
Set TBB_DEPRECATED_INPUT_NODE_BODY to 1 to compile with the previous
|
||||
concept of the body type.
|
||||
* Fixed compilation errors in C++20 mode due to ambiguity of comparison
|
||||
operators. Inspired by Barry Revzin
|
||||
(https://github.com/oneapi-src/oneTBB/pull/251).
|
||||
* Fixed an issue in TBBBuild.cmake that causes the build with no arguments
|
||||
to fail (https://github.com/oneapi-src/oneTBB/pull/233)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 30 15:50:42 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
|
||||
|
||||
- Update to version 2020.2
|
||||
* Cross-allocator copying constructor and copy assignment operator
|
||||
for concurrent_vector are deprecated.
|
||||
* Added input_node to the flow graph API. It acts like a source_node
|
||||
except for being inactive by default; source_node is deprecated.
|
||||
* Allocator template parameter for flow graph nodes is deprecated. Set
|
||||
TBB_DEPRECATED_FLOW_NODE_ALLOCATOR to 1 to avoid compilation errors.
|
||||
* Flow graph preview hetero-features are deprecated.
|
||||
* Fixed the task affinity mechanism to prevent unlimited memory
|
||||
consumption in case the number of threads is explicitly decreased.
|
||||
* Fixed memory leak related NUMA support functionality in task_arena.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 21 15:25:51 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
|
||||
|
||||
- Update to version 2020.1
|
||||
* Fixed the issue of task_arena constraints not propagated on
|
||||
copy construction.
|
||||
* Fixed TBBGet.cmake script broken by TBB package name changes
|
||||
(https://github.com/intel/tbb/issues/209).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 18 16:28:51 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
|
||||
|
||||
- Update to version 2020.0
|
||||
* Extended task_arena interface to simplify development of
|
||||
NUMA-aware applications.
|
||||
* Added warning notifications when the deprecated functionality is
|
||||
used.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 10 12:45:32 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
|
||||
|
||||
- Update to version 2019_u9
|
||||
* Multiple APIs are deprecated. For details, please see
|
||||
Deprecated Features appendix in the TBB reference manual.
|
||||
* Added C++17 deduction guides for flow graph nodes.
|
||||
|
||||
Preview Features
|
||||
* Added isolated_task_group class that allows multiple threads to add
|
||||
and execute tasks sharing the same isolation.
|
||||
* Extended the flow graph API to simplify connecting nodes.
|
||||
* Added erase() by heterogeneous keys for concurrent ordered containers.
|
||||
* Added a possibility to suspend task execution at a specific point
|
||||
and resume it later.
|
||||
|
||||
Bugs fixed
|
||||
* Fixed the emplace() method of concurrent unordered containers to
|
||||
destroy a temporary element that was not inserted.
|
||||
* Fixed a bug in the merge() method of concurrent unordered
|
||||
containers.
|
||||
* Fixed behavior of a continue_node that follows buffering nodes.
|
||||
* Added support for move-only types to tbb::parallel_pipeline
|
||||
* Fixed detection of clang version when CUDA toolkit is installed
|
||||
- Refresh patches:
|
||||
* cmake-remove-include-path.patch
|
||||
* disable-irml.patch
|
||||
* optflags.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 7 10:44:30 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
|
||||
|
||||
- Add cmake-remove-include-path.patch to remove setting include
|
||||
path since we already install under /usr/include and this fixes
|
||||
idiot OpenCV trying to do -isystem $TBB_INCLUDE_DIR
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 6 12:22:31 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
|
||||
|
||||
- Update to version 2019_U8
|
||||
* Fixed a bug in TBB 2019 Update 7 that could lead to incorrect memory
|
||||
reallocation on Linux (https://github.com/intel/tbb/issues/148).
|
||||
* Fixed enqueuing tbb::task into tbb::task_arena not to fail on threads
|
||||
with no task scheduler initialized
|
||||
(https://github.com/intel/tbb/issues/116).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 4 14:54:09 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
|
||||
|
||||
- Update to version 2019_U7
|
||||
* Added TBBMALLOC_SET_HUGE_SIZE_THRESHOLD parameter to set the
|
||||
lower bound for allocations that are not released back to OS
|
||||
unless a cleanup is explicitly requested.
|
||||
* Added zip_iterator::base() method to get the tuple of underlying
|
||||
iterators.
|
||||
* Improved async_node to never block a thread that sends a message
|
||||
through its gateway.
|
||||
* Extended decrement port of the tbb::flow::limiter_node to accept
|
||||
messages of integral types.
|
||||
* Removed the number_of_decrement_predecessors parameter from the
|
||||
constructor of flow::limiter_node. To allow its usage, set
|
||||
TBB_DEPRECATED_LIMITER_NODE_CONSTRUCTOR macro to 1.
|
||||
* Added ordered associative containers:
|
||||
concurrent_{map,multimap,set,multiset} (requires C++11).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 14 07:53:56 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
|
||||
|
||||
- Update to version 2019_U6
|
||||
* Added support for enqueuing tbb::task into tbb::task_arena
|
||||
(https://github.com/01org/tbb/issues/116).
|
||||
* Improved support for allocator propagation on concurrent_hash_map
|
||||
assigning and swapping.
|
||||
* Improved scalable_allocation_command cleanup operations to release
|
||||
more memory buffered by the calling thread.
|
||||
* Separated allocation of small and large objects into distinct memory
|
||||
regions, which helps to reduce excessive memory caching inside the
|
||||
TBB allocator.
|
||||
- Disable python2 support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 25 07:56:20 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
|
||||
|
||||
- Update to version 2019_U5
|
||||
* Too many changes to list, please see the included CHANGES file.
|
||||
- Install TBBConfig*.cmake
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 24 04:10:21 UTC 2018 - bwiedemann@suse.com
|
||||
|
||||
- Extend reproducible.patch to not capture build kernel version (boo#1101107)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 1 04:32:27 UTC 2018 - bwiedemann@suse.com
|
||||
|
||||
- Extend reproducible.patch to override build date (boo#1047218)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 8 09:41:48 UTC 2018 - tchvatal@suse.com
|
||||
|
||||
- Add conditions to build with py2 and py3 respectively in order
|
||||
to allow us disable one based on codestream
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 21 12:20:59 UTC 2017 - idonmez@suse.com
|
||||
|
||||
- Add disable-irml.patch to disable linking to libirml
|
||||
- Actually update to tarball to 2018_U2 release
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 16 15:29:08 UTC 2017 - idonmez@suse.com
|
||||
|
||||
- Update to version 2018_U2
|
||||
* lambda-friendly overloads for parallel_scan.
|
||||
* support of static and simple partitioners in
|
||||
parallel_deterministic_reduce.
|
||||
* initial support for Flow Graph Analyzer to do parallel_for.
|
||||
* reservation support in overwrite_node and write_once_node.
|
||||
* Fixed a potential deadlock scenario in the flow graph that
|
||||
affected Intel® TBB 2018 Initial Release.
|
||||
* Fixed constructors of concurrent_hash_map to be exception-safe.
|
||||
* Fixed auto-initialization in the main thread to be cleaned up at shutdown.
|
||||
* Fixed a crash when tbbmalloc_proxy is used together with dbghelp.
|
||||
* Fixed static_partitioner to assign tasks properly in case of nested parallelism.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 1 17:31:14 UTC 2017 - mpluskal@suse.com
|
||||
|
||||
- Build python2 and python3 bindings
|
||||
- Do not bundle python bindings with shared library
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 21 12:03:27 UTC 2017 - idonmez@suse.com
|
||||
|
||||
- Update to version 2018 release
|
||||
* Now fully supports this_task_arena::isolate() function.
|
||||
* Parallel STL, an implementation of the C++ standard library
|
||||
algorithms with support for execution policies, has been
|
||||
introduced.
|
||||
* Fixed a bug preventing use of streaming_node and opencl_node
|
||||
with Clang.
|
||||
* Fixed this_task_arena::isolate() function to work correctly
|
||||
with parallel_invoke and parallel_do algorithms.
|
||||
* Fixed a memory leak in composite_node.
|
||||
* Fixed an assertion failure in debug tbbmalloc binaries when
|
||||
TBBMALLOC_CLEAN_ALL_BUFFERS is used.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 30 09:11:27 UTC 2017 - bwiedemann@suse.com
|
||||
|
||||
- Add reproducible.patch to not add build hostname+kernel to binary
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 24 12:21:12 UTC 2017 - idonmez@suse.com
|
||||
|
||||
- Update to version 2017_20170412 release
|
||||
* Added a blocking terminate extension to the task_scheduler_init
|
||||
class that allows an object to wait for termination of worker
|
||||
threads.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 19 08:07:44 UTC 2017 - idonmez@suse.com
|
||||
|
||||
- Add missing include files boo#1034842
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 5 19:42:50 UTC 2017 - idonmez@suse.com
|
||||
|
||||
- Update to 2017_20170226 release
|
||||
* Added support for C++11 move semantics in parallel_do.
|
||||
* Constructors for many classes, including graph nodes, concurrent
|
||||
containers, thread-local containers, etc., are declared explicit
|
||||
and cannot be used for implicit conversions anymore.
|
||||
* Added a workaround for bug 16657 in the GNU C Library (glibc)
|
||||
affecting the debug version of tbb::mutex.
|
||||
* Fixed a crash in pool_identify() called for an object allocated in
|
||||
another thread.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 12 09:04:36 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Update to 2017_20161128 release
|
||||
* Added template class gfx_factory to the flow graph API. It
|
||||
implements the Factory concept for streaming_node to offload
|
||||
computations to Intel processor graphics.
|
||||
* Fixed a possible deadlock caused by missed wakeup signals in
|
||||
task_arena::execute().
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 3 07:52:18 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Update to version 2017_20161004
|
||||
* Fixed the issue with task_arena::execute() not being processed
|
||||
when the calling thread cannot join the arena.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 17 13:02:18 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Updated to version 2017_20160722
|
||||
* static_partitioner class is now a fully supported feature.
|
||||
* async_node class is now a fully supported feature.
|
||||
* For 64-bit platforms, quadrupled the worst-case limit on the amount
|
||||
of memory the Intel TBB allocator can handle.
|
||||
* Added TBB_USE_GLIBCXX_VERSION macro to specify the version of GNU
|
||||
libstdc++ when it cannot be properly recognized, e.g. when used
|
||||
with Clang on Linux* OS. Inspired by a contribution from David A.
|
||||
* Added graph/stereo example to demostrate tbb::flow::async_msg.
|
||||
* Removed a few cases of excessive user data copying in the flow graph.
|
||||
* Reworked split_node to eliminate unnecessary overheads.
|
||||
* Added support for C++11 move semantics to the argument of
|
||||
tbb::parallel_do_feeder::add() method.
|
||||
* Added C++11 move constructor and assignment operator to
|
||||
tbb::combinable template class.
|
||||
* Added tbb::this_task_arena::max_concurrency() function and
|
||||
max_concurrency() method of class task_arena returning the maximal
|
||||
number of threads that can work inside an arena.
|
||||
* Deprecated tbb::task_arena::current_thread_index() static method;
|
||||
use tbb::this_task_arena::current_thread_index() function instead.
|
||||
- License changed to Apache-2.0
|
||||
- Please see included CHANGES file for all changes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 8 10:50:50 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Update to version 44_20160526
|
||||
* Added a Python module which is able to replace Python's thread pool
|
||||
class with the implementation based on Intel TBB task scheduler.
|
||||
* Fixed the implementation of 64-bit tbb::atomic for IA-32 architecture
|
||||
to work correctly with GCC 5.2 in C++11/14 mode.
|
||||
* Fixed a possible crash when tasks with affinity (e.g. specified via
|
||||
affinity_partitioner) are used simultaneously with task priority
|
||||
changes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 4 12:21:36 UTC 2016 - jengelh@inai.de
|
||||
|
||||
- Update group, and description of tbbmalloc.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 4 10:53:51 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Update to version 44_20160128:
|
||||
* Lots of changes, see the CHANGES file.
|
||||
- Drop tbb-4.0-cas.patch, fixed upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 17 19:42:08 UTC 2013 - asterios.dramis@gmail.com
|
||||
|
||||
- Update to version 41_20130116:
|
||||
* See CHANGES file for news.
|
||||
- Removed tbb package which included only doc files (moved them to tbb-devel).
|
||||
- Updated optflags.patch to make it apply correctly and also fix "File is
|
||||
compiled without RPM_OPT_FLAGS" rpm post build check warning.
|
||||
- Added a patch "tbb-4.0-cas.patch" to fix build on PowerPC (taken from
|
||||
Fedora).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 29 01:33:25 UTC 2012 - jengelh@medozas.de
|
||||
|
||||
- Remove redundant tags/sections per specfile guideline suggestions
|
||||
- Parallel building using %_smp_mflags
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 14 23:35:15 UTC 2011 - crrodriguez@opensuse.org
|
||||
|
||||
- Update to version tbb30_20110704
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 16 11:09:37 CEST 2009 - meissner@suse.de
|
||||
|
||||
- Reimport from Andi Kleens directory.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 5 00:00:00 UTC 2009 - andi@firstfloor.org
|
||||
|
||||
- update to 22_20090809oss, install machine/* includes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 11 00:00:00 UTC 2008 - skh@suse.de
|
||||
|
||||
- update to snapshot 21_20080825 (for details see CHANGES file in
|
||||
package)
|
||||
- remove obsolete patch tbb-build.patch
|
||||
- split off libtbb2 and libtbbmalloc2 subpackages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 13 00:00:00 UTC 2008 - ro@suse.de
|
||||
|
||||
- add ExclusiveArch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 28 00:00:00 UTC 2008 - skh@suse.de
|
||||
|
||||
- update to source version tbb20_20080408oss_src
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 13 00:00:00 UTC 2008 - dmueller@suse.de
|
||||
|
||||
- fix buildrequires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 8 00:00:00 UTC 2008 - skh@suse.de
|
||||
|
||||
- initial package from version 2.0, source version
|
||||
tbb20_20080122oss_src
|
291
tbb.spec
Normal file
291
tbb.spec
Normal file
@ -0,0 +1,291 @@
|
||||
#
|
||||
# spec file for package tbb
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define so_ver 12
|
||||
%define so_ver_malloc 2
|
||||
%define so_ver_irml 1
|
||||
%define so_ver_bind 3
|
||||
%if %{pkg_vcmp hwloc-devel >= 2.5}
|
||||
%define tbbbind_suffix _2_5
|
||||
%else
|
||||
%if %{pkg_vcmp hwloc-devel >= 2}
|
||||
%define tbbbind_suffix _2_0
|
||||
%else
|
||||
%define tbbbind_suffix %{nil}
|
||||
%endif
|
||||
%endif
|
||||
# by default, don't compile all the tests
|
||||
%bcond_with test
|
||||
|
||||
%if 0%{suse_version} >= 1500
|
||||
%{?!python_module:%define python_module() python3-%{**}}
|
||||
%bcond_without python3
|
||||
%define skip_python2 1
|
||||
%else
|
||||
%bcond_with python3
|
||||
%endif
|
||||
Name: tbb
|
||||
Version: 2021.8.0
|
||||
Release: 0
|
||||
Summary: Threading Building Blocks (TBB)
|
||||
License: Apache-2.0
|
||||
Group: Development/Libraries/C and C++
|
||||
URL: https://www.threadingbuildingblocks.org/
|
||||
Source0: https://github.com/oneapi-src/oneTBB/archive/v%{version}.tar.gz#/tbb-%{version}.tar.gz
|
||||
Source99: tbb-rpmlintrc
|
||||
Patch1: https://github.com/oneapi-src/oneTBB/pull/917.patch
|
||||
# PATCH-FIX-OPENSUSE cmake-remove-include-path.patch -- openCV include error
|
||||
Patch2: cmake-remove-include-path.patch
|
||||
Patch3: retry-pthread_create.patch
|
||||
Patch4: add-cmake-check-for-libatomic-requirement-when-build.patch
|
||||
BuildRequires: cmake
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: hwloc-devel
|
||||
%if %{with python3}
|
||||
BuildRequires: %{python_module devel >= 3.5}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildRequires: swig >= 3.0.6
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1500
|
||||
# if python multiflavor is available (Tumbleweed), use it to generate subpackages
|
||||
%define python_subpackage_only 1
|
||||
%python_subpackages
|
||||
%else
|
||||
# unified defaults for the package file list
|
||||
%define pycache_only %{nil}
|
||||
%define python_sitearch %{python3_sitearch}
|
||||
%define python_files() -n python3-%{**}
|
||||
%endif
|
||||
|
||||
%description
|
||||
Threading Building Blocks (TBB) offers a rich and complete approach to
|
||||
expressing parallelism in a C++ program. It is a library that helps you take
|
||||
advantage of multi-core processor performance without having to be a threading
|
||||
expert. Threading Building Blocks is not just a threads-replacement library. It
|
||||
represents a higher-level, task-based parallelism that abstracts platform
|
||||
details and threading mechanism for performance and scalability.
|
||||
|
||||
%package -n libtbb%{so_ver}
|
||||
Summary: Threading Building Blocks (TBB)
|
||||
Group: System/Libraries
|
||||
Provides: %{name} = %{version}
|
||||
Obsoletes: %{name} < %{version}
|
||||
|
||||
%description -n libtbb%{so_ver}
|
||||
Threading Building Blocks (TBB) offers a rich and complete approach to
|
||||
expressing parallelism in a C++ program. It is a library that helps you take
|
||||
advantage of multi-core processor performance without having to be a threading
|
||||
expert. Threading Building Blocks is not just a threads-replacement library. It
|
||||
represents a higher-level, task-based parallelism that abstracts platform
|
||||
details and threading mechanism for performance and scalability.
|
||||
|
||||
%package -n libtbbmalloc%{so_ver_malloc}
|
||||
Summary: Threading Building Blocks (TBB)
|
||||
Group: System/Libraries
|
||||
Provides: %{name} = %{version}
|
||||
Obsoletes: %{name} < %{version}
|
||||
|
||||
%description -n libtbbmalloc%{so_ver_malloc}
|
||||
This subpackage contains the two TBB memory allocator templates that
|
||||
are similar to the STL template class std::allocator. These two
|
||||
templates, scalable_allocator<T> and cache_aligned_allocator<T>,
|
||||
address critical issues in parallel programming: scalability and
|
||||
false sharing.
|
||||
|
||||
%package -n libirml%{so_ver_irml}
|
||||
Summary: Threading Building Blocks (TBB) - IPC Library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libirml%{so_ver_irml}
|
||||
This subpackage provides the library required in order to enable inter-process
|
||||
(IPC) coordination between oneTBB schedulers for the TBB python module.
|
||||
|
||||
%package -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind}
|
||||
Summary: Threading Building Blocks (TBB) NUMA support library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind}
|
||||
The NUMA support library for Threading Building Blocks (TBB)
|
||||
|
||||
|
||||
|
||||
%if 0%{?python_subpackage_only}
|
||||
%package -n python-%{name}
|
||||
Summary: Python %{python_version} support for Threading Building Blocks (TBB)
|
||||
Group: Development/Languages/Python
|
||||
Requires: libirml%{so_ver_irml}
|
||||
|
||||
%description -n python-%{name}
|
||||
This package contains python %{python_version} bindings for Threading Building Blocks
|
||||
(TBB).
|
||||
|
||||
%else
|
||||
|
||||
%package -n python3-%{name}
|
||||
Summary: Python 3 support for Threading Building Blocks (TBB)
|
||||
Group: Development/Languages/Python
|
||||
Requires: libirml%{so_ver_irml}
|
||||
|
||||
%description -n python3-%{name}
|
||||
This package contains python 3 bindings for Threading Building Blocks
|
||||
(TBB).
|
||||
%endif
|
||||
|
||||
%package devel
|
||||
Summary: Development Files for Threading Building Blocks (TBB)
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: c++_compiler
|
||||
Requires: libirml%{so_ver_irml} = %{version}
|
||||
Requires: libtbb%{so_ver} = %{version}
|
||||
Requires: libtbbbind%{tbbbind_suffix}-%{so_ver_bind} = %{version}
|
||||
Requires: libtbbmalloc%{so_ver_malloc} = %{version}
|
||||
|
||||
%description devel
|
||||
Threading Building Blocks (TBB) offers a rich and complete approach to
|
||||
expressing parallelism in a C++ program. It is a library that helps you take
|
||||
advantage of multi-core processor performance without having to be a threading
|
||||
expert. Threading Building Blocks is not just a threads-replacement library. It
|
||||
represents a higher-level, task-based parallelism that abstracts platform
|
||||
details and threading mechanism for performance and scalability.
|
||||
|
||||
This package contains the header files needed for development with tbb.
|
||||
|
||||
%prep
|
||||
%setup -q -n oneTBB-%{version}
|
||||
%autopatch -p1
|
||||
|
||||
# fix python version
|
||||
sed -i 's/version\s*="0.2"/version = "%{version}"/' python/setup.py
|
||||
sed -i '1{/^#!.*env python/ d}' python/TBB.py python/tbb/*.py
|
||||
|
||||
%build
|
||||
# HWLOC: no automatic find on SLE-12 (older cmake)
|
||||
# TBB_TEST: don't compile by default
|
||||
# TBB4PY: use cmake build system to build libirml in the python tree
|
||||
%cmake \
|
||||
%if 0%{suse_version} < 1500
|
||||
-DCMAKE_HWLOC_2_LIBRARY_PATH=%{_libdir}/libhwloc.so \
|
||||
-DCMAKE_HWLOC_2_INCLUDE_PATH=%{_includedir}/hwloc \
|
||||
%endif
|
||||
%if ! %{with test}
|
||||
-DTBB_TEST:BOOL=OFF \
|
||||
%endif
|
||||
%if %{with python3}
|
||||
-DTBB4PY_BUILD:BOOL=ON \
|
||||
%endif
|
||||
|
||||
# Leap 15.2 encounters oom during compilation
|
||||
%cmake_build \
|
||||
%if 0%{?sle_version} == 150200
|
||||
-j 4
|
||||
%endif
|
||||
|
||||
source */vars.sh
|
||||
cd ..
|
||||
|
||||
# rebuild for every python flavor
|
||||
%if %{with python3}
|
||||
pushd python
|
||||
%python_build
|
||||
popd
|
||||
%endif
|
||||
|
||||
%install
|
||||
# create empty python build dir (?)
|
||||
mkdir -p build/python/build
|
||||
%cmake_install
|
||||
|
||||
source build/*/vars.sh
|
||||
|
||||
%if %{with python3}
|
||||
pushd python
|
||||
%python_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
||||
popd
|
||||
%endif
|
||||
|
||||
# we install it into the devel package docdir
|
||||
rm -r %{buildroot}%{_datadir}/doc/TBB
|
||||
|
||||
# Rename tbb32.pc to tbb.pc (same as 64-bit) so that applications depending on tbb
|
||||
# do not have to call different pkgconfig modules based on arch
|
||||
test -f %{buildroot}%{_libdir}/pkgconfig/tbb32.pc && mv %{buildroot}%{_libdir}/pkgconfig/tbb32.pc %{buildroot}%{_libdir}/pkgconfig/tbb.pc
|
||||
|
||||
%check
|
||||
%if %{with test}
|
||||
%ctest --exclude-regex python_test
|
||||
%endif
|
||||
# always test python modules, if they are built
|
||||
%if %{with python3}
|
||||
# avoid shuffling the existing build dir
|
||||
mkdir python-test
|
||||
pushd python-test
|
||||
export LD_LIBRARY_PATH="%{buildroot}%{_libdir}"
|
||||
%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python -m tbb test -v
|
||||
popd
|
||||
%endif
|
||||
|
||||
%post -n libtbb%{so_ver} -p /sbin/ldconfig
|
||||
%postun -n libtbb%{so_ver} -p /sbin/ldconfig
|
||||
%post -n libtbbmalloc%{so_ver_malloc} -p /sbin/ldconfig
|
||||
%postun -n libtbbmalloc%{so_ver_malloc} -p /sbin/ldconfig
|
||||
%post -n libirml%{so_ver_irml} -p /sbin/ldconfig
|
||||
%postun -n libirml%{so_ver_irml} -p /sbin/ldconfig
|
||||
%post -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind} -p /sbin/ldconfig
|
||||
%postun -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind} -p /sbin/ldconfig
|
||||
|
||||
%files -n libtbb%{so_ver}
|
||||
%{_libdir}/libtbb.so.%{so_ver}*
|
||||
|
||||
%files -n libtbbmalloc%{so_ver_malloc}
|
||||
%{_libdir}/libtbbmalloc.so.%{so_ver_malloc}*
|
||||
%{_libdir}/libtbbmalloc_proxy.so.%{so_ver_malloc}*
|
||||
|
||||
%files -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind}
|
||||
%{_libdir}/libtbbbind%{tbbbind_suffix}.so.%{so_ver_bind}*
|
||||
|
||||
%files devel
|
||||
%license LICENSE.txt
|
||||
%doc README.md
|
||||
%{_includedir}/tbb/
|
||||
%{_includedir}/oneapi/
|
||||
%{_libdir}/cmake/TBB
|
||||
%{_libdir}/pkgconfig/tbb.pc
|
||||
%{_libdir}/libtbb.so
|
||||
%{_libdir}/libtbbmalloc.so
|
||||
%{_libdir}/libtbbmalloc_proxy.so
|
||||
%{_libdir}/libtbbbind%{tbbbind_suffix}.so
|
||||
%if %{with python3}
|
||||
%{_libdir}/libirml.so
|
||||
%endif
|
||||
|
||||
%if %{with python3}
|
||||
%files -n libirml%{so_ver_irml}
|
||||
%{_libdir}/libirml.so.%{so_ver_irml}*
|
||||
|
||||
%files %{python_files %{name}}
|
||||
%{python_sitearch}/tbb
|
||||
%{python_sitearch}/TBB.py
|
||||
%{python_sitearch}/TBB-*py3*
|
||||
%{python_sitearch}/TBB-%{version}*-info
|
||||
%pycache_only %{python_sitearch}/__pycache__/TBB*
|
||||
%endif
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user