import tbb-2020.3-8.el9
This commit is contained in:
commit
019615fc08
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
SOURCES/tbb-2020.3.tar.gz
|
1
.tbb.metadata
Normal file
1
.tbb.metadata
Normal file
@ -0,0 +1 @@
|
||||
ae543670251a6d667e6f077ecfab0d5bb09b270c SOURCES/tbb-2020.3.tar.gz
|
43
SOURCES/tbb-2019-dont-snip-Wall.patch
Normal file
43
SOURCES/tbb-2019-dont-snip-Wall.patch
Normal file
@ -0,0 +1,43 @@
|
||||
diff -up tbb-2019_U6/build/common_rules.inc.orig tbb-2019_U6/build/common_rules.inc
|
||||
--- tbb-2019_U6/build/common_rules.inc.orig 2019-04-18 05:14:08.000000000 -0600
|
||||
+++ tbb-2019_U6/build/common_rules.inc 2019-05-08 08:30:03.434532204 -0600
|
||||
@@ -130,7 +130,7 @@ LINK_FILES+=$(TEST_LIBS)
|
||||
|
||||
# Customizations
|
||||
$(KNOWN_WARNINGS): %.$(OBJ): %.cpp
|
||||
- $(CPLUS) $(COMPILE_ONLY) $(subst $(WARNING_KEY),,$(CPLUS_FLAGS)) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $<
|
||||
+ $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $<
|
||||
|
||||
tbb_misc.$(OBJ): version_string.ver
|
||||
tbb_misc.$(OBJ): INCLUDES+=$(INCLUDE_KEY).
|
||||
diff -up tbb-2019_U6/build/Makefile.tbbmalloc.orig tbb-2019_U6/build/Makefile.tbbmalloc
|
||||
--- tbb-2019_U6/build/Makefile.tbbmalloc.orig 2019-04-18 05:14:08.000000000 -0600
|
||||
+++ tbb-2019_U6/build/Makefile.tbbmalloc 2019-05-08 08:30:03.447531968 -0600
|
||||
@@ -47,11 +47,11 @@ ORIG_LINK_MALLOC.LIB:=$(LINK_MALLOC.LIB)
|
||||
MALLOC_CPLUS.OBJ = backend.$(OBJ) large_objects.$(OBJ) backref.$(OBJ) tbbmalloc.$(OBJ)
|
||||
MALLOC.OBJ := $(MALLOC_CPLUS.OBJ) $(MALLOC_ASM.OBJ) itt_notify_malloc.$(OBJ) frontend.$(OBJ)
|
||||
PROXY.OBJ := proxy.$(OBJ) tbb_function_replacement.$(OBJ)
|
||||
-M_CPLUS_FLAGS += $(DEFINE_KEY)__TBBMALLOC_BUILD=1
|
||||
+M_CPLUS_FLAGS += -fno-strict-aliasing $(DEFINE_KEY)__TBBMALLOC_BUILD=1
|
||||
M_INCLUDES := $(INCLUDES) $(INCLUDE_KEY)$(MALLOC_ROOT) $(INCLUDE_KEY)$(MALLOC_SOURCE_ROOT)
|
||||
|
||||
# Suppress superfluous warnings for TBBMalloc compilation
|
||||
-$(MALLOC.OBJ): M_CPLUS_FLAGS := $(subst $(WARNING_KEY),,$(M_CPLUS_FLAGS)) $(WARNING_SUPPRESS)
|
||||
+$(MALLOC.OBJ): M_CPLUS_FLAGS := $(M_CPLUS_FLAGS) $(WARNING_SUPPRESS)
|
||||
# Suppress superfluous warnings for TBBMalloc proxy compilation
|
||||
$(PROXY.OBJ): CPLUS_FLAGS += $(WARNING_SUPPRESS)
|
||||
|
||||
diff -up tbb-2019_U6/build/Makefile.test.orig tbb-2019_U6/build/Makefile.test
|
||||
--- tbb-2019_U6/build/Makefile.test.orig 2019-05-08 08:30:03.448531949 -0600
|
||||
+++ tbb-2019_U6/build/Makefile.test 2019-05-08 08:31:48.190498336 -0600
|
||||
@@ -275,7 +275,7 @@ test_tbb_plain: $(TEST_PREREQUISITE) $(T
|
||||
|
||||
|
||||
# For deprecated files, we don't mind warnings etc., thus compilation rules are most relaxed
|
||||
-CPLUS_FLAGS_DEPRECATED = $(DEFINE_KEY)__TBB_TEST_DEPRECATED=1 $(subst $(WARNING_KEY),,$(CPLUS_FLAGS)) $(WARNING_SUPPRESS) $(INCLUDE_KEY)$(tbb_root)/src/test
|
||||
+CPLUS_FLAGS_DEPRECATED = $(DEFINE_KEY)__TBB_TEST_DEPRECATED=1 $(CPLUS_FLAGS) $(WARNING_SUPPRESS) $(INCLUDE_KEY)$(tbb_root)/src/test
|
||||
TEST_TBB_OLD.OBJ = test_concurrent_vector_v2.$(OBJ) test_concurrent_queue_v2.$(OBJ) test_mutex_v2.$(OBJ) test_task_scheduler_observer_v3.$(OBJ)
|
||||
|
||||
$(TEST_TBB_OLD.OBJ): CPLUS_FLAGS := $(CPLUS_FLAGS_DEPRECATED)
|
||||
|
||||
Diff finished. Wed May 8 08:31:49 2019
|
12
SOURCES/tbb-2019-test-task-scheduler-init.patch
Normal file
12
SOURCES/tbb-2019-test-task-scheduler-init.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up tbb-2019_U8/src/test/test_task_scheduler_init.cpp.orig tbb-2019_U8/src/test/test_task_scheduler_init.cpp
|
||||
--- tbb-2019_U8/src/test/test_task_scheduler_init.cpp.orig 2019-06-06 04:29:15.000000000 -0600
|
||||
+++ tbb-2019_U8/src/test/test_task_scheduler_init.cpp 2019-08-26 12:08:19.547880295 -0600
|
||||
@@ -285,7 +285,7 @@ namespace TestBlockingTerminateNS {
|
||||
}
|
||||
};
|
||||
void operator()() {
|
||||
- const int numThreads = 4;
|
||||
+ const int numThreads = 2;
|
||||
tbb::task_scheduler_init init( numThreads );
|
||||
Harness::SpinBarrier barrier( numThreads );
|
||||
tbb::parallel_for( 0, numThreads, Body( barrier ) );
|
56
SOURCES/tbb-2019-test-thread-monitor.patch
Normal file
56
SOURCES/tbb-2019-test-thread-monitor.patch
Normal file
@ -0,0 +1,56 @@
|
||||
--- tbb-2020.2/oneTBB-2020.2/src/rml/test/test_thread_monitor.cpp 2020-03-30 13:38:06.000000000 +0200
|
||||
+++ oneTBB-2020.2/src/rml/test/test_thread_monitor.cpp 2020-04-27 15:43:34.209452298 +0200
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "thread_monitor.h"
|
||||
#include "harness_memory.h"
|
||||
#include "tbb/semaphore.cpp"
|
||||
+#include <atomic>
|
||||
|
||||
class ThreadState {
|
||||
void loop();
|
||||
@@ -33,21 +34,21 @@
|
||||
}
|
||||
typedef rml::internal::thread_monitor thread_monitor;
|
||||
thread_monitor monitor;
|
||||
- volatile int request;
|
||||
- volatile int ack;
|
||||
- volatile unsigned clock;
|
||||
- volatile unsigned stamp;
|
||||
+ std::atomic<int> request;
|
||||
+ std::atomic<int> ack;
|
||||
+ std::atomic<unsigned> clock;
|
||||
+ unsigned stamp;
|
||||
ThreadState() : request(-1), ack(-1), clock(0) {}
|
||||
};
|
||||
|
||||
void ThreadState::loop() {
|
||||
for(;;) {
|
||||
- ++clock;
|
||||
if( ack==request ) {
|
||||
thread_monitor::cookie c;
|
||||
monitor.prepare_wait(c);
|
||||
if( ack==request ) {
|
||||
- REMARK("%p: request=%d ack=%d\n", this, request, ack );
|
||||
+ REMARK("%p: request=%d ack=%d\n", this, request.load(), ack.load() );
|
||||
+ ++clock;
|
||||
monitor.commit_wait(c);
|
||||
} else
|
||||
monitor.cancel_wait();
|
||||
@@ -60,7 +61,7 @@
|
||||
rml::internal::thread_monitor::yield();
|
||||
}
|
||||
int r = request;
|
||||
- ack = request;
|
||||
+ ack = r;
|
||||
if( !r ) return;
|
||||
}
|
||||
}
|
||||
@@ -89,7 +90,7 @@
|
||||
REPORT("Warning: thread %d not waiting\n",i);
|
||||
break;
|
||||
}
|
||||
- } while( t[i].stamp!=t[i].clock );
|
||||
+ } while( t[i].stamp==0 || t[i].stamp!=t[i].clock );
|
||||
}
|
||||
}
|
||||
REMARK("notifying threads\n");
|
54
SOURCES/tbb-2020-attributes.patch
Normal file
54
SOURCES/tbb-2020-attributes.patch
Normal file
@ -0,0 +1,54 @@
|
||||
diff -up oneTBB-2020.2/src/tbbmalloc/proxy.cpp.orig oneTBB-2020.2/src/tbbmalloc/proxy.cpp
|
||||
--- oneTBB-2020.2/src/tbbmalloc/proxy.cpp.orig 2020-03-31 06:40:13.752296189 -0600
|
||||
+++ oneTBB-2020.2/src/tbbmalloc/proxy.cpp 2020-03-31 06:42:52.611900760 -0600
|
||||
@@ -146,15 +146,7 @@ static inline void initPageSize()
|
||||
1) detection that the proxy library is loaded
|
||||
2) check that dlsym("malloc") found something different from our replacement malloc
|
||||
*/
|
||||
-// Starting from GCC 9, the -Wmissing-attributes warning was extended for alias below
|
||||
-#if __GNUC__ == 9
|
||||
- #pragma GCC diagnostic push
|
||||
- #pragma GCC diagnostic ignored "-Wmissing-attributes"
|
||||
-#endif
|
||||
-extern "C" void *__TBB_malloc_proxy(size_t) __attribute__ ((alias ("malloc")));
|
||||
-#if __GNUC__ == 9
|
||||
- #pragma GCC diagnostic pop
|
||||
-#endif
|
||||
+extern "C" void *__TBB_malloc_proxy(size_t) __attribute__ ((alias ("malloc"), copy (malloc)));
|
||||
|
||||
static void *orig_msize;
|
||||
|
||||
@@ -296,25 +288,17 @@ struct mallinfo mallinfo() __THROW
|
||||
size_t dlmalloc_usable_size(const void *ptr) __attribute__ ((alias ("malloc_usable_size")));
|
||||
#else // __ANDROID__
|
||||
// C11 function, supported starting GLIBC 2.16
|
||||
-void *aligned_alloc(size_t alignment, size_t size) __attribute__ ((alias ("memalign")));
|
||||
+void *aligned_alloc(size_t alignment, size_t size) __attribute__ ((alias ("memalign"), copy (memalign)));
|
||||
// Those non-standard functions are exported by GLIBC, and might be used
|
||||
// in conjunction with standard malloc/free, so we must ovberload them.
|
||||
// Bionic doesn't have them. Not removing from the linker scripts,
|
||||
// as absent entry points are ignored by the linker.
|
||||
|
||||
-// Starting from GCC 9, the -Wmissing-attributes warning was extended for aliases below
|
||||
-#if __GNUC__ == 9
|
||||
- #pragma GCC diagnostic push
|
||||
- #pragma GCC diagnostic ignored "-Wmissing-attributes"
|
||||
-#endif
|
||||
-void *__libc_malloc(size_t size) __attribute__ ((alias ("malloc")));
|
||||
-void *__libc_calloc(size_t num, size_t size) __attribute__ ((alias ("calloc")));
|
||||
-void *__libc_memalign(size_t alignment, size_t size) __attribute__ ((alias ("memalign")));
|
||||
-void *__libc_pvalloc(size_t size) __attribute__ ((alias ("pvalloc")));
|
||||
-void *__libc_valloc(size_t size) __attribute__ ((alias ("valloc")));
|
||||
-#if __GNUC__ == 9
|
||||
- #pragma GCC diagnostic pop
|
||||
-#endif
|
||||
+void *__libc_malloc(size_t size) __attribute__ ((alias ("malloc"), copy (malloc)));
|
||||
+void *__libc_calloc(size_t num, size_t size) __attribute__ ((alias ("calloc"), copy (calloc)));
|
||||
+void *__libc_memalign(size_t alignment, size_t size) __attribute__ ((alias ("memalign"), copy (memalign)));
|
||||
+void *__libc_pvalloc(size_t size) __attribute__ ((alias ("pvalloc"), copy (pvalloc)));
|
||||
+void *__libc_valloc(size_t size) __attribute__ ((alias ("valloc"), copy (valloc)));
|
||||
|
||||
// call original __libc_* to support naive replacement of free via __libc_free etc
|
||||
void __libc_free(void *ptr)
|
||||
|
||||
Diff finished. Tue Mar 31 06:43:27 2020
|
26
SOURCES/tbb-mark-empty_task-execute-with-gnu-used.patch
Normal file
26
SOURCES/tbb-mark-empty_task-execute-with-gnu-used.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From db2f2116adfb545bb76c92205f91e3e3f0f9e44a Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Rodgers <rodgert@twrodgers.com>
|
||||
Date: Wed, 2 Jun 2021 15:18:30 -0700
|
||||
Subject: [PATCH] Mark tbb::empty_task::execute with [[gnu::used]]
|
||||
|
||||
---
|
||||
include/tbb/task.h | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/include/tbb/task.h b/include/tbb/task.h
|
||||
index 5e137c6..5b60163 100644
|
||||
--- a/include/tbb/task.h
|
||||
+++ b/include/tbb/task.h
|
||||
@@ -1040,6 +1040,9 @@ inline void task::resume(suspend_point tag) {
|
||||
//! task that does nothing. Useful for synchronization.
|
||||
/** @ingroup task_scheduling */
|
||||
class __TBB_DEPRECATED_IN_VERBOSE_MODE empty_task: public task {
|
||||
+#if __has_cpp_attribute(gnu::used)
|
||||
+ [[gnu::used]]
|
||||
+#endif
|
||||
task* execute() __TBB_override {
|
||||
return NULL;
|
||||
}
|
||||
--
|
||||
2.31.1
|
||||
|
5
SOURCES/tbb.pc
Normal file
5
SOURCES/tbb.pc
Normal file
@ -0,0 +1,5 @@
|
||||
Name: Threading Building Blocks
|
||||
Description: The Threading Building Blocks library abstracts low-level threading details
|
||||
URL: http://www.threadingbuildingblocks.org/
|
||||
Version: _FEDORA_VERSION
|
||||
Libs: -ltbb
|
5
SOURCES/tbbmalloc.pc
Normal file
5
SOURCES/tbbmalloc.pc
Normal file
@ -0,0 +1,5 @@
|
||||
Name: Threading Building Blocks Scalable Allocator
|
||||
Description: Implementation of Scalable Memory Allocator of Threading Building Blocks
|
||||
URL: http://www.threadingbuildingblocks.org/
|
||||
Version: _FEDORA_VERSION
|
||||
Libs: -ltbbmalloc
|
5
SOURCES/tbbmalloc_proxy.pc
Normal file
5
SOURCES/tbbmalloc_proxy.pc
Normal file
@ -0,0 +1,5 @@
|
||||
Name: Threading Building Blocks Scallable Malloc Proxy
|
||||
Description: Implementation of proxy that redirects memory allocation calls to TBB Scalable Memory Allocator
|
||||
URL: http://www.threadingbuildingblocks.org/
|
||||
Version: _FEDORA_VERSION
|
||||
Libs: -ltbbmalloc_proxy -ltbbmalloc
|
529
SPECS/tbb.spec
Normal file
529
SPECS/tbb.spec
Normal file
@ -0,0 +1,529 @@
|
||||
Name: tbb
|
||||
Summary: The Threading Building Blocks library abstracts low-level threading details
|
||||
Version: 2020.3
|
||||
Release: 8%{?dist}
|
||||
License: ASL 2.0
|
||||
URL: http://threadingbuildingblocks.org/
|
||||
|
||||
Source0: https://github.com/intel/tbb/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
# These three are downstream sources.
|
||||
Source6: tbb.pc
|
||||
Source7: tbbmalloc.pc
|
||||
Source8: tbbmalloc_proxy.pc
|
||||
|
||||
# Don't snip -Wall from C++ flags. Add -fno-strict-aliasing, as that
|
||||
# uncovers some static-aliasing warnings.
|
||||
# Related: https://bugzilla.redhat.com/show_bug.cgi?id=1037347
|
||||
Patch0: tbb-2019-dont-snip-Wall.patch
|
||||
|
||||
# Make attributes of aliases match those on the aliased function.
|
||||
Patch1: tbb-2020-attributes.patch
|
||||
|
||||
# Fix test-thread-monitor, which had multiple bugs that could (and did, on
|
||||
# ppc64le) result in a hang.
|
||||
Patch2: tbb-2019-test-thread-monitor.patch
|
||||
|
||||
# Fix a test that builds a 4-thread barrier, but cannot guarantee that more
|
||||
# than 2 threads will be available to use it.
|
||||
Patch3: tbb-2019-test-task-scheduler-init.patch
|
||||
|
||||
# Fix ABI break resulting from tbb::empty_task being removed from libtbb.so's
|
||||
# exported symbols
|
||||
Patch4: tbb-mark-empty_task-execute-with-gnu-used.patch
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: make
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: swig
|
||||
|
||||
%description
|
||||
Threading Building Blocks (TBB) is a C++ runtime library that
|
||||
abstracts the low-level threading details necessary for optimal
|
||||
multi-core performance. It uses common C++ templates and coding style
|
||||
to eliminate tedious threading implementation work.
|
||||
|
||||
TBB requires fewer lines of code to achieve parallelism than other
|
||||
threading models. The applications you write are portable across
|
||||
platforms. Since the library is also inherently scalable, no code
|
||||
maintenance is required as more processor cores become available.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: The Threading Building Blocks C++ headers and shared development libraries
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
Header files and shared object symlinks for the Threading Building
|
||||
Blocks (TBB) C++ libraries.
|
||||
|
||||
|
||||
%package doc
|
||||
Summary: The Threading Building Blocks documentation
|
||||
Provides: bundled(jquery)
|
||||
|
||||
%description doc
|
||||
PDF documentation for the user of the Threading Building Block (TBB)
|
||||
C++ library.
|
||||
|
||||
|
||||
%package -n python3-%{name}
|
||||
Summary: Python 3 TBB module
|
||||
|
||||
%description -n python3-%{name}
|
||||
Python 3 TBB module.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n oneTBB-%{version}
|
||||
|
||||
# For repeatable builds, don't query the hostname or architecture
|
||||
sed -i 's/"`hostname -s`" ("`uname -m`"/fedorabuild (%{_arch}/' \
|
||||
build/version_info_linux.sh
|
||||
|
||||
# Insert --as-needed before the libraries to be linked.
|
||||
sed -i "s/-fPIC/& -Wl,--as-needed/" build/linux.gcc.inc
|
||||
|
||||
# Invoke the right python binary directly
|
||||
sed -i 's,env python,python3,' python/TBB.py python/tbb/__*.py
|
||||
|
||||
# Remove shebang from files that don't need it
|
||||
sed -i '/^#!/d' python/tbb/{pool,test}.py
|
||||
|
||||
%build
|
||||
compiler=""
|
||||
if [[ %{__cc} == *"gcc"* ]]; then
|
||||
compiler="gcc"
|
||||
elif [[ %{__cc} == *"clang"* ]]; then
|
||||
compiler="clang"
|
||||
else
|
||||
compiler="%{__cc}"
|
||||
fi
|
||||
|
||||
%make_build tbb_build_prefix=obj stdver=c++14 \
|
||||
compiler=${compiler} \
|
||||
CXXFLAGS="%{optflags} -DUSE_PTHREAD" \
|
||||
LDFLAGS="$RPM_LD_FLAGS -lpthread"
|
||||
for file in %{SOURCE6} %{SOURCE7} %{SOURCE8}; do
|
||||
base=$(basename ${file})
|
||||
sed 's/_FEDORA_VERSION/%{version}/' ${file} > ${base}
|
||||
touch -r ${file} ${base}
|
||||
done
|
||||
|
||||
# Build for python 3
|
||||
. build/obj_release/tbbvars.sh
|
||||
pushd python
|
||||
%make_build -C rml stdver=c++14 \
|
||||
compiler=${compiler} \
|
||||
CPLUS_FLAGS="%{optflags} -DUSE_PTHREAD" \
|
||||
LDFLAGS="$RPM_LD_FLAGS -lpthread"
|
||||
cp -p rml/libirml.so* .
|
||||
%py3_build
|
||||
popd
|
||||
|
||||
# Build the documentation
|
||||
make doxygen
|
||||
|
||||
%check
|
||||
# This test assumes it can create thread barriers for arbitrary numbers of
|
||||
# threads, but tbb limits the number of threads spawned to a function of the
|
||||
# number of CPUs available. Some of the koji builders have a small number of
|
||||
# CPUs, so the test hangs waiting for threads that have not been created to
|
||||
# arrive at the barrier. Skip this test until upstream fixes it.
|
||||
sed -i '/test_task_scheduler_observer/d' build/Makefile.test
|
||||
|
||||
make test tbb_build_prefix=obj stdver=c++14 CXXFLAGS="%{optflags}"
|
||||
|
||||
%install
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_libdir}
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_includedir}
|
||||
|
||||
pushd build/obj_release
|
||||
for file in libtbb{,malloc{,_proxy}}; do
|
||||
install -p -D -m 755 ${file}.so.2 $RPM_BUILD_ROOT/%{_libdir}
|
||||
ln -s $file.so.2 $RPM_BUILD_ROOT/%{_libdir}/$file.so
|
||||
done
|
||||
popd
|
||||
|
||||
pushd include
|
||||
find tbb -type f ! -name \*.htm\* -exec \
|
||||
install -p -D -m 644 {} $RPM_BUILD_ROOT/%{_includedir}/{} \
|
||||
\;
|
||||
popd
|
||||
|
||||
for file in %{SOURCE6} %{SOURCE7} %{SOURCE8}; do
|
||||
install -p -D -m 644 $(basename ${file}) \
|
||||
$RPM_BUILD_ROOT/%{_libdir}/pkgconfig/$(basename ${file})
|
||||
done
|
||||
|
||||
# Install the rml headers
|
||||
mkdir -p $RPM_BUILD_ROOT%{_includedir}/rml
|
||||
cp -p src/rml/include/*.h $RPM_BUILD_ROOT%{_includedir}/rml
|
||||
|
||||
# Python 3 install
|
||||
. build/obj_release/tbbvars.sh
|
||||
pushd python
|
||||
%py3_install
|
||||
chmod a+x $RPM_BUILD_ROOT%{python3_sitearch}/TBB.py
|
||||
chmod a+x $RPM_BUILD_ROOT%{python3_sitearch}/tbb/__*.py
|
||||
cp -p libirml.so.1 $RPM_BUILD_ROOT%{_libdir}
|
||||
ln -s libirml.so.1 $RPM_BUILD_ROOT%{_libdir}/libirml.so
|
||||
popd
|
||||
|
||||
# Install the cmake files
|
||||
cmake \
|
||||
-DINSTALL_DIR=$RPM_BUILD_ROOT%{_libdir}/cmake/TBB \
|
||||
-DSYSTEM_NAME=Linux \
|
||||
-DLIB_REL_PATH=../.. \
|
||||
-P cmake/tbb_config_installer.cmake
|
||||
|
||||
%files
|
||||
%doc doc/Release_Notes.txt README.md
|
||||
%license LICENSE
|
||||
%{_libdir}/libtbb.so.2
|
||||
%{_libdir}/libtbbmalloc.so.2
|
||||
%{_libdir}/libtbbmalloc_proxy.so.2
|
||||
%{_libdir}/libirml.so.1
|
||||
|
||||
%files devel
|
||||
%doc CHANGES cmake/README.rst
|
||||
%{_includedir}/rml/
|
||||
%{_includedir}/tbb/
|
||||
%{_libdir}/*.so
|
||||
%{_libdir}/cmake/TBB/
|
||||
%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%files doc
|
||||
%doc doc/Release_Notes.txt
|
||||
%doc html
|
||||
|
||||
%files -n python3-%{name}
|
||||
%doc python/index.html
|
||||
%{python3_sitearch}/TBB*
|
||||
%{python3_sitearch}/tbb/
|
||||
%{python3_sitearch}/__pycache__/TBB*
|
||||
|
||||
%changelog
|
||||
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 2020.3-8
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Thu Jun 3 2021 Thomas Rodgers <trodgers@redhat.com> - 2020.3-6
|
||||
- Fix ABI regression in tbb::empty_task caused by switch to LTO
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2020.3-6
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Mon Feb 22 2021 Jerry James <loganjerry@gmail.com> - 2020.3-5
|
||||
- Fix cmake file installation some more (bz 1930389)
|
||||
|
||||
* Thu Feb 18 2021 Jerry James <loganjerry@gmail.com> - 2020.3-4
|
||||
- Fix cmake file installation (bz 1930389)
|
||||
- Allow use of RTM instructions when available
|
||||
- At upstream's suggestion, do not force ITT_NOTIFY support
|
||||
- Drop -fetchadd64 patch, only needed for forced ITT_NOTIFY support
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2020.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2020.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Jerry James <loganjerry@gmail.com> - 2020.3-1
|
||||
- Rebase to version 2020.3
|
||||
|
||||
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 2020.2-4
|
||||
- Use make macros
|
||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2020.2-3
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Mon Apr 27 2020 Timm Baeder <tbaeder@redhat.com> - 2020.2-2
|
||||
- Pass the compiler to when building
|
||||
- Update the tbb-2019-test-thread-monitor.patch to use std::atomic
|
||||
|
||||
* Tue Mar 31 2020 Jerry James <loganjerry@gmail.com> - 2020.2-1
|
||||
- Rebase to version 2020.2
|
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2020.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Jan 22 2020 Jerry James <loganjerry@gmail.com> - 2020.1-1
|
||||
- Rebase to version 2020.1
|
||||
|
||||
* Tue Dec 31 2019 Jerry James <loganjerry@gmail.com> - 2020-1
|
||||
- Rebase to version 2020
|
||||
|
||||
* Sat Oct 12 2019 Jerry James <loganjerry@gmail.com> - 2019.9-1
|
||||
- Rebase to 2019 update 9
|
||||
|
||||
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2019.8-4
|
||||
- Rebuilt for Python 3.8.0rc1 (#1748018)
|
||||
|
||||
* Tue Aug 27 2019 Jerry James <loganjerry@gmail.com> - 2019.8-3
|
||||
- Add -test-thread-monitor and -test-task-scheduler-init patches to fix FTBFS
|
||||
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2019.8-3
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2019.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sat Jun 8 2019 Jerry James <loganjerry@gmail.com> - 2019.8-1
|
||||
- Rebase to 2019 update 8
|
||||
|
||||
* Thu May 23 2019 Jerry James <loganjerry@gmail.com> - 2019.7-1
|
||||
- Rebase to 2019 update 7
|
||||
|
||||
* Thu May 9 2019 Jerry James <loganjerry@gmail.com> - 2019.6-1
|
||||
- Rebase to 2019 update 6
|
||||
- Add -attributes patch to silence gcc warnings
|
||||
|
||||
* Mon Mar 25 2019 Jerry James <loganjerry@gmail.com> - 2019.5-1
|
||||
- Rebase to 2019 update 5
|
||||
|
||||
* Mon Mar 4 2019 Jerry James <loganjerry@gmail.com> - 2019.4-1
|
||||
- Rebase to 2019 update 4
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2019.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Dec 8 2018 Jerry James <loganjerry@gmail.com> - 2019.3-1
|
||||
- Rebase to 2019 update 3
|
||||
|
||||
* Fri Nov 16 2018 Jerry James <loganjerry@gmail.com> - 2019.2-1
|
||||
- Rebase to 2019 update 2
|
||||
|
||||
* Thu Oct 4 2018 Jerry James <loganjerry@gmail.com> - 2019.1-1
|
||||
- Rebase to 2019 update 1
|
||||
- Drop special SSE2 build for 32-bit x86 as that is now default
|
||||
- Drop unneeded -cxxflags patch
|
||||
- Drop python 2 support (bz 1629761)
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2018.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Jul 3 2018 Jerry James <loganjerry@gmail.com> - 2018.5-1
|
||||
- Rebase to 2018 update 5
|
||||
- Run check script on all architectures
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2018.4-2
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Thu May 31 2018 Jerry James <loganjerry@gmail.com> - 2018.4-1
|
||||
- Rebase to 2018 update 4
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2018.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Tue Jan 30 2018 Jerry James <loganjerry@gmail.com> - 2018.2-4
|
||||
- Build libirml with the correct flags (bz 1540268)
|
||||
- Do not build with -mrtm
|
||||
|
||||
* Mon Jan 29 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2018.2-3
|
||||
- Fix Python 2 dependency from python3-tbb
|
||||
|
||||
* Fri Jan 26 2018 Jerry James <loganjerry@gmail.com> - 2018.2-2
|
||||
- Install libirml for the python interfaces
|
||||
|
||||
* Wed Jan 24 2018 Jerry James <loganjerry@gmail.com> - 2018.2-1
|
||||
- Rebase to 2018 update 2
|
||||
|
||||
* Sat Nov 25 2017 Jerry James <loganjerry@gmail.com> - 2018.1-1
|
||||
- Rebase to 2018 update 1
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2017.7-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2017.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Thu Jun 8 2017 Jerry James <loganjerry@gmail.com> - 2017.7-1
|
||||
- Rebase to 2017 update 7
|
||||
- Use the license macro
|
||||
- Ship the new cmake files in -devel
|
||||
|
||||
* Tue May 16 2017 Jerry James <loganjerry@gmail.com> - 2017.6-1
|
||||
- Rebase to 2017 update 6
|
||||
|
||||
* Fri Mar 17 2017 Jerry James <loganjerry@gmail.com> - 2017.5-1
|
||||
- Rebase to 2017 update 5
|
||||
- Change version scheme again to match upstream's change
|
||||
- New source URL on github
|
||||
- Drop upstreamed patch to fix detection of s390x as 64-bit arch
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2017-8.20161128
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Jan 02 2017 Dan Horák <dan[at]danny.cz> - 2017-7.20161128
|
||||
- Fix detection of s390x as 64-bit arch (#1379632)
|
||||
|
||||
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 2017-6.20161128
|
||||
- Rebuild for Python 3.6
|
||||
|
||||
* Fri Dec 2 2016 Jerry James <loganjerry@gmail.com> - 2017-5.20161128
|
||||
- Rebase to 2017 update 3
|
||||
- Drop upstreamed s390x patch
|
||||
|
||||
* Wed Nov 2 2016 Jerry James <loganjerry@gmail.com> - 2017-4.20161004
|
||||
- Rebase to 2017 update 2
|
||||
|
||||
* Fri Oct 07 2016 Dan Horák <dan[at]danny.cz> - 2017-3.20160916
|
||||
- Fix detection of s390x as 64-bit arch (#1379632)
|
||||
|
||||
* Fri Sep 30 2016 Jerry James <loganjerry@gmail.com> - 2017-2.20160916
|
||||
- New upstream release
|
||||
|
||||
* Thu Sep 22 2016 Jerry James <loganjerry@gmail.com> - 2017-1.20160722
|
||||
- Rebase to 2017, new upstream version numbering scheme
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.4-8.20160526
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Wed Jun 1 2016 Jerry James <loganjerry@gmail.com> - 4.4-7.20160526
|
||||
- Rebase to 4.4u5
|
||||
- Build in C++14 mode
|
||||
- Build the new python module
|
||||
|
||||
* Fri May 6 2016 Jerry James <loganjerry@gmail.com> - 4.4-6.20160413
|
||||
- Rebase to 4.4u4
|
||||
|
||||
* Mon Apr 4 2016 Jerry James <loganjerry@gmail.com> - 4.4-5.20160316
|
||||
- Add -fno-delete-null-pointer-checks to fix optimized code
|
||||
|
||||
* Fri Mar 18 2016 Jerry James <loganjerry@gmail.com> - 4.4-4.20160316
|
||||
- Updated upstream tarball
|
||||
- Link with RPM_LD_FLAGS
|
||||
|
||||
* Sat Feb 20 2016 Jerry James <loganjerry@gmail.com> - 4.4-3.20160128
|
||||
- Rebase to 4.4u3
|
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.4-2.20151115
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Jan 15 2016 Jerry James <loganjerry@gmail.com> - 4.4-1.20151115
|
||||
- Rebase to 4.4u2
|
||||
- Fix the mfence patch to actually emit a memory barrier (bz 1288314)
|
||||
- Build an sse2 version for i386 for better performance on capable CPUs
|
||||
- Enable use of C++0x features
|
||||
- Drop out-of-date CHANGES.txt from git
|
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.3-3.20141204
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 4.3-2.20141204
|
||||
- Rebuilt for GCC 5 C++11 ABI change
|
||||
|
||||
* Mon Jan 19 2015 Petr Machata <pmachata@redhat.com> - 4.3-1.20141204
|
||||
- Rebase to 4.3u2
|
||||
- Drop ExclusiveArch
|
||||
|
||||
* Thu Sep 25 2014 Karsten Hopp <karsten@redhat.com> 4.1-9.20130314
|
||||
- enable ppc64le and run 'make test' on that new arch
|
||||
|
||||
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1-8.20130314
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1-7.20130314
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Sun Jan 12 2014 Peter Robinson <pbrobinson@fedoraproject.org> 4.1-6.20130314
|
||||
- Build on aarch64, minor spec cleanups
|
||||
|
||||
* Tue Dec 3 2013 Petr Machata <pmachata@redhat.com> - 4.1-5.20130314
|
||||
- Fix building with -Werror=format-security (tbb-4.1-dont-snip-Wall.patch)
|
||||
|
||||
* Thu Oct 3 2013 Petr Machata <pmachata@redhat.com> - 4.1-4.20130314
|
||||
- Fix %%install to also install include files that are not named *.h
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1-3.20130314
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Tue May 28 2013 Petr Machata <pmachata@redhat.com> - 4.1-3.20130314
|
||||
- Enable ARM arches
|
||||
|
||||
* Wed May 22 2013 Petr Machata <pmachata@redhat.com> - 4.1-2.20130314
|
||||
- Fix mfence patch. Since the __TBB_full_memory_fence macro was
|
||||
function-call-like, it stole () intended for function invocation.
|
||||
|
||||
* Wed May 22 2013 Petr Machata <pmachata@redhat.com> - 4.1-1.20130314
|
||||
- Rebase to 4.1 update 3
|
||||
|
||||
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-7.20120408
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Tue Aug 28 2012 Petr Machata <pmachata@redhat.com> - 4.0-6.20120408
|
||||
- Fix build on PowerPC
|
||||
|
||||
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-5.20120408
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Thu Jun 7 2012 Petr Machata <pmachata@redhat.com> - 4.0-4.20120408
|
||||
- Rebase to 4.0 update 4
|
||||
- Refresh Getting_Started.pdf, Reference.pdf, Tutorial.pdf
|
||||
- Provide pkg-config files
|
||||
- Resolves: #825402
|
||||
|
||||
* Thu Apr 05 2012 Karsten Hopp <karsten@redhat.com> 4.0-3.20110809
|
||||
- tbb builds now on PPC(64)
|
||||
|
||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-2.20110809
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Tue Oct 18 2011 Petr Machata <pmachata@redhat.com> - 4.0-1.20110809
|
||||
- Rebase to 4.0
|
||||
- Port the mfence patch
|
||||
- Refresh the documentation bundle
|
||||
|
||||
* Tue Jul 26 2011 Petr Machata <pmachata@redhat.com> - 3.0-1.20110419
|
||||
- Rebase to 3.0-r6
|
||||
- Port both patches
|
||||
- Package Design_Patterns.pdf
|
||||
- Thanks to Richard Shaw for initial rebase patch
|
||||
- Resolves: #723043
|
||||
|
||||
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2-3.20090809
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Thu Jun 10 2010 Petr Machata <pmachata@redhat.com> - 2.2-2.20090809
|
||||
- Replace mfence instruction with xchg to make it run on ia32-class
|
||||
machines without SSE2.
|
||||
- Resolves: #600654
|
||||
|
||||
* Tue Nov 3 2009 Petr Machata <pmachata@redhat.com> - 2.2-1.20090809
|
||||
- New upstream 2.2
|
||||
- Resolves: #521571
|
||||
|
||||
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1-3.20080605
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1-2.20080605
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Fri Jun 13 2008 Petr Machata <pmachata@redhat.com> - 2.1-1.20080605
|
||||
- New upstream 2.1
|
||||
- Drop soname patch, parallel make patch, and GCC 4.3 patch
|
||||
|
||||
* Wed Feb 13 2008 Petr Machata <pmachata@redhat.com> - 2.0-4.20070927
|
||||
- Review fixes
|
||||
- Use updated URL
|
||||
- More timestamp preservation
|
||||
- Initial import into Fedora CVS
|
||||
|
||||
* Mon Feb 11 2008 Petr Machata <pmachata@redhat.com> - 2.0-3.20070927
|
||||
- Review fixes
|
||||
- Preserve timestamp of installed files
|
||||
- Fix soname not to contain "debug"
|
||||
|
||||
* Tue Feb 5 2008 Petr Machata <pmachata@redhat.com> - 2.0-2.20070927
|
||||
- Review fixes
|
||||
- GCC 4.3 patchset
|
||||
- Add BR util-linux net-tools
|
||||
- Add full URL to Source0
|
||||
- Build in debug mode to work around problems with GCC 4.3
|
||||
|
||||
* Mon Dec 17 2007 Petr Machata <pmachata@redhat.com> - 2.0-1.20070927
|
||||
- Initial package.
|
||||
- Using SONAME patch from Debian.
|
Loading…
Reference in New Issue
Block a user