Compare commits
No commits in common. "c8" and "c10s" have entirely different histories.
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
10
.gitignore
vendored
10
.gitignore
vendored
@ -1 +1,9 @@
|
|||||||
SOURCES/2018_U2.tar.gz
|
/Tutorial.pdf
|
||||||
|
/Reference.pdf
|
||||||
|
/Getting_Started.pdf
|
||||||
|
/Design_Patterns.pdf
|
||||||
|
tbb*/
|
||||||
|
*.rpm
|
||||||
|
.*.log
|
||||||
|
/tbb*.tgz
|
||||||
|
/*.tar.gz
|
||||||
|
@ -1 +0,0 @@
|
|||||||
1d3e011649dbe9259156b6cb0fe15f375abd8f9c SOURCES/2018_U2.tar.gz
|
|
@ -1,14 +0,0 @@
|
|||||||
diff -up tbb44_20151115oss/include/tbb/machine/linux_ia32.h\~ tbb44_20151115oss/include/tbb/machine/linux_ia32.h
|
|
||||||
--- tbb44_20151115oss/include/tbb/machine/linux_ia32.h~ 2015-11-25 03:49:14.000000000 -0700
|
|
||||||
+++ tbb44_20151115oss/include/tbb/machine/linux_ia32.h 2016-01-14 20:29:45.251333321 -0700
|
|
||||||
@@ -34,7 +34,7 @@
|
|
||||||
#define __TBB_control_consistency_helper() __TBB_compiler_fence()
|
|
||||||
#define __TBB_acquire_consistency_helper() __TBB_compiler_fence()
|
|
||||||
#define __TBB_release_consistency_helper() __TBB_compiler_fence()
|
|
||||||
-#define __TBB_full_memory_fence() __asm__ __volatile__("mfence": : :"memory")
|
|
||||||
+#define __TBB_full_memory_fence() __sync_synchronize()
|
|
||||||
|
|
||||||
#if __TBB_ICC_ASM_VOLATILE_BROKEN
|
|
||||||
#define __TBB_VOLATILE
|
|
||||||
|
|
||||||
Diff finished. Thu Jan 14 20:30:12 2016
|
|
@ -1,14 +0,0 @@
|
|||||||
diff -up tbb44_20151115oss/build/Makefile.tbbmalloc\~ tbb44_20151115oss/build/Makefile.tbbmalloc
|
|
||||||
--- tbb44_20151115oss/build/Makefile.tbbmalloc~ 2016-01-14 20:20:49.514774850 -0700
|
|
||||||
+++ tbb44_20151115oss/build/Makefile.tbbmalloc 2016-01-14 20:36:32.126342096 -0700
|
|
||||||
@@ -51,7 +51,7 @@ 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 := $(subst $(WARNING_KEY),,$(M_CPLUS_FLAGS)) $(CXXFLAGS) $(DEFINE_KEY)__TBBMALLOC_BUILD=1
|
|
||||||
+M_CPLUS_FLAGS := $(CXXFLAGS) -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
|
|
||||||
|
|
||||||
Diff finished. Thu Jan 14 20:37:02 2016
|
|
@ -1,37 +0,0 @@
|
|||||||
diff -up tbb-2018_U2/build/linux.gcc.inc\~ tbb-2018_U2/build/linux.gcc.inc
|
|
||||||
--- tbb-2018_U2/build/linux.gcc.inc~ 2017-12-06 10:29:49.000000000 -0700
|
|
||||||
+++ tbb-2018_U2/build/linux.gcc.inc 2018-01-22 20:47:07.148422967 -0700
|
|
||||||
@@ -68,10 +68,10 @@ ifneq (,$(shell gcc -dumpversion | egrep
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(cfg), release)
|
|
||||||
- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
|
|
||||||
+ CPLUS_FLAGS = $(CXXFLAGS) $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
|
|
||||||
endif
|
|
||||||
ifeq ($(cfg), debug)
|
|
||||||
- CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
|
|
||||||
+ CPLUS_FLAGS = $(CXXFLAGS) -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
|
|
||||||
endif
|
|
||||||
|
|
||||||
TBB_ASM.OBJ=
|
|
||||||
diff -up tbb-2018_U2/build/Makefile.tbbmalloc\~ tbb-2018_U2/build/Makefile.tbbmalloc
|
|
||||||
--- tbb-2018_U2/build/Makefile.tbbmalloc~ 2017-12-06 10:29:49.000000000 -0700
|
|
||||||
+++ tbb-2018_U2/build/Makefile.tbbmalloc 2018-01-22 20:47:30.104350662 -0700
|
|
||||||
@@ -51,7 +51,7 @@ 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 := $(subst $(WARNING_KEY),,$(M_CPLUS_FLAGS)) $(DEFINE_KEY)__TBBMALLOC_BUILD=1
|
|
||||||
+M_CPLUS_FLAGS := $(subst $(WARNING_KEY),,$(M_CPLUS_FLAGS)) $(CXXFLAGS) $(DEFINE_KEY)__TBBMALLOC_BUILD=1
|
|
||||||
M_INCLUDES := $(INCLUDES) $(INCLUDE_KEY)$(MALLOC_ROOT) $(INCLUDE_KEY)$(MALLOC_SOURCE_ROOT)
|
|
||||||
|
|
||||||
# Suppress superfluous warnings for TBBMalloc compilation
|
|
||||||
@@ -86,7 +86,7 @@ $(MALLOC.DLL) $(MALLOCPROXY.DLL): CPLUS_
|
|
||||||
$(MALLOC.DLL) $(MALLOCPROXY.DLL): M_CPLUS_FLAGS += $(SDL_FLAGS)
|
|
||||||
$(MALLOC.DLL): BUILDING_LIBRARY = $(MALLOC.DLL)
|
|
||||||
$(MALLOC.DLL): $(MALLOC.OBJ) $(MALLOC.RES) $(MALLOC_NO_VERSION.DLL)
|
|
||||||
- $(subst $(CPLUS),$(CONLY),$(LIB_LINK_CMD)) $(LIB_OUTPUT_KEY)$(MALLOC.DLL) $(MALLOC.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(MALLOC_LINK_FLAGS)
|
|
||||||
+ $(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(MALLOC.DLL) $(MALLOC.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(MALLOC_LINK_FLAGS)
|
|
||||||
|
|
||||||
ifneq (,$(MALLOCPROXY.DEF))
|
|
||||||
tbbmallocproxy.def: $(MALLOCPROXY.DEF)
|
|
556
SPECS/tbb.spec
556
SPECS/tbb.spec
@ -1,556 +0,0 @@
|
|||||||
%global upver 2018
|
|
||||||
%global uprel 2
|
|
||||||
|
|
||||||
Name: tbb
|
|
||||||
Summary: The Threading Building Blocks library abstracts low-level threading details
|
|
||||||
Version: %{upver}%{?uprel:.%{uprel}}
|
|
||||||
Release: 10%{?dist}.1
|
|
||||||
License: ASL 2.0
|
|
||||||
Group: Development/Tools
|
|
||||||
URL: http://threadingbuildingblocks.org/
|
|
||||||
|
|
||||||
Source0: https://github.com/01org/tbb/archive/%{upver}%{?uprel:_U%{uprel}}.tar.gz
|
|
||||||
# These three are downstream sources.
|
|
||||||
Source6: tbb.pc
|
|
||||||
Source7: tbbmalloc.pc
|
|
||||||
Source8: tbbmalloc_proxy.pc
|
|
||||||
|
|
||||||
# Propagate CXXFLAGS variable into flags used when compiling C++.
|
|
||||||
# This is so that RPM_OPT_FLAGS are respected.
|
|
||||||
Patch1: tbb-4.4-cxxflags.patch
|
|
||||||
|
|
||||||
# For 32-bit x86 only, don't assume that the mfence instruction is available.
|
|
||||||
# It was added with SSE2. This patch causes a lock xchg instruction to be
|
|
||||||
# emitted for non-SSE2 builds, and the mfence instruction to be emitted for
|
|
||||||
# SSE2-enabled builds.
|
|
||||||
Patch2: tbb-4.0-mfence.patch
|
|
||||||
|
|
||||||
# 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
|
|
||||||
Patch3: tbb-4.3-dont-snip-Wall.patch
|
|
||||||
|
|
||||||
# python3 is not available on RHEL <=7
|
|
||||||
%if 0%{?rhel} && 0%{?rhel} <= 7
|
|
||||||
# disable python3 by default
|
|
||||||
%bcond_with python3
|
|
||||||
%else
|
|
||||||
%bcond_without python3
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# python2 is not available on RHEL > 7 and not needed on Fedora > 28
|
|
||||||
%if 0%{?rhel} > 7 || 0%{?fedora} > 28
|
|
||||||
# disable python2 by default
|
|
||||||
%bcond_with python2
|
|
||||||
%else
|
|
||||||
%bcond_without python2
|
|
||||||
%endif
|
|
||||||
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
BuildRequires: swig
|
|
||||||
|
|
||||||
%if %{with python2}
|
|
||||||
BuildRequires: python2-devel
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with python3}
|
|
||||||
BuildRequires: python3-devel
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%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
|
|
||||||
Group: 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
|
|
||||||
Group: Documentation
|
|
||||||
|
|
||||||
%description doc
|
|
||||||
HTML documentation for the user of the Threading Building Block (TBB)
|
|
||||||
C++ library.
|
|
||||||
|
|
||||||
%if %{with python2}
|
|
||||||
%package -n python2-%{name}
|
|
||||||
Summary: Python 2 TBB module
|
|
||||||
%{?python_provide:%python_provide python2-%{name}}
|
|
||||||
Requires: tbb = %{version}-%{release}
|
|
||||||
|
|
||||||
%description -n python2-%{name}
|
|
||||||
Python 2 TBB module.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with python3}
|
|
||||||
%package -n python3-%{name}
|
|
||||||
Summary: Python 3 TBB module
|
|
||||||
%{?python_provide:%python_provide python3-%{name}}
|
|
||||||
Requires: tbb = %{version}-%{release}
|
|
||||||
|
|
||||||
%description -n python3-%{name}
|
|
||||||
Python 3 TBB module.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q -n %{name}-%{upver}_U%{uprel}
|
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
|
|
||||||
# For repeatable builds, don't query the hostname or architecture
|
|
||||||
sed -i 's/"`hostname -s`" ("`uname -m`"/fedorabuild (%{_arch}/' \
|
|
||||||
build/version_info_linux.sh
|
|
||||||
|
|
||||||
# Do not assume the RTM instructions are available
|
|
||||||
sed -i 's/-mrtm//' build/linux.gcc.inc
|
|
||||||
|
|
||||||
%if %{with python2}
|
|
||||||
# Invoke the right python binary directly
|
|
||||||
sed -i 's,env python,python2,' python/TBB.py python/tbb/__*.py
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with python3}
|
|
||||||
# Invoke the right python binary directly
|
|
||||||
sed -i 's,env python,python3,' python/TBB.py python/tbb/__*.py
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Remove shebang from files that don't need it
|
|
||||||
sed -i '/^#!/d' python/tbb/{pool,test}.py
|
|
||||||
|
|
||||||
# Fix libdir on 64-bit systems
|
|
||||||
if [ "%{_libdir}" != "%{_prefix}/lib" ]; then
|
|
||||||
sed -i.orig 's/"lib"/"%{_lib}"/' cmake/TBBMakeConfig.cmake
|
|
||||||
touch -r cmake/TBBMakeConfig.cmake.orig cmake/TBBMakeConfig.cmake
|
|
||||||
rm cmake/TBBMakeConfig.cmake.orig
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Prepare to build the python module for both python 2 and python 3
|
|
||||||
%if %{with python2}
|
|
||||||
cp -a python python2
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with python3}
|
|
||||||
cp -a python python3
|
|
||||||
sed -i 's,python,python3,g' python3/Makefile python3/rml/Makefile
|
|
||||||
sed -i 's,python2,python3,' python3/TBB.py python3/tbb/__*.py
|
|
||||||
|
|
||||||
# Invoke Python with the %%{__python3} executable instead of hardcoded python3
|
|
||||||
sed -i 's,PY_SETUP=python3,PY_SETUP=%{__python3},g' python3/Makefile
|
|
||||||
sed -i 's,python3 -m tbb test,%{__python3} -m tbb test,g' python3/Makefile
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Remove jQuery
|
|
||||||
rm doc/html/jquery.js
|
|
||||||
find doc/html -name '*.html' | xargs sed -i '/<script type="text.javascript" src="jquery.js"><.script>/d'
|
|
||||||
|
|
||||||
%build
|
|
||||||
%ifarch %{ix86}
|
|
||||||
# Build an SSE2-enabled version so the mfence instruction can be used
|
|
||||||
cp -a build build.orig
|
|
||||||
make %{?_smp_mflags} tbb_build_prefix=obj stdver=c++14 \
|
|
||||||
CXXFLAGS="$RPM_OPT_FLAGS -march=pentium4 -msse2" \
|
|
||||||
LDFLAGS="-Wl,--as-needed $RPM_LD_FLAGS"
|
|
||||||
mv build build.sse2
|
|
||||||
mv build.orig build
|
|
||||||
%endif
|
|
||||||
|
|
||||||
make %{?_smp_mflags} tbb_build_prefix=obj stdver=c++14 \
|
|
||||||
CXXFLAGS="$RPM_OPT_FLAGS" \
|
|
||||||
LDFLAGS="-Wl,--as-needed $RPM_LD_FLAGS"
|
|
||||||
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 2
|
|
||||||
%if %{with python2}
|
|
||||||
. build/obj_release/tbbvars.sh
|
|
||||||
pushd python2
|
|
||||||
make %{?_smp_mflags} -C rml stdver=c++14 \
|
|
||||||
CPLUS_FLAGS="%{optflags} -DDO_ITT_NOTIFY -DUSE_PTHREAD" \
|
|
||||||
PIC_KEY="-fPIC -Wl,--as-needed" \
|
|
||||||
LDFLAGS="$RPM_LD_FLAGS"
|
|
||||||
cp -p rml/libirml.so* .
|
|
||||||
%py2_build
|
|
||||||
popd
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with python3}
|
|
||||||
# Build for python 3
|
|
||||||
. build/obj_release/tbbvars.sh
|
|
||||||
pushd python3
|
|
||||||
make %{?_smp_mflags} -C rml stdver=c++14 \
|
|
||||||
CPLUS_FLAGS="%{optflags} -DDO_ITT_NOTIFY -DUSE_PTHREAD" \
|
|
||||||
PIC_KEY="-fPIC -Wl,--as-needed" \
|
|
||||||
LDFLAGS="$RPM_LD_FLAGS"
|
|
||||||
cp -p rml/libirml.so* .
|
|
||||||
%py3_build
|
|
||||||
popd
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%check
|
|
||||||
echo ============BEGIN TESTING===============
|
|
||||||
make -k test tbb_build_prefix=obj stdver=c++14 CXXFLAGS="$RPM_OPT_FLAGS" && true
|
|
||||||
echo ============END TESTING===========
|
|
||||||
|
|
||||||
%install
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_libdir}
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_includedir}
|
|
||||||
|
|
||||||
%ifarch %{ix86}
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/sse2
|
|
||||||
pushd build.sse2/obj_release
|
|
||||||
for file in libtbb{,malloc{,_proxy}}; do
|
|
||||||
install -p -D -m 755 ${file}.so.2 $RPM_BUILD_ROOT/%{_libdir}/sse2
|
|
||||||
done
|
|
||||||
popd
|
|
||||||
%endif
|
|
||||||
|
|
||||||
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 2 install
|
|
||||||
%if %{with python2}
|
|
||||||
. build/obj_release/tbbvars.sh
|
|
||||||
pushd python2
|
|
||||||
%py2_install
|
|
||||||
chmod a+x $RPM_BUILD_ROOT%{python2_sitearch}/TBB.py
|
|
||||||
chmod a+x $RPM_BUILD_ROOT%{python2_sitearch}/tbb/__*.py
|
|
||||||
cp -p libirml.so.1 $RPM_BUILD_ROOT%{_libdir}
|
|
||||||
ln -s libirml.so.1 $RPM_BUILD_ROOT%{_libdir}/libirml.so
|
|
||||||
popd
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Python 3 install
|
|
||||||
%if %{with python3}
|
|
||||||
pushd python3
|
|
||||||
%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
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Install the cmake files
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_libdir}/cmake
|
|
||||||
cp -a cmake $RPM_BUILD_ROOT%{_libdir}/cmake/%{name}
|
|
||||||
rm $RPM_BUILD_ROOT%{_libdir}/cmake/%{name}/README.rst
|
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%postun -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%files
|
|
||||||
%doc doc/Release_Notes.txt README.md
|
|
||||||
%license LICENSE
|
|
||||||
%{_libdir}/*.so.2
|
|
||||||
%{_libdir}/libirml.so.1
|
|
||||||
%ifarch %{ix86}
|
|
||||||
%{_libdir}/sse2/*.so.2
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%doc CHANGES cmake/README.rst
|
|
||||||
%{_includedir}/rml
|
|
||||||
%{_includedir}/tbb
|
|
||||||
%{_libdir}/*.so
|
|
||||||
%{_libdir}/cmake/
|
|
||||||
%{_libdir}/pkgconfig/*.pc
|
|
||||||
|
|
||||||
%files doc
|
|
||||||
%doc doc/Release_Notes.txt
|
|
||||||
%doc doc/html
|
|
||||||
|
|
||||||
%if %{with python2}
|
|
||||||
%files -n python2-%{name}
|
|
||||||
%doc python/index.html
|
|
||||||
%{python2_sitearch}/TBB*
|
|
||||||
%{python2_sitearch}/tbb/
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with python3}
|
|
||||||
%files -n python3-%{name}
|
|
||||||
%doc python3/index.html
|
|
||||||
%{python3_sitearch}/TBB*
|
|
||||||
%{python3_sitearch}/tbb/
|
|
||||||
%{python3_sitearch}/__pycache__/TBB*
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Tue Feb 04 2025 Jonathan Wakely <jwakely@redhat.com> - 2018.2-10.1
|
|
||||||
- Remove jQuery from Doxygen files (RHEL-77669)
|
|
||||||
|
|
||||||
* Wed Feb 03 2021 Thomas Rodgers <trodgers@redhat.com> - 2018.2-10
|
|
||||||
- Apply patches from (BZ #1907561)
|
|
||||||
- Bump release
|
|
||||||
|
|
||||||
* Sun Dec 20 2020 Owen Taylor <otaylor@redhat.com> - 2018.2-9
|
|
||||||
- Fix build directory referenced in python2 build
|
|
||||||
- Move some python3 code that escaped back into a conditional
|
|
||||||
(BZ #1907561)
|
|
||||||
|
|
||||||
* Tue Nov 13 2018 Patsy Griffin Franklin <pfrankli@redhat.com> - 2018.2-9
|
|
||||||
- Require the correct version of tbb for python2-tbb and python3-tbb.
|
|
||||||
(BZ #1638041)
|
|
||||||
|
|
||||||
* Fri Sep 28 2018 Patsy Griffin Franklin <pfrankli@redhat.com> - 2018.2-8
|
|
||||||
- Run check for all supported architectures.
|
|
||||||
|
|
||||||
* Wed Aug 01 2018 Patsy Griffin Franklin <pfrankli@redhat.com> - 2018.2-7
|
|
||||||
- Selectively build python2 or python3 based on current version.
|
|
||||||
- Don't use pathfix.py as it fails prep on RHEL when building on systems
|
|
||||||
do not have python installled.
|
|
||||||
|
|
||||||
* Tue Jul 03 2018 Tomas Orsava <torsava@redhat.com> - 2018.2-6
|
|
||||||
- Switch hardcoded python3 path into the %%{__python3} macro
|
|
||||||
|
|
||||||
* 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.
|
|
25
gating.yaml
Normal file
25
gating.yaml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- fedora-*
|
||||||
|
decision_context: bodhi_update_push_stable
|
||||||
|
subject_type: koji_build
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-8
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-9
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-10
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
5
plans/ci.fmf
Normal file
5
plans/ci.fmf
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
summary: CI Gating Plan
|
||||||
|
discover:
|
||||||
|
how: fmf
|
||||||
|
execute:
|
||||||
|
how: tmt
|
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
|||||||
|
SHA512 (tbb-2021.11.0.tar.gz) = 4779141b7602f2fa3a509fdd346824ba270a3a568df3649ce8cb51264d233df5cec5e5cb67b91319dd11d3d5e054697b4ed345e07216107985ddb6e1e7ef94e5
|
43
tbb-2019-dont-snip-Wall.patch
Normal file
43
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
tbb-2019-test-task-scheduler-init.patch
Normal file
12
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
tbb-2019-test-thread-monitor.patch
Normal file
56
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
tbb-2020-attributes.patch
Normal file
54
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
|
37
tbb-2020-task-namespace.patch
Normal file
37
tbb-2020-task-namespace.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From c18342ba667d1f33f5e9a773aa86b091a9694b97 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sergei Trofimovich <slyich@gmail.com>
|
||||||
|
Date: Fri, 20 May 2022 07:50:00 +0100
|
||||||
|
Subject: [PATCH] tbb_2020: fix build on gcc-13
|
||||||
|
|
||||||
|
On gcc-13 build started failing due to 'task' identifier collision as:
|
||||||
|
|
||||||
|
../../include/tbb/task.h:300:20: error: declaration of 'tbb::task& tbb::internal::task_prefix::task()' changes meaning of 'task' [-fpermissive]
|
||||||
|
300 | tbb::task& task() {return *reinterpret_cast<tbb::task*>(this+1);}
|
||||||
|
| ^~~~
|
||||||
|
../../include/tbb/task.h:252:9: note: used here to mean 'class tbb::task'
|
||||||
|
252 | task* next_offloaded;
|
||||||
|
| ^~~~
|
||||||
|
../../include/tbb/task.h:43:7: note: declared here
|
||||||
|
43 | class task;
|
||||||
|
| ^~~~
|
||||||
|
|
||||||
|
The change adds explicit qualifier to class name to avoid ambiguity with method name.
|
||||||
|
|
||||||
|
Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
|
||||||
|
---
|
||||||
|
include/tbb/task.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/include/tbb/task.h b/include/tbb/task.h
|
||||||
|
index 5e137c6999..b5fb1ac35e 100644
|
||||||
|
--- a/include/tbb/task.h
|
||||||
|
+++ b/include/tbb/task.h
|
||||||
|
@@ -249,7 +249,7 @@ namespace internal {
|
||||||
|
#if __TBB_TASK_PRIORITY
|
||||||
|
//! Pointer to the next offloaded lower priority task.
|
||||||
|
/** Used to maintain a list of offloaded tasks inside the scheduler. **/
|
||||||
|
- task* next_offloaded;
|
||||||
|
+ tbb::task* next_offloaded;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __TBB_PREVIEW_RESUMABLE_TASKS
|
30
tbb-2021-Werror.patch
Normal file
30
tbb-2021-Werror.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
diff -up oneTBB-2021.11.0/cmake/compilers/Clang.cmake.orig oneTBB-2021.11.0/cmake/compilers/Clang.cmake
|
||||||
|
--- oneTBB-2021.11.0/cmake/compilers/Clang.cmake.orig 2023-11-17 09:23:05.000000000 -0700
|
||||||
|
+++ oneTBB-2021.11.0/cmake/compilers/Clang.cmake 2023-12-28 20:35:24.422191660 -0700
|
||||||
|
@@ -46,11 +46,6 @@ endif()
|
||||||
|
set(TBB_WARNING_LEVEL -Wall -Wextra $<$<BOOL:${TBB_STRICT}>:-Werror>)
|
||||||
|
set(TBB_TEST_WARNING_FLAGS -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor)
|
||||||
|
|
||||||
|
-# 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)
|
||||||
|
-endif()
|
||||||
|
-
|
||||||
|
# Enable Intel(R) Transactional Synchronization Extensions (-mrtm) and WAITPKG instructions support (-mwaitpkg) on relevant processors
|
||||||
|
if (CMAKE_SYSTEM_PROCESSOR MATCHES "(AMD64|amd64|i.86|x86)")
|
||||||
|
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm $<$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},12.0>>:-mwaitpkg>)
|
||||||
|
diff -up oneTBB-2021.11.0/cmake/compilers/GNU.cmake.orig oneTBB-2021.11.0/cmake/compilers/GNU.cmake
|
||||||
|
--- oneTBB-2021.11.0/cmake/compilers/GNU.cmake.orig 2023-11-17 09:23:05.000000000 -0700
|
||||||
|
+++ oneTBB-2021.11.0/cmake/compilers/GNU.cmake 2023-12-28 20:37:54.828060692 -0700
|
||||||
|
@@ -42,11 +42,6 @@ endif()
|
||||||
|
|
||||||
|
set(TBB_COMMON_LINK_LIBS ${CMAKE_DL_LIBS})
|
||||||
|
|
||||||
|
-# 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)
|
||||||
|
-endif()
|
||||||
|
-
|
||||||
|
if (NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL Intel)
|
||||||
|
# gcc 6.0 and later have -flifetime-dse option that controls elimination of stores done outside the object lifetime
|
||||||
|
set(TBB_DSE_FLAG $<$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},6.0>>:-flifetime-dse=1>)
|
12
tbb-2021-strict-aliasing.patch
Normal file
12
tbb-2021-strict-aliasing.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up oneTBB-2021.7.0/src/tbbmalloc/frontend.cpp.orig oneTBB-2021.7.0/src/tbbmalloc/frontend.cpp
|
||||||
|
--- oneTBB-2021.6.0/src/tbbmalloc/frontend.cpp.orig 2022-10-07 08:34:12.000000000 -0600
|
||||||
|
+++ oneTBB-2021.6.0/src/tbbmalloc/frontend.cpp 2022-11-03 13:28:39.050045201 -0600
|
||||||
|
@@ -1516,7 +1516,7 @@ bool Block::readyToShare()
|
||||||
|
{
|
||||||
|
MallocMutex::scoped_lock scoped_cs(publicFreeListLock);
|
||||||
|
if ( (oldVal=publicFreeList)==nullptr )
|
||||||
|
- (intptr_t&)(publicFreeList) = UNUSABLE;
|
||||||
|
+ publicFreeList = reinterpret_cast<FreeObject *>(UNUSABLE);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return oldVal==nullptr;
|
26
tbb-mark-empty_task-execute-with-gnu-used.patch
Normal file
26
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
|
||||||
|
|
8
tbb.rpmlintrc
Normal file
8
tbb.rpmlintrc
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# THIS FILE IS FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON
|
||||||
|
# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors
|
||||||
|
|
||||||
|
# The dictionary lacks some technical words
|
||||||
|
addFilter(r'spelling-error .* symlinks')
|
||||||
|
|
||||||
|
# We use whatever version of jquery doxygen gives us
|
||||||
|
addFilter(r'W: unversioned-explicit-provides bundled\(jquery\)')
|
575
tbb.spec
Normal file
575
tbb.spec
Normal file
@ -0,0 +1,575 @@
|
|||||||
|
# If docs should point to local python3-docs rather than website.
|
||||||
|
# python3-docs is not shipped in RHEL 9+
|
||||||
|
%bcond py3docs %{undefined rhel}
|
||||||
|
|
||||||
|
Name: tbb
|
||||||
|
Summary: The Threading Building Blocks library abstracts low-level threading details
|
||||||
|
Version: 2021.11.0
|
||||||
|
Release: 7%{?dist}
|
||||||
|
License: Apache-2.0 AND BSD-3-Clause
|
||||||
|
URL: http://threadingbuildingblocks.org/
|
||||||
|
|
||||||
|
Source0: https://github.com/oneapi-src/oneTBB/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
|
# These two are downstream sources.
|
||||||
|
Source7: tbbmalloc.pc
|
||||||
|
Source8: tbbmalloc_proxy.pc
|
||||||
|
|
||||||
|
# TBB tries to remove -Werror from the compiler flags, which turns
|
||||||
|
# -Werror=format-security into =format-security
|
||||||
|
Patch0: tbb-2021-Werror.patch
|
||||||
|
|
||||||
|
# Fix code that violates the strict aliasing rules.
|
||||||
|
Patch1: tbb-2021-strict-aliasing.patch
|
||||||
|
|
||||||
|
BuildRequires: cmake
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: hwloc
|
||||||
|
BuildRequires: hwloc-devel
|
||||||
|
BuildRequires: make
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
%if %{with py3docs}
|
||||||
|
BuildRequires: python3-docs
|
||||||
|
%endif
|
||||||
|
BuildRequires: %{py3_dist setuptools}
|
||||||
|
BuildRequires: %{py3_dist sphinx}
|
||||||
|
BuildRequires: %{py3_dist sphinx-rtd-theme}
|
||||||
|
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 bind
|
||||||
|
Summary: NUMA support library for TBB
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description bind
|
||||||
|
NUMA support library for TBB, allowing the binding of tasks to selected
|
||||||
|
CPU cores.
|
||||||
|
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: The Threading Building Blocks C++ headers and shared development libraries
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: %{name}-bind%{?_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
|
||||||
|
%ifarch %{ix86}
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2174300
|
||||||
|
Conflicts: %{name}-doc.x86_64
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
PDF documentation for the user of the Threading Building Block (TBB)
|
||||||
|
C++ library.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n python3-%{name}
|
||||||
|
Summary: Python 3 TBB module
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n python3-%{name}
|
||||||
|
Python 3 TBB module.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n oneTBB-%{version}
|
||||||
|
|
||||||
|
# Invoke the right python binary directly
|
||||||
|
for fil in $(grep -Frl %{_bindir}/env python); do
|
||||||
|
sed -i.orig 's,env python3,python3,' $fil
|
||||||
|
touch -r $fil.orig $fil
|
||||||
|
rm $fil.orig
|
||||||
|
done
|
||||||
|
|
||||||
|
%if %{with py3docs}
|
||||||
|
# Use local objects.inv for intersphinx
|
||||||
|
sed -e "s|\('https://docs\.python\.org/': \)None|\1'%{_docdir}/python3-docs/html/objects.inv'|" \
|
||||||
|
-i doc/GSG/conf.py doc/main/conf.py
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%generate_buildrequires
|
||||||
|
cd python
|
||||||
|
%pyproject_buildrequires
|
||||||
|
|
||||||
|
%build
|
||||||
|
export TBBROOT=$PWD
|
||||||
|
export PYTHONPATH=$(sed "s,%{_prefix},$PWD/%{_vpath_builddir}/python/build," <<< %{python3_sitearch})
|
||||||
|
%cmake \
|
||||||
|
-DCMAKE_CXX_STANDARD=17 \
|
||||||
|
-DTBB4PY_BUILD:BOOL=ON \
|
||||||
|
-DTBB_STRICT:BOOL=OFF \
|
||||||
|
-DCMAKE_HWLOC_2_4_LIBRARY_PATH=%{_libdir}/libhwloc.so \
|
||||||
|
-DCMAKE_HWLOC_2_4_INCLUDE_PATH=%{_includedir}/hwloc \
|
||||||
|
%cmake_build
|
||||||
|
|
||||||
|
# The python package is not built the Fedora way. Do it over.
|
||||||
|
unset PYTHONPATH
|
||||||
|
export LD_LIBRARY_PATH=$(ls -1d $PWD/%{_vpath_builddir}/*relwithdebinfo)
|
||||||
|
export LDFLAGS="-L $LD_LIBRARY_PATH %{build_ldflags}"
|
||||||
|
cd python
|
||||||
|
%pyproject_wheel
|
||||||
|
cd -
|
||||||
|
|
||||||
|
# Build documentation
|
||||||
|
export BUILD_TYPE=oneapi
|
||||||
|
sphinx-build doc/GSG getting-started
|
||||||
|
sphinx-build doc/main html
|
||||||
|
|
||||||
|
%install
|
||||||
|
%cmake_install
|
||||||
|
|
||||||
|
# The python package is not installed the Fedora way. Do it over.
|
||||||
|
rm -fr %{buildroot}%{python3_sitearch}
|
||||||
|
cd python
|
||||||
|
%pyproject_install
|
||||||
|
cd -
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
|
||||||
|
for file in %{SOURCE7} %{SOURCE8}; do
|
||||||
|
target=%{buildroot}/%{_libdir}/pkgconfig/$(basename ${file})
|
||||||
|
sed 's/_FEDORA_VERSION/%{version}/' $file > $target
|
||||||
|
touch -r $file $target
|
||||||
|
done
|
||||||
|
|
||||||
|
# Upstream installs tbb32.pc on 32-bit but it's already in a separate directory
|
||||||
|
# because %_libdir is different for 32-bit and 64-bit, so rename it to tbb.pc.
|
||||||
|
if [ -f %{buildroot}/%{_libdir}/pkgconfig/%{name}32.pc ]; then
|
||||||
|
mv %{buildroot}/%{_libdir}/pkgconfig/%{name}32.pc %{buildroot}/%{_libdir}/pkgconfig/%{name}.pc
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -fr %{buildroot}%{_datadir}/doc
|
||||||
|
|
||||||
|
%check
|
||||||
|
# Running the tests in parallel often leads to resource exhaustion.
|
||||||
|
ctest --output-on-failure --force-new-ctest-process
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc README.md
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{_libdir}/libtbb.so.12*
|
||||||
|
%{_libdir}/libtbbmalloc.so.2*
|
||||||
|
%{_libdir}/libtbbmalloc_proxy.so.2*
|
||||||
|
%{_libdir}/libirml.so.1
|
||||||
|
|
||||||
|
%files bind
|
||||||
|
%{_libdir}/libtbbbind_2_5.so.3*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%doc cmake/README.md
|
||||||
|
%{_includedir}/oneapi/
|
||||||
|
%{_includedir}/tbb/
|
||||||
|
%{_libdir}/*.so
|
||||||
|
%{_libdir}/cmake/TBB/
|
||||||
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
|
||||||
|
%files doc
|
||||||
|
%doc getting-started html
|
||||||
|
|
||||||
|
%files -n python3-%{name}
|
||||||
|
%doc python/README.md
|
||||||
|
%{python3_sitearch}/TBB*
|
||||||
|
%{python3_sitearch}/tbb/
|
||||||
|
%{python3_sitearch}/__pycache__/TBB*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2021.11.0-7
|
||||||
|
- Bump release for October 2024 mass rebuild:
|
||||||
|
Resolves: RHEL-64018
|
||||||
|
|
||||||
|
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2021.11.0-6
|
||||||
|
- Bump release for June 2024 mass rebuild
|
||||||
|
|
||||||
|
* Thu Jan 25 2024 Jonathan Wakely <jwakely@fedoraproject.org> - 2021.11.0-5
|
||||||
|
- Remove Requires:python3-docs for tbb-doc subpackage
|
||||||
|
|
||||||
|
* Mon Jan 22 2024 Jonathan Wakely <jwakely@fedoraproject.org> - 2021.11.0-4
|
||||||
|
- Rename 32-bit arch /usr/lib/pkgconfig/tbb32.pc to tbb.pc
|
||||||
|
|
||||||
|
* Fri Jan 19 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 2021.11.0-3
|
||||||
|
- Avoid python3-docs dependency on RHEL
|
||||||
|
|
||||||
|
* Wed Jan 17 2024 Jonathan Wakely <jwakely@fedoraproject.org> - 2021.11.0-2
|
||||||
|
- Add patch for strict aliasing violation
|
||||||
|
|
||||||
|
* Thu Dec 28 2023 Jerry James <loganjerry@gmail.com> - 2021.11.0-1
|
||||||
|
- Rebase to version 2021.11.0
|
||||||
|
- New -bind subpackage for the NUMA support library
|
||||||
|
- Build with cmake
|
||||||
|
- Minor spec file cleanups
|
||||||
|
|
||||||
|
* Thu Aug 10 2023 Jonathan Wakely <jwakely@fedoraproject.org> - 2020.3-21
|
||||||
|
- SPDX migration
|
||||||
|
|
||||||
|
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2020.3-20
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jun 28 2023 Python Maint <python-maint@redhat.com> - 2020.3-19
|
||||||
|
- Rebuilt for Python 3.12
|
||||||
|
|
||||||
|
* Tue Jun 27 2023 Jonathan Wakely <jwakely@fedoraproject.org> - 2020.3-18
|
||||||
|
- Add conflicts tag for tbb-doc (#2174300)
|
||||||
|
- Remove outdated provides for bundled(jquery)
|
||||||
|
|
||||||
|
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 2020.3-17
|
||||||
|
- Rebuilt for Python 3.12
|
||||||
|
|
||||||
|
* Tue Feb 21 2023 Jonathan Wakely <jwakely@redhat.com> - 2020.3-16
|
||||||
|
- Add versioned Requires: to python module
|
||||||
|
|
||||||
|
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2020.3-15
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 16 2023 Thomas Rodgers <trodgers@redhat.com> - 2020.3-14
|
||||||
|
- Fix build failure with GCC13 (bz 2161412)
|
||||||
|
|
||||||
|
* Wed Jan 11 2023 Thomas Rodgers <trodgers@redhat.com> - 2020.3-13
|
||||||
|
- Fix build failure with Python 3.12.0 (bz 2154975)
|
||||||
|
|
||||||
|
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2020.3-12
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2020.3-11
|
||||||
|
- Rebuilt for Python 3.11
|
||||||
|
|
||||||
|
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2020.3-10
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2020.3-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jun 09 2021 Thomas Rodgers <trodgers@redhat.com> - 2020.3-8
|
||||||
|
- Merge change to remove baseos-qe.koji-build.scratch-build.validation ahajkova
|
||||||
|
|
||||||
|
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2020.3-7
|
||||||
|
- Rebuilt for Python 3.10
|
||||||
|
|
||||||
|
* Thu Jun 3 2021 Thomas Rodgers <trodgers@redhat.com> - 2020.3-6
|
||||||
|
- Fix ABI regression in tbb::empty_task caused by switch to LTO
|
||||||
|
|
||||||
|
* 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.
|
66
tests/sanity_test/Makefile
Normal file
66
tests/sanity_test/Makefile
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Makefile of /tools/tbb/Sanity/upstream
|
||||||
|
# Description: Test for package tbb that tests the whole library
|
||||||
|
# Author: Filip Holec <fholec@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public
|
||||||
|
# License along with this program; if not, write to the Free
|
||||||
|
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
export TEST=/tools/tbb/Sanity/upstream
|
||||||
|
export TESTVERSION=1.0
|
||||||
|
|
||||||
|
BUILT_FILES=
|
||||||
|
|
||||||
|
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||||
|
|
||||||
|
.PHONY: all install download clean
|
||||||
|
|
||||||
|
run: $(FILES) build
|
||||||
|
./runtest.sh
|
||||||
|
|
||||||
|
build: $(BUILT_FILES)
|
||||||
|
test -x runtest.sh || chmod a+x runtest.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ $(BUILT_FILES)
|
||||||
|
|
||||||
|
|
||||||
|
include /usr/share/rhts/lib/rhts-make.include
|
||||||
|
|
||||||
|
$(METADATA): Makefile
|
||||||
|
@echo "Owner: Filip Holec <fholec@redhat.com>" > $(METADATA)
|
||||||
|
@echo "Name: $(TEST)" >> $(METADATA)
|
||||||
|
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||||
|
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||||
|
@echo "Description: Test for package tbb that tests the whole library" >> $(METADATA)
|
||||||
|
@echo "Type: Sanity" >> $(METADATA)
|
||||||
|
@echo "TestTime: 5m" >> $(METADATA)
|
||||||
|
@echo "RunFor: tbb" >> $(METADATA)
|
||||||
|
@echo "Requires: tbb tbb-devel rpm-build gcc-c++" >> $(METADATA)
|
||||||
|
@echo "Priority: Normal" >> $(METADATA)
|
||||||
|
@echo "License: GPLv2" >> $(METADATA)
|
||||||
|
@echo "Confidential: no" >> $(METADATA)
|
||||||
|
@echo "Destructive: no" >> $(METADATA)
|
||||||
|
@echo "Bug: 844976" >> $(METADATA)
|
||||||
|
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||||
|
@echo "Architectures: x86_64 ppc64le aarch64 s390x" >> $(METADATA)
|
||||||
|
|
||||||
|
rhts-lint $(METADATA)
|
7
tests/sanity_test/PURPOSE
Normal file
7
tests/sanity_test/PURPOSE
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
PURPOSE of /tools/tbb/Sanity/upstream
|
||||||
|
Description: Test for package tbb that tests the whole library
|
||||||
|
Author: Filip Holec <fholec@redhat.com>
|
||||||
|
Bug summary: [RFE] Provide tbb (dependency of suitesparse, SciPy)
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=844976
|
||||||
|
|
||||||
|
Test for package tbb that tests the whole library
|
19
tests/sanity_test/main.fmf
Normal file
19
tests/sanity_test/main.fmf
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
summary: Test for package tbb that tests the whole library
|
||||||
|
description: |
|
||||||
|
Bug summary: [RFE] Provide tbb (dependency of suitesparse, SciPy)
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=844976
|
||||||
|
|
||||||
|
Test for package tbb that tests the whole library
|
||||||
|
contact: Filip Holec <fholec@redhat.com>
|
||||||
|
component:
|
||||||
|
- tbb
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- tbb
|
||||||
|
- tbb-devel
|
||||||
|
- rpm-build
|
||||||
|
- gcc-c++
|
||||||
|
duration: 5m
|
||||||
|
extra-summary: /tools/tbb/Sanity/upstream
|
||||||
|
extra-task: /tools/tbb/Sanity/upstream
|
106
tests/sanity_test/runtest.sh
Executable file
106
tests/sanity_test/runtest.sh
Executable file
@ -0,0 +1,106 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/tbb/Sanity/upstream
|
||||||
|
# Description: Test for package tbb that tests the whole library
|
||||||
|
# Author: Filip Holec <fholec@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public
|
||||||
|
# License along with this program; if not, write to the Free
|
||||||
|
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh
|
||||||
|
|
||||||
|
PACKAGES=${PACKAGES:-tbb}
|
||||||
|
REQUIRES=${REQUIRES:-tbb-devel}
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
# Determine what architecture is the test running on
|
||||||
|
ARCH=$(rlGetPrimaryArch)
|
||||||
|
|
||||||
|
# work around https://bugzilla.redhat.com/show_bug.cgi?id=1374681
|
||||||
|
sed -i 's/\/mnt\/redhat\/scripts\/rel-eng\/utility\/find_package/\/usr\/bin\/find_package/' /usr/share/beakerlib/plugins/rh-internal.sh
|
||||||
|
wget -O /usr/bin/find_package http://nfs.englab.brq.redhat.com/scratch/mcermak/conf/find_package
|
||||||
|
chmod a+rx /usr/bin/find_package
|
||||||
|
# Supported architectures are i386 and x86_64
|
||||||
|
if [ $ARCH = "i386" -o $ARCH="x86_64" ] ; then
|
||||||
|
# Check if RPMs are installed
|
||||||
|
rlAssertRpm --all
|
||||||
|
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
|
||||||
|
# Download tests from lookaside and decompress them
|
||||||
|
PY_COLLECTION=$(echo $COLLECTIONS | egrep -o 'python\w+')
|
||||||
|
if [[ -n $PY_COLLECTION ]] && rlIsRHEL 6
|
||||||
|
then
|
||||||
|
echo "${PY_COLLECTION}-tbb"
|
||||||
|
rlRun "rlFetchSrcForInstalled ${PY_COLLECTION}-tbb" \
|
||||||
|
0 "Download tbb source RPM"
|
||||||
|
|
||||||
|
if [ "$PY_COLLECTION" == "python27" ]
|
||||||
|
then
|
||||||
|
FLAGS="CXXFLAGS='-I/opt/rh/python27/root/usr/include/ -L/opt/rh/python27/root/usr/lib64'"
|
||||||
|
tbb_prefix="/tbb"
|
||||||
|
else
|
||||||
|
FLAGS="CXXFLAGS='-I/opt/rh/python33/root/usr/include/ -L/opt/rh/python33/root/usr/lib64'"
|
||||||
|
tbb_prefix=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
FLAGS=""
|
||||||
|
echo tbb
|
||||||
|
rlRun "rlFetchSrcForInstalled tbb" \
|
||||||
|
0 "Download tbb source RPM"
|
||||||
|
fi
|
||||||
|
rlRun "rpm --define '_topdir $TmpDir' -i *src.rpm" \
|
||||||
|
0 "Installing the source rpm"
|
||||||
|
rlRun "mkdir BUILD" 0 "Creating BUILD directory"
|
||||||
|
rlRun "rpmbuild --nodeps --define '_topdir $TmpDir' -bp $TmpDir/SPECS/*spec" \
|
||||||
|
0 "Preparing sources"
|
||||||
|
rlRun "pushd ./BUILD/" 0 "Go to source directory"
|
||||||
|
else
|
||||||
|
rlLog "tbb is not available for $ARCH, skipping the test"
|
||||||
|
fi
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
# Test if architecture is supported
|
||||||
|
if [ $ARCH = "i386" -o $ARCH="x86_64" ] ; then
|
||||||
|
# Make and make fibonacci
|
||||||
|
rlRun "pushd .${tbb_prefix}/oneTBB*/examples/test_all/fibonacci; make ${FLAGS}" 0 \
|
||||||
|
"Enter fibonacci example directory and make"
|
||||||
|
# Run the fibonacci test
|
||||||
|
rlRun "./fibonacci" 0 \
|
||||||
|
"Testing fibonacci (which is complex testing of nearly all tbb library)"
|
||||||
|
fi
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
# Test if architecture is supported
|
||||||
|
if [ $ARCH = "i386" -o $ARCH="x86_64" ] ; then
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
fi
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
Loading…
Reference in New Issue
Block a user