Accepting request 155678 from home:adra:branches:devel:libraries:c_c++

Update to version 41_20130116, Removed tbb package, Updated optflags.patch, Added a patch to fix build on PowerPC

OBS-URL: https://build.opensuse.org/request/show/155678
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=5
This commit is contained in:
Ismail Dönmez 2013-02-21 21:24:06 +00:00 committed by Git OBS Bridge
parent 0268ddae8b
commit 6a04b9fe10
7 changed files with 119 additions and 112 deletions

View File

@ -1,19 +1,15 @@
--- build/linux.gcc.inc.orig 2012-08-15 17:41:48.445365711 -0400 --- build/linux.gcc.inc.orig 2013-01-28 15:21:41.000000000 +0200
+++ build/linux.gcc.inc 2012-08-15 17:41:20.025343809 -0400 +++ build/linux.gcc.inc 2013-02-17 19:53:25.181267317 +0200
@@ -39,6 +39,7 @@ @@ -59,10 +59,10 @@
DYLIB_KEY = -shared endif
EXPORT_KEY = -Wl,--version-script,
LIBDL = -ldl
+OPTFLAGS = -O2
TBB_NOSTRICT = 1
@@ -60,7 +61,7 @@
ITT_NOTIFY = -DDO_ITT_NOTIFY
ifeq ($(cfg), release) ifeq ($(cfg), release)
- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD - CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
+ CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 $(OPTFLAGS) -DUSE_PTHREAD + CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 $(OPTFLAGS) -DUSE_PTHREAD
endif endif
ifeq ($(cfg), debug) ifeq ($(cfg), debug)
CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD - CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+ CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 $(OPTFLAGS) -DUSE_PTHREAD
endif
ifneq (00,$(lambdas)$(cpp0x))

16
tbb-4.0-cas.patch Normal file
View File

