Accepting request 1130173 from home:badshah400:branches:devel:libraries:c_c++

- Update to version 2021.11.0:
  * Fixed tbb::this_task_arena() behavior for specific
    tbb::task_arena{1,0}.
  * Restored performance on the high-core count systems that
    support _tpause.
- Refresh patches to apply cleanly:
  * use-FORTIFY_SOURCE-from-distribution.patch
  * add-cmake-check-for-libatomic-requirement-when-build.patch
- Update Summary and description tags to be consistent with
  upstream's TBB -> oneTBB renaming.

OBS-URL: https://build.opensuse.org/request/show/1130173
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=91
This commit is contained in:
Dirk Mueller 2023-12-01 10:01:10 +00:00 committed by Git OBS Bridge
parent 497eaccf44
commit acbefe523a
7 changed files with 96 additions and 63 deletions

View File

@ -9,13 +9,13 @@ 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()
Index: oneTBB-2021.11.0/cmake/compilers/GNU.cmake
===================================================================
--- oneTBB-2021.11.0.orig/cmake/compilers/GNU.cmake
+++ oneTBB-2021.11.0/cmake/compilers/GNU.cmake
@@ -42,6 +42,22 @@ endif()
set(TBB_COMMON_LINK_LIBS ${CMAKE_DL_LIBS})
+# Check whether code with full atomics can be built without libatomic
+# see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358
@ -36,6 +36,3 @@ index cd76acfe..59f4e693 100644
# 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

View File

@ -1,8 +1,8 @@
Index: oneTBB-2021.3.0/cmake/templates/TBBConfig.cmake.in
Index: oneTBB-2021.11.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
--- oneTBB-2021.11.0.orig/cmake/templates/TBBConfig.cmake.in
+++ oneTBB-2021.11.0/cmake/templates/TBBConfig.cmake.in
@@ -80,8 +80,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)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:35e45dd015801e7b1606ce922b9fa9d19dfe410446282846d682660336f61bfc
size 2701487

3
tbb-2021.11.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:782ce0cab62df9ea125cdea253a50534862b563f1d85d4cda7ad4e77550ac363
size 2613493

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Dec 1 08:24:32 UTC 2023 - Atri Bhattacharya <badshah400@gmail.com>
- Update to version 2021.11.0:
* Fixed tbb::this_task_arena() behavior for specific
tbb::task_arena{1,0}.
* Restored performance on the high-core count systems that
support _tpause.
- Refresh patches to apply cleanly:
* use-FORTIFY_SOURCE-from-distribution.patch
* add-cmake-check-for-libatomic-requirement-when-build.patch
- Update Summary and description tags to be consistent with
upstream's TBB -> oneTBB renaming.
-------------------------------------------------------------------
Thu Nov 23 09:53:18 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com>

View File

