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 ++++++++++++++++ cmake/compilers/GNU.cmake | 16 ++++++++++++++++
1 file changed, 16 insertions(+) 1 file changed, 16 insertions(+)
diff --git a/cmake/compilers/GNU.cmake b/cmake/compilers/GNU.cmake Index: oneTBB-2021.11.0/cmake/compilers/GNU.cmake
index cd76acfe..59f4e693 100644 ===================================================================
--- a/cmake/compilers/GNU.cmake --- oneTBB-2021.11.0.orig/cmake/compilers/GNU.cmake
+++ b/cmake/compilers/GNU.cmake +++ oneTBB-2021.11.0/cmake/compilers/GNU.cmake
@@ -44,6 +44,22 @@ if (NOT MINGW) @@ -42,6 +42,22 @@ endif()
set(TBB_COMMON_LINK_LIBS dl)
endif() set(TBB_COMMON_LINK_LIBS ${CMAKE_DL_LIBS})
+# Check whether code with full atomics can be built without libatomic +# Check whether code with full atomics can be built without libatomic
+# see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358 +# 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. # 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) if (NOT TBB_STRICT AND COMMAND tbb_remove_compile_flag)
tbb_remove_compile_flag(-Werror) 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.11.0.orig/cmake/templates/TBBConfig.cmake.in
+++ oneTBB-2021.3.0/cmake/templates/TBBConfig.cmake.in +++ oneTBB-2021.11.0/cmake/templates/TBBConfig.cmake.in
@@ -58,8 +58,6 @@ foreach (_tbb_component ${TBB_FIND_COMPO @@ -80,8 +80,6 @@ foreach (_tbb_component ${TBB_FIND_COMPO
add_library(TBB::${_tbb_component} SHARED IMPORTED) add_library(TBB::${_tbb_component} SHARED IMPORTED)
get_filename_component(_tbb_include_dir "${_tbb_root}/@TBB_INC_REL_PATH@" ABSOLUTE) 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> Thu Nov 23 09:53:18 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com>

View File

@ -41,12 +41,12 @@
%bcond_with python3 %bcond_with python3
%endif %endif
Name: tbb Name: tbb
Version: 2021.10.0 Version: 2021.11.0
Release: 0 Release: 0
Summary: Threading Building Blocks (TBB) Summary: oneAPI Threading Building Blocks (oneTBB)
License: Apache-2.0 License: Apache-2.0
Group: Development/Libraries/C and C++ 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 Source0: https://github.com/oneapi-src/oneTBB/archive/v%{version}.tar.gz#/tbb-%{version}.tar.gz
Source99: tbb-rpmlintrc Source99: tbb-rpmlintrc
# PATCH-FIX-OPENSUSE cmake-remove-include-path.patch -- openCV include error # PATCH-FIX-OPENSUSE cmake-remove-include-path.patch -- openCV include error
@ -75,12 +75,11 @@ BuildRequires: swig >= 3.0.6
%endif %endif
%description %description
Threading Building Blocks (TBB) offers a rich and complete approach to oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
expressing parallelism in a C++ program. It is a library that helps you take work of adding parallelism to complex applications. The library lets you easily
advantage of multi-core processor performance without having to be a threading write parallel programs that take full advantage of the multi-core performance.
expert. Threading Building Blocks is not just a threads-replacement library. It oneTBB provides you with functions, interfaces, and classes to parallelize and
represents a higher-level, task-based parallelism that abstracts platform scale the code.
details and threading mechanism for performance and scalability.
%package -n libtbb%{so_ver} %package -n libtbb%{so_ver}
Summary: Threading Building Blocks (TBB) Summary: Threading Building Blocks (TBB)
@ -89,12 +88,13 @@ Provides: %{name} = %{version}
Obsoletes: %{name} < %{version} Obsoletes: %{name} < %{version}
%description -n libtbb%{so_ver} %description -n libtbb%{so_ver}
Threading Building Blocks (TBB) offers a rich and complete approach to oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
expressing parallelism in a C++ program. It is a library that helps you take work of adding parallelism to complex applications. The library lets you easily
advantage of multi-core processor performance without having to be a threading write parallel programs that take full advantage of the multi-core performance.
expert. Threading Building Blocks is not just a threads-replacement library. It oneTBB provides you with functions, interfaces, and classes to parallelize and
represents a higher-level, task-based parallelism that abstracts platform scale the code.
details and threading mechanism for performance and scalability.
This package provides the core shared library corresponding to oneTBB.
%package -n libtbbmalloc%{so_ver_malloc} %package -n libtbbmalloc%{so_ver_malloc}
Summary: Threading Building Blocks (TBB) Summary: Threading Building Blocks (TBB)
@ -103,53 +103,76 @@ Provides: %{name} = %{version}
Obsoletes: %{name} < %{version} Obsoletes: %{name} < %{version}
%description -n libtbbmalloc%{so_ver_malloc} %description -n libtbbmalloc%{so_ver_malloc}
This subpackage contains the two TBB memory allocator templates that oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
are similar to the STL template class std::allocator. These two work of adding parallelism to complex applications. The library lets you easily
templates, scalable_allocator<T> and cache_aligned_allocator<T>, write parallel programs that take full advantage of the multi-core performance.
address critical issues in parallel programming: scalability and oneTBB provides you with functions, interfaces, and classes to parallelize and
false sharing. scale the code.
This package provides the oneTBB memory allocator shared library.
%package -n libirml%{so_ver_irml} %package -n libirml%{so_ver_irml}
Summary: Threading Building Blocks (TBB) - IPC Library Summary: Threading Building Blocks (TBB) - IPC Library
Group: System/Libraries Group: System/Libraries
%description -n libirml%{so_ver_irml} %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 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} %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 Group: System/Libraries
%description -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind} %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} %if 0%{?python_subpackage_only}
%package -n python-%{name} %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 Group: Development/Languages/Python
Requires: libirml%{so_ver_irml} Requires: libirml%{so_ver_irml}
%description -n python-%{name} %description -n python-%{name}
This package contains python %{python_version} bindings for Threading Building Blocks oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
(TBB). 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 %else
%package -n python3-%{name} %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 Group: Development/Languages/Python
Requires: libirml%{so_ver_irml} Requires: libirml%{so_ver_irml}
%description -n python3-%{name} %description -n python3-%{name}
This package contains python 3 bindings for Threading Building Blocks oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
(TBB). 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 %endif
%package devel %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++ Group: Development/Libraries/C and C++
Requires: c++_compiler Requires: c++_compiler
Requires: libirml%{so_ver_irml} = %{version} Requires: libirml%{so_ver_irml} = %{version}
@ -158,14 +181,13 @@ Requires: libtbbbind%{tbbbind_suffix}-%{so_ver_bind} = %{version}
Requires: libtbbmalloc%{so_ver_malloc} = %{version} Requires: libtbbmalloc%{so_ver_malloc} = %{version}
%description devel %description devel
Threading Building Blocks (TBB) offers a rich and complete approach to oneTBB (previously known as TBB) is a flexible C++ library that simplifies the
expressing parallelism in a C++ program. It is a library that helps you take work of adding parallelism to complex applications. The library lets you easily
advantage of multi-core processor performance without having to be a threading write parallel programs that take full advantage of the multi-core performance.
expert. Threading Building Blocks is not just a threads-replacement library. It oneTBB provides you with functions, interfaces, and classes to parallelize and
represents a higher-level, task-based parallelism that abstracts platform scale the code.
details and threading mechanism for performance and scalability.
This package contains the header files needed for development with tbb. This package contains the header files needed for development with oneTBB.
%prep %prep
%setup -q -n oneTBB-%{version} %setup -q -n oneTBB-%{version}

View File

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