@ -0,0 +1,16 @@
diff -up tbb40_20120408oss/include/tbb/tbb_machine.h\~ tbb40_20120408oss/include/tbb/tbb_machine.h
--- tbb40_20120408oss/include/tbb/tbb_machine.h~ 2012-04-20 09:21:57.000000000 +0200
+++ tbb40_20120408oss/include/tbb/tbb_machine.h 2012-08-28 13:20:42.150456167 +0200
@@ -373,8 +373,8 @@ void spin_wait_until_eq( const volatile
// - The operation assumes that the architecture consistently uses either little-endian or big-endian:
// it does not support mixed-endian or page-specific bi-endian architectures.
// This function is the only use of __TBB_BIG_ENDIAN.
-#if (__TBB_BIG_ENDIAN!=-1)
- #if ( __TBB_USE_GENERIC_PART_WORD_CAS)
+#if ( __TBB_USE_GENERIC_PART_WORD_CAS)
+ #if (__TBB_BIG_ENDIAN==-1)
#error generic implementation of part-word CAS was explicitly disabled for this configuration
#endif
template<typename T>
Diff finished. Tue Aug 28 13:20:58 2012

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Sun Feb 17 19:42:08 UTC 2013 - asterios.dramis@gmail.com
- Update to version 41_20130116:
* See CHANGES file for news.
- Removed tbb package which included only doc files (moved them to tbb-devel).
- Updated optflags.patch to make it apply correctly and also fix "File is
compiled without RPM_OPT_FLAGS" rpm post build check warning.
- Added a patch "tbb-4.0-cas.patch" to fix build on PowerPC (taken from
Fedora).
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Jan 29 01:33:25 UTC 2012 - jengelh@medozas.de Sun Jan 29 01:33:25 UTC 2012 - jengelh@medozas.de

173
tbb.spec
View File

@ -1,7 +1,7 @@
# #
# spec file for package tbb (Version 21_20080825) # spec file for package tbb
# #
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -15,138 +15,125 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via http://bugs.opensuse.org/
# #
%define so_ver 2
Name: tbb Name: tbb
BuildRequires: gcc-c++ Version: 41_20130116
%define sourcedir tbb40_20120613oss Release: 0
Url: http://threadingbuildingblocks.org/ License: GPL-2.0
License: GPL v2 only
Group: Development/Libraries/C and C++
Version: 40_20120613
Release: 1
Summary: Threading Building Blocks (TBB) Summary: Threading Building Blocks (TBB)
Source0: %{sourcedir}_src.tgz Url: http://threadingbuildingblocks.org/
Group: System/Libraries
Source0: http://threadingbuildingblocks.org/sites/default/files/software_releases/source/%{name}%{version}oss_src.tgz
# PATCH-FIX-OPENSUSE optflags.patch -- Use rpm optflags
Patch0: optflags.patch Patch0: optflags.patch
# PATCH-FIX-UPSTREAM tbb-4.0-cas.patch asterios.dramis@gmail.com -- Fix build on PowerPC, http://software.intel.com/en-us/forums/showthread.php?t=106373 (taken from Fedora)
Patch1: tbb-4.0-cas.patch
BuildRequires: gcc-c++
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %install_info_prereq ExclusiveArch: %ix86 ia64 x86_64 ppc ppc64
ExclusiveArch: %ix86 ia64 x86_64
%description %description
Intel® Threading Building Blocks (TBB) offers a rich and complete Threading Building Blocks (TBB) offers a rich and complete approach to
approach to expressing parallelism in a C++ program. It is a library expressing parallelism in a C++ program. It is a library that helps you take
that helps you take advantage of multi-core processor performance advantage of multi-core processor performance without having to be a threading
without having to be a threading expert. Threading Building Blocks is expert. Threading Building Blocks is not just a threads-replacement library. It
not just a threads-replacement library. It represents a higher-level, represents a higher-level, task-based parallelism that abstracts platform
task-based parallelism that abstracts platform details and threading details and threading mechanism for performance and scalability.
mechanism for performance and scalability.
%package -n libtbb%{so_ver}
%package -n libtbb2
Group: Development/Libraries/C and C++
Summary: Threading Building Blocks (TBB) Summary: Threading Building Blocks (TBB)
Group: System/Libraries
Provides: %{name} = %{version} Provides: %{name} = %{version}
Obsoletes: %{name} < %{version} Obsoletes: %{name} < %{version}
%description -n libtbb2 %description -n libtbb%{so_ver}
Intel® Threading Building Blocks (TBB) offers a rich and complete Threading Building Blocks (TBB) offers a rich and complete approach to
approach to expressing parallelism in a C++ program. It is a library expressing parallelism in a C++ program. It is a library that helps you take
that helps you take advantage of multi-core processor performance advantage of multi-core processor performance without having to be a threading
without having to be a threading expert. Threading Building Blocks is expert. Threading Building Blocks is not just a threads-replacement library. It
not just a threads-replacement library. It represents a higher-level, represents a higher-level, task-based parallelism that abstracts platform
task-based parallelism that abstracts platform details and threading details and threading mechanism for performance and scalability.
mechanism for performance and scalability.
%package -n libtbbmalloc%{so_ver}
%package -n libtbbmalloc2
Group: Development/Libraries/C and C++
Summary: Threading Building Blocks (TBB) Summary: Threading Building Blocks (TBB)
Group: System/Libraries
Provides: %{name} = %{version} Provides: %{name} = %{version}
Obsoletes: %{name} < %{version} Obsoletes: %{name} < %{version}
%description -n libtbbmalloc2 %description -n libtbbmalloc%{so_ver}
Intel® Threading Building Blocks (TBB) offers a rich and complete Threading Building Blocks (TBB) offers a rich and complete approach to
approach to expressing parallelism in a C++ program. It is a library expressing parallelism in a C++ program. It is a library that helps you take
that helps you take advantage of multi-core processor performance advantage of multi-core processor performance without having to be a threading
without having to be a threading expert. Threading Building Blocks is expert. Threading Building Blocks is not just a threads-replacement library. It
not just a threads-replacement library. It represents a higher-level, represents a higher-level, task-based parallelism that abstracts platform
task-based parallelism that abstracts platform details and threading details and threading mechanism for performance and scalability.
mechanism for performance and scalability.
%package devel %package devel
Summary: Development Files for Threading Building Blocks (TBB)
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Summary: Threading Building Blocks (TBB)
Requires: /bin/sh, /bin/csh
Requires: c++_compiler Requires: c++_compiler
Requires: libtbb2 = %{version} libtbbmalloc2 = %{version} Requires: libtbb%{so_ver} = %{version}
Requires: libtbbmalloc%{so_ver} = %{version}
%description devel %description devel
Intel® Threading Building Blocks (TBB) offers a rich and complete Threading Building Blocks (TBB) offers a rich and complete approach to
approach to expressing parallelism in a C++ program. It is a library expressing parallelism in a C++ program. It is a library that helps you take
that helps you take advantage of multi-core processor performance advantage of multi-core processor performance without having to be a threading
without having to be a threading expert. Threading Building Blocks is expert. Threading Building Blocks is not just a threads-replacement library. It
not just a threads-replacement library. It represents a higher-level, represents a higher-level, task-based parallelism that abstracts platform
task-based parallelism that abstracts platform details and threading details and threading mechanism for performance and scalability.
mechanism for performance and scalability.
This package contains the header files needed for development with tbb. This package contains the header files needed for development with tbb.
%prep %prep
%setup -q -n %{sourcedir} %setup -q -n %{name}%{version}oss
%patch0 %patch0
%patch1 -p1
%build %build
gmake OPTFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} make OPTFLAGS="%{optflags}" %{?_smp_mflags} tbb_build_prefix=obj
%install %install
mkdir -p $RPM_BUILD_ROOT/%{_includedir}/%{name}/machine mkdir -p %{buildroot}%{_includedir}
mkdir -p $RPM_BUILD_ROOT/%{_includedir}/%{name}/internal mkdir -p %{buildroot}%{_libdir}
mkdir -p $RPM_BUILD_ROOT/%{_libdir} pushd include
mkdir -p $RPM_BUILD_ROOT/etc/%{name} find tbb -type f -name \*.h -exec \
# sic! install -Dpm 644 {} %{buildroot}%{_includedir}/{} \
install $RPM_BUILD_DIR/%{sourcedir}/include/tbb/*.h $RPM_BUILD_ROOT/%{_includedir}/%{name} \;
install $RPM_BUILD_DIR/%{sourcedir}/include/tbb/machine/linux*.h $RPM_BUILD_ROOT/%{_includedir}/%{name}/machine popd
install $RPM_BUILD_DIR/%{sourcedir}/include/tbb/internal/*.h $RPM_BUILD_ROOT/%{_includedir}/%{name}/internal pushd build/obj_release
install $RPM_BUILD_DIR/%{sourcedir}/build/linux*release/*.so.2 $RPM_BUILD_ROOT/%{_libdir} for file in libtbb{,malloc{,_proxy}}; do
pushd $RPM_BUILD_ROOT/%{_libdir} install -Dpm 0755 ${file}.so.%{so_ver} %{buildroot}%{_libdir}
ln -s libtbb.so.2 libtbb.so ln -s $file.so.%{so_ver} %{buildroot}%{_libdir}/$file.so
ln -s libtbbmalloc.so.2 libtbbmalloc.so done
popd popd
%post -n libtbb2 -p /sbin/ldconfig %post -n libtbb%{so_ver} -p /sbin/ldconfig
%postun -n libtbb2 -p /sbin/ldconfig %postun -n libtbb%{so_ver} -p /sbin/ldconfig
%post -n libtbbmalloc2 -p /sbin/ldconfig %post -n libtbbmalloc%{so_ver} -p /sbin/ldconfig
%postun -n libtbbmalloc2 -p /sbin/ldconfig %postun -n libtbbmalloc%{so_ver} -p /sbin/ldconfig
%files %files -n libtbb%{so_ver}
%defattr(-,root,root) %defattr(-,root,root,-)
%doc CHANGES COPYING index.html %{_libdir}/libtbb.so.%{so_ver}*
%files -n libtbb2 %files -n libtbbmalloc%{so_ver}
%defattr(-,root,root) %defattr(-,root,root,-)
%{_libdir}/libtbb.so.2 %{_libdir}/libtbbmalloc.so.%{so_ver}*
%{_libdir}/libtbbmalloc_proxy.so.%{so_ver}*
%files -n libtbbmalloc2
%defattr(-,root,root)
%{_libdir}/libtbbmalloc.so.2
%{_libdir}/libtbbmalloc_proxy.so.2
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root,-)
%dir %{_includedir}/tbb %doc CHANGES COPYING index.html
%attr(755,root,root) %dir %{_includedir}/tbb/machine %doc doc/Release_Notes.txt doc/html/
%attr(755,root,root) %dir %{_includedir}/tbb/internal %{_includedir}/tbb/
%attr(644,root,root) %{_includedir}/tbb/*.h
%attr(644,root,root) %{_includedir}/tbb/machine/*.h
%attr(644,root,root) %{_includedir}/tbb/internal/*.h
%{_libdir}/libtbb.so %{_libdir}/libtbb.so
%{_libdir}/libtbbmalloc.so %{_libdir}/libtbbmalloc.so
%{_libdir}/libtbbmalloc_proxy.so
%changelog %changelog

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:93c6f9c76c8740a79499ccc91db6b39885187b5fa7d447c95df37f3ae72295af
size 1856934

View File

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

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4ae2c10899e3b6ef2f686013ec5901fc658444ca90178efaca6014b0665c34b6
size 2461689