@ -41,12 +41,12 @@
%bcond_with python3
%endif
Name: tbb
Version: 2021.10.0
Version: 2021.11.0
Release: 0
Summary: Threading Building Blocks (TBB)
Summary: oneAPI Threading Building Blocks (oneTBB)
License: Apache-2.0
Group: Development/Libraries/C and C++
URL: https://www.threadingbuildingblocks.org/
URL: https://oneapi-src.github.io/oneTBB/
Source0: https://github.com/oneapi-src/oneTBB/archive/v%{version}.tar.gz#/tbb-%{version}.tar.gz
Source99: tbb-rpmlintrc
# PATCH-FIX-OPENSUSE cmake-remove-include-path.patch -- openCV include error
@ -75,12 +75,11 @@ BuildRequires: swig >= 3.0.6
%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.
oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
work of adding parallelism to complex applications. The library lets you easily
write parallel programs that take full advantage of the multi-core performance.
oneTBB provides you with functions, interfaces, and classes to parallelize and
scale the code.
%package -n libtbb%{so_ver}
Summary: Threading Building Blocks (TBB)
@ -89,12 +88,13 @@ 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.
oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
work of adding parallelism to complex applications. The library lets you easily
write parallel programs that take full advantage of the multi-core performance.
oneTBB provides you with functions, interfaces, and classes to parallelize and
scale the code.
This package provides the core shared library corresponding to oneTBB.
%package -n libtbbmalloc%{so_ver_malloc}
Summary: Threading Building Blocks (TBB)
@ -103,53 +103,76 @@ 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.
oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
work of adding parallelism to complex applications. The library lets you easily
write parallel programs that take full advantage of the multi-core performance.
oneTBB provides you with functions, interfaces, and classes to parallelize and
scale the code.
This package provides the oneTBB memory allocator shared library.
%package -n libirml%{so_ver_irml}
Summary: Threading Building Blocks (TBB) - IPC Library
Group: System/Libraries
%description -n libirml%{so_ver_irml}
oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
work of adding parallelism to complex applications. The library lets you easily
write parallel programs that take full advantage of the multi-core performance.
oneTBB provides you with functions, interfaces, and classes to parallelize and
scale the code.
This subpackage provides the library required in order to enable inter-process
(IPC) coordination between oneTBB schedulers for the TBB python module.
(IPC) coordination between oneTBB schedulers for the oneTBB python module.
%package -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind}
Summary: Threading Building Blocks (TBB) NUMA support library
Summary: NUMA support library for oneAPI Threading Building Blocks (oneTBB)
Group: System/Libraries
%description -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind}
The NUMA support library for Threading Building Blocks (TBB)
oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
work of adding parallelism to complex applications. The library lets you easily
write parallel programs that take full advantage of the multi-core performance.
oneTBB provides you with functions, interfaces, and classes to parallelize and
scale the code.
The NUMA support library for oneTBB.
%if 0%{?python_subpackage_only}
%package -n python-%{name}
Summary: Python %{python_version} support for Threading Building Blocks (TBB)
Summary: Python %{python_version} support for oneAPI Threading Building Blocks (oneTBB)
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).
oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
work of adding parallelism to complex applications. The library lets you easily
write parallel programs that take full advantage of the multi-core performance.
oneTBB provides you with functions, interfaces, and classes to parallelize and
scale the code.
This package contains python %{python_version} bindings for oneTBB.
%else
%package -n python3-%{name}
Summary: Python 3 support for Threading Building Blocks (TBB)
Summary: Python 3 support for oneAPI Threading Building Blocks (oneTBB)
Group: Development/Languages/Python
Requires: libirml%{so_ver_irml}
%description -n python3-%{name}
This package contains python 3 bindings for Threading Building Blocks
(TBB).
oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
work of adding parallelism to complex applications. The library lets you easily
write parallel programs that take full advantage of the multi-core performance.
oneTBB provides you with functions, interfaces, and classes to parallelize and
scale the code.
This package contains python 3 bindings for oneAPI Threading Building Blocks
(oneTBB).
%endif
%package devel
Summary: Development Files for Threading Building Blocks (TBB)
Summary: Development Files for oneAPI Threading Building Blocks (oneTBB)
Group: Development/Libraries/C and C++
Requires: c++_compiler
Requires: libirml%{so_ver_irml} = %{version}
@ -158,14 +181,13 @@ 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.
oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
work of adding parallelism to complex applications. The library lets you easily
write parallel programs that take full advantage of the multi-core performance.
oneTBB provides you with functions, interfaces, and classes to parallelize and
scale the code.
This package contains the header files needed for development with tbb.
This package contains the header files needed for development with oneTBB.
%prep
%setup -q -n oneTBB-%{version}

View File

@ -1,11 +1,11 @@
diff --git a/cmake/compilers/GNU.cmake b/cmake/compilers/GNU.cmake
index b60172c..738d185 100644
--- a/cmake/compilers/GNU.cmake
+++ b/cmake/compilers/GNU.cmake
@@ -74,7 +74,6 @@ set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -fno-strict-overflow -f
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -Wformat -Wformat-security -Werror=format-security
-fstack-protector-strong )
set(TBB_LIB_LINK_FLAGS ${TBB_LIB_LINK_FLAGS} -Wl,-z,relro,-z,now,-z,noexecstack)
Index: oneTBB-2021.11.0/cmake/compilers/GNU.cmake
===================================================================
--- oneTBB-2021.11.0.orig/cmake/compilers/GNU.cmake
+++ oneTBB-2021.11.0/cmake/compilers/GNU.cmake
@@ -75,7 +75,6 @@ set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMO
if (NOT APPLE)
set(TBB_LIB_LINK_FLAGS ${TBB_LIB_LINK_FLAGS} -Wl,-z,relro,-z,now,-z,noexecstack)
endif()
-set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} $<$<NOT:$<CONFIG:Debug>>:-D_FORTIFY_SOURCE=2> )