]> git.pld-linux.org Git - packages/tbb.git/blame - tbb.spec
- don't force m32/m64 build mode
[packages/tbb.git] / tbb.spec
CommitLineData
5d11029b 1%define major 4
38b7cc08
ER
2%define minor 3
3%define micro 20150611
546cff52 4%define sourcebasename tbb%{major}%{minor}_%{micro}oss
4ebeb785 5Summary: The Threading Building Blocks library abstracts low-level threading details
546cff52 6Summary(pl.UTF-8): Threading Building Blocks - biblioteka abstrahująca niskopoziomowe szczegóły obsługi wątków
4ebeb785 7Name: tbb
546cff52 8Version: %{major}.%{minor}.%{micro}
5d11029b 9Release: 2
546cff52 10License: GPL v2 with runtime exception
4ebeb785 11Group: Development/Tools
38b7cc08
ER
12# Source0Download: https://www.threadingbuildingblocks.org/download
13Source0: https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/%{sourcebasename}_src.tgz
14# Source0-md5: bb144ec868c53244ea6be11921d86f03
4ebeb785
ER
15Source1: http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Design_Patterns.pdf
16# Source1-md5: 46062fef922d39abfd464bc06e02cdd8
17Source2: http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Getting_Started.pdf
18# Source2-md5: b8f94104c47f9667e537b98bd940494a
19Source3: http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Reference.pdf
20# Source3-md5: 1481cbd378f4964691046d0ba570b374
21Source4: http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Tutorial.pdf
22# Source4-md5: 5bbdd1050c5dac5c1b782a6a98db0c46
546cff52 23Source5: %{name}.pc.in
f89f9a85
ER
24Source6: %{name}malloc.pc.in
25Source7: %{name}malloc_proxy.pc.in
5d11029b 26Patch0: no-forced-arch-bits.patch
4ebeb785 27Patch1: %{name}-cxxflags.patch
eb5b42b5 28Patch2: mfence.patch
546cff52 29URL: http://www.threadingbuildingblocks.org/
4ebeb785 30BuildRequires: libstdc++-devel
8c6cde5d 31BuildRequires: pkgconfig
546cff52 32BuildRequires: sed >= 4.0
8c6cde5d 33# We need "arch" binary:
4ebeb785 34BuildRequires: util-linux
5d11029b 35ExclusiveArch: %{ix86} %{x8664} x32 %{arm} ia64 ppc ppc64
f1716db8
JB
36# __TBB_machine_cmpswp8 uses gcc's __sync_val_compare_and_swap8 or directly cmpxchg8b asm instruction
37ExcludeArch: i386 i486
4ebeb785
ER
38BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
40%description
41Threading Building Blocks (TBB) is a C++ runtime library that
42abstracts the low-level threading details necessary for optimal
43multi-core performance. It uses common C++ templates and coding style
44to eliminate tedious threading implementation work.
45
46TBB requires fewer lines of code to achieve parallelism than other
47threading models. The applications you write are portable across
546cff52
JB
48supported platforms. Since the library is also inherently scalable, no
49code maintenance is required as more processor cores become available.
50
51%description -l pl.UTF-8
52Threading Building Blocks (TBB) to biblioteka uruchomieniowa C++
53abstrahująca niskopoziomowe szczegóły obsługi wątków potrzebne dla
54optymalnej wydajności na procesorach wielordzeniowych. Wykorzystuje
55szablony C++ w celu wyeliminowania nudnej pracy nad wielowątkowością.
56
57TBB wymaga mniej linii kodu do osiągnięcia równoległości niż inne
58modele wątkowania. Aplikacje są przenośne między obsługiwanymi
59platformami. Biblioteka jest skalowalna, więc nie jest wymagane
60modyfikowanie kodu wraz z dostępnością większej liczby rdzeni
61procesor.
4ebeb785
ER
62
63%package devel
546cff52
JB
64Summary: The Threading Building Blocks C++ headers
65Summary(pl.UTF-8): Pliki nagłówkowe C++ bibliotek Threading Building Blocks
4ebeb785
ER
66Group: Development/Libraries
67Requires: %{name} = %{version}-%{release}
68
69%description devel
70Header files and shared object symlinks for the Threading Building
71Blocks (TBB) C++ libraries.
72
546cff52
JB
73%description devel -l pl.UTF-8
74Pliki nagłówkowe i dowiązania symboliczne dla bibliotek C++ Threading
75Building Blocks.
76
4ebeb785
ER
77%package doc
78Summary: The Threading Building Blocks documentation
546cff52 79Summary(pl.UTF-8): Dokumentacja bibliotek Threading Building Blocks
4ebeb785
ER
80Group: Documentation
81
82%description doc
83PDF documentation for the user of the Threading Building Block (TBB)
84C++ library.
85
546cff52
JB
86%description doc -l pl.UTF-8
87Dokumentacja w formacie PDF dla użytkowników biblioteki C++ Threading
88Building Blocks (TBB).
89
4ebeb785
ER
90%prep
91%setup -q -n %{sourcebasename}
5d11029b 92%patch0 -p1
eb5b42b5
ER
93%patch1 -p1
94%patch2 -p1
4ebeb785
ER
95
96cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} .
97
f89f9a85
ER
98cp -p %{SOURCE5} %{SOURCE6} %{SOURCE7} .
99
4ebeb785
ER
100%build
101%{__make} \
546cff52 102 CPLUS="%{__cxx}" \
4ebeb785
ER
103 CXXFLAGS="%{rpmcxxflags}" \
104 tbb_build_prefix=obj
105
106%install
107rm -rf $RPM_BUILD_ROOT
eb5b42b5 108install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir},%{_pkgconfigdir}}
f89f9a85 109
4ebeb785 110cd build/obj_release
f89f9a85 111for file in tbb tbbmalloc tbbmalloc_proxy; do
546cff52
JB
112 install lib${file}.so.2 $RPM_BUILD_ROOT%{_libdir}/lib${file}.so.2.%{version}
113 ln -s lib${file}.so.2.%{version} $RPM_BUILD_ROOT%{_libdir}/lib${file}.so
114 ln -s lib${file}.so.2.%{version} $RPM_BUILD_ROOT%{_libdir}/lib${file}.so.2
4ebeb785
ER
115done
116cd -
117
118cd include
119find tbb -type f -name '*.h' -exec \
120 install -p -D -m 644 {} $RPM_BUILD_ROOT%{_includedir}/{} ';'
f89f9a85 121cd -
4ebeb785 122
f89f9a85
ER
123for pc in tbb.pc tbbmalloc.pc tbbmalloc_proxy.pc; do
124 in=$pc.in
125 # fail if obsolete
126 [ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir}/$pc ] || exit 1
127 sed -e '
128 s,@prefix@,%{_prefix},;
129 s,@libdir@,%{_libdir},;
130 s,@includedir@,%{_includedir}/tbb,;
131 s,@version@,%{version},
132 ' $in > $RPM_BUILD_ROOT%{_pkgconfigdir}/$pc
133done
4ebeb785
ER
134
135%clean
136rm -rf $RPM_BUILD_ROOT
137
546cff52
JB
138%post -p /sbin/ldconfig
139%postun -p /sbin/ldconfig
140
4ebeb785
ER
141%files
142%defattr(644,root,root,755)
546cff52 143%doc CHANGES COPYING doc/Release_Notes.txt
4ebeb785
ER
144%attr(755,root,root) %{_libdir}/libtbb.so.*.*.*
145%attr(755,root,root) %ghost %{_libdir}/libtbb.so.2
146%attr(755,root,root) %{_libdir}/libtbbmalloc.so.*.*.*
147%attr(755,root,root) %ghost %{_libdir}/libtbbmalloc.so.2
546cff52
JB
148%attr(755,root,root) %{_libdir}/libtbbmalloc_proxy.so.*.*.*
149%attr(755,root,root) %ghost %{_libdir}/libtbbmalloc_proxy.so.2
4ebeb785
ER
150
151%files devel
152%defattr(644,root,root,755)
546cff52
JB
153%attr(755,root,root) %{_libdir}/libtbb.so
154%attr(755,root,root) %{_libdir}/libtbbmalloc.so
155%attr(755,root,root) %{_libdir}/libtbbmalloc_proxy.so
4ebeb785 156%{_includedir}/tbb
546cff52 157%{_pkgconfigdir}/tbb.pc
f89f9a85
ER
158%{_pkgconfigdir}/tbbmalloc.pc
159%{_pkgconfigdir}/tbbmalloc_proxy.pc
4ebeb785
ER
160
161%files doc
162%defattr(644,root,root,755)
163%doc *.pdf
This page took 0.099694 seconds and 4 git commands to generate.