]>
Commit | Line | Data |
---|---|---|
f09639cb JB |
1 | # TODO: offload library? (requires Intel COI Runtime + Intel MYO Runtime) |
2 | # | |
3 | # Conditional build: | |
4 | %bcond_without fortran # Fortran modules | |
5 | # | |
6 | Summary: Intel OpenMP runtime library implementation for use with Clang | |
7 | Summary(pl.UTF-8): Implementacja biblioteki uruchomieniowej OpenMP firmy Intel dla kompilatora Clang | |
8 | Name: llvm-openmp | |
855b51ac | 9 | Version: 3.9.1 |
f09639cb JB |
10 | Release: 1 |
11 | License: BSD-like or MIT | |
12 | Group: Libraries | |
855b51ac JB |
13 | Source0: http://releases.llvm.org/%{version}/openmp-%{version}.src.tar.xz |
14 | # Source0-md5: f076916bf2f49229b4df9fa0bb002599 | |
f09639cb JB |
15 | URL: http://openmp.llvm.org/ |
16 | BuildRequires: cmake >= 2.8 | |
17 | %{?with_fortran:BuildRequires: gcc-fortran} | |
18 | BuildRequires: rpmbuild(macros) >= 1.605 | |
94b32123 | 19 | ExclusiveArch: %{ix86} %{x8664} arm aarch64 ppc64 |
f09639cb JB |
20 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
21 | ||
22 | %ifarch %{ix86} | |
23 | %define iomp_arch 32 | |
24 | %endif | |
25 | %ifarch %{x8664} | |
26 | %define iomp_arch 32e | |
27 | %endif | |
94b32123 | 28 | %ifarch arm aarch64 ppc64 |
f09639cb JB |
29 | %define iomp_arch %{_arch} |
30 | %endif | |
31 | ||
32 | %description | |
33 | The OpenMP subproject of LLVM is intended to contain all of the | |
34 | components required to build an executing OpenMP program that are | |
35 | outside the compiler itself. Support for OpenMP 3.1 in Clang is in the | |
36 | process of being promoted into the Clang mainline, and can be found at | |
37 | OpenMP/Clang: <http://clang-omp.github.io/>. | |
38 | ||
39 | %description -l pl.UTF-8 | |
40 | Podprojekt OpenMP projektu LLVM ma na celu skompletowanie wszystkich | |
41 | komponentów wymaganych do zbudowania działającego programu OpenMP poza | |
42 | samym kompilatorem. Obsługa OpenMP 3.1 w Clangu jest w trakcie | |
43 | włączania do głównej linii kompilatora i można ją znaleźć w | |
44 | repozytorium OpenMP/Clang: <http://clang-omp.github.io/>. | |
45 | ||
1c008bc1 JB |
46 | %package devel |
47 | Summary: Header file for Intel OpenMP implementation | |
48 | Summary(pl.UTF-8): Plik nagłówkowy implementacji OpenMP firmy Intel | |
49 | Group: Development/Libraries | |
50 | Requires: %{name} = %{version}-%{release} | |
51 | ||
52 | %description devel | |
53 | Header file for Intel OpenMP implementation. | |
54 | ||
55 | %description devel -l pl.UTF-8 | |
56 | Plik nagłówkowy implementacji OpenMP firmy Intel. | |
57 | ||
f09639cb JB |
58 | %package fortran-devel |
59 | Summary: Fortran modules for Intel OpenMP implementation | |
60 | Summary(pl.UTF-8): Moduły Fortranu implementacji OpenMP firmy Intel | |
61 | Group: Development/Libraries | |
1c008bc1 | 62 | Requires: %{name}-devel = %{version}-%{release} |
f09639cb JB |
63 | |
64 | %description fortran-devel | |
65 | Fortran modules for Intel OpenMP implementation. | |
66 | ||
67 | %description fortran-devel -l pl.UTF-8 | |
68 | Moduły Fortranu implementacji OpenMP firmy Intel. | |
69 | ||
70 | %prep | |
71 | %setup -q -n openmp-%{version}.src | |
f09639cb JB |
72 | |
73 | %build | |
74 | cd runtime | |
75 | install -d build | |
76 | cd build | |
1c008bc1 | 77 | libsubdir=%{_lib} |
f09639cb JB |
78 | %cmake .. \ |
79 | %ifarch arm ppc64 | |
1c008bc1 | 80 | -DLIBOMP_ARCH=%{iomp_arch} \ |
f09639cb | 81 | %endif |
1c008bc1 JB |
82 | -DLIBOMP_LIBDIR_SUFFIX="${libsuffix#lib}" \ |
83 | %{?with_fortran:-DLIBOMP_FORTRAN_MODULES=ON} | |
f09639cb JB |
84 | |
85 | %{__make} | |
86 | ||
87 | %install | |
88 | rm -rf $RPM_BUILD_ROOT | |
89 | install -d $RPM_BUILD_ROOT{%{_includedir}/iomp,%{_libdir}} | |
90 | ||
1c008bc1 JB |
91 | cp -p runtime/exports/common/include/*.h $RPM_BUILD_ROOT%{_includedir}/iomp |
92 | %if %{with fortran} | |
93 | cp -p runtime/exports/lin_%{iomp_arch}/include_compat/*.mod $RPM_BUILD_ROOT%{_includedir}/iomp | |
94 | %endif | |
95 | install runtime/exports/lin_%{iomp_arch}/lib/libomp.so $RPM_BUILD_ROOT%{_libdir} | |
f09639cb JB |
96 | |
97 | %clean | |
98 | rm -rf $RPM_BUILD_ROOT | |
99 | ||
100 | %post -p /sbin/ldconfig | |
101 | %postun -p /sbin/ldconfig | |
102 | ||
103 | %files | |
104 | %defattr(644,root,root,755) | |
105 | %doc CREDITS.txt LICENSE.txt www/{README.txt,Reference.pdf,*.{html,css}} | |
1c008bc1 JB |
106 | %attr(755,root,root) %{_libdir}/libomp.so |
107 | ||
108 | %files devel | |
109 | %defattr(644,root,root,755) | |
110 | %dir %{_includedir}/iomp | |
111 | %{_includedir}/iomp/omp.h | |
f09639cb JB |
112 | |
113 | %if %{with fortran} | |
114 | %files fortran-devel | |
115 | %defattr(644,root,root,755) | |
1c008bc1 JB |
116 | %{_includedir}/iomp/omp_lib.h |
117 | %{_includedir}/iomp/omp_lib.mod | |
118 | %{_includedir}/iomp/omp_lib_kinds.mod | |
f09639cb | 119 | %endif |