]>
Commit | Line | Data |
---|---|---|
bc88141a | 1 | # |
d015c902 PS |
2 | # TODO: |
3 | # - fix include search path to support libdir/gcc/platform/version/include. | |
4 | # current error: /usr/include/wchar.h:39:11: fatal error: 'stdarg.h' file not found# include <stdarg.h> | |
5 | # | |
9556f4c9 | 6 | # Conditional build: |
5a7ac479 JB |
7 | %bcond_without lldb # LLDB debugger |
8 | %bcond_without rt # compiler-rt libraries | |
9 | %bcond_without ocaml # OCaml binding | |
dd9350c7 | 10 | %bcond_without man # man pages |
5a7ac479 | 11 | %bcond_with apidocs # doxygen docs (HUGE, so they are not built by default) |
8132e62b | 12 | %bcond_with tests # run tests |
9556f4c9 ER |
13 | |
14 | %ifarch s390 s390x sparc64 | |
15 | # No ocaml on these arches | |
16 | %undefine with_ocaml | |
17 | %endif | |
18 | ||
aa11c230 | 19 | Summary: The Low Level Virtual Machine (An Optimizing Compiler Infrastructure) |
2326a99f | 20 | Summary(pl.UTF-8): Niskopoziomowa maszyna wirtualna (infrastruktura kompilatora optymalizującego) |
aa11c230 | 21 | Name: llvm |
11b6f380 | 22 | Version: 3.4.1 |
1628dc68 | 23 | Release: 1 |
aa11c230 | 24 | License: University of Illinois/NCSA Open Source License |
25 | Group: Development/Languages | |
dd9350c7 | 26 | #Source0Download: http://llvm.org/releases/download.html |
f981d747 | 27 | Source0: http://llvm.org/releases/%{version}/%{name}-%{version}.src.tar.gz |
11b6f380 | 28 | # Source0-md5: b90697f4de35563ad6c35924defa8dd1 |
c999855f | 29 | Source1: http://llvm.org/releases/%{version}/cfe-%{version}.src.tar.gz |
11b6f380 | 30 | # Source1-md5: c64fdc567383211c9ac212d6f7b69263 |
5a7ac479 JB |
31 | Source2: http://llvm.org/releases/3.4/compiler-rt-3.4.src.tar.gz |
32 | # Source2-md5: 7938353e3a3bda85733a165e7ac4bb84 | |
33 | Source3: http://llvm.org/releases/3.4/lldb-3.4.src.tar.gz | |
34 | # Source3-md5: 7ed60a0463f9fdfa20db7109d4624cee | |
ebde279d | 35 | Patch0: %{name}-config.patch |
d997b14b | 36 | # Data files should be installed with timestamps preserved |
ebde279d JB |
37 | Patch1: %{name}-2.6-timestamp.patch |
38 | Patch2: %{name}-pld.patch | |
11b6f380 | 39 | Patch3: %{name}-destdir.patch |
2326a99f | 40 | URL: http://llvm.org/ |
ebde279d JB |
41 | BuildRequires: autoconf >= 2.60 |
42 | BuildRequires: automake >= 1:1.9.6 | |
bc88141a | 43 | BuildRequires: bash |
d997b14b | 44 | BuildRequires: bison |
d997b14b | 45 | BuildRequires: flex |
dd9350c7 JB |
46 | BuildRequires: gcc >= 5:3.4 |
47 | # gcc4 might be installed, but not current __cc | |
48 | %if "%(echo %{cc_version} | cut -d. -f1,2)" < "3.4" | |
49 | BuildRequires: __cc >= 3.4 | |
9556f4c9 | 50 | %endif |
d997b14b | 51 | BuildRequires: groff |
bc88141a | 52 | BuildRequires: libltdl-devel |
ebde279d | 53 | BuildRequires: libtool >= 2:1.5.22 |
d997b14b AM |
54 | BuildRequires: libstdc++-devel >= 5:3.4 |
55 | BuildRequires: ocaml-ocamldoc | |
8132e62b | 56 | BuildRequires: perl-base >= 1:5.6 |
8c156e7d | 57 | BuildRequires: perl-tools-pod |
58 | BuildRequires: rpm-pythonprov | |
dd9350c7 JB |
59 | %{?with_man:BuildRequires: sphinx-pdg} |
60 | %if %{with apidocs} | |
61 | BuildRequires: doxygen | |
62 | BuildRequires: graphviz | |
63 | %endif | |
64 | %if %{with tests} | |
65 | BuildRequires: dejagnu | |
66 | BuildRequires: python | |
67 | BuildRequires: tcl-devel | |
356a0bbd | 68 | %endif |
8c514f23 | 69 | Requires: %{name}-libs = %{version}-%{release} |
9556f4c9 ER |
70 | # LLVM is not supported on PPC64 |
71 | # http://llvm.org/bugs/show_bug.cgi?id=3729 | |
72 | ExcludeArch: ppc64 | |
aa11c230 | 73 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
74 | ||
356a0bbd | 75 | %define _sysconfdir /etc/%{name} |
021b3c3d | 76 | |
9556f4c9 ER |
77 | %define specflags_ppc -fno-var-tracking-assignments |
78 | ||
6832a5c5 ER |
79 | # strip corrupts: $RPM_BUILD_ROOT/usr/lib64/llvm-gcc/bin/llvm-c++ ... |
80 | %define _noautostrip .*/\\(libmud.*\\.a\\|bin/llvm-.*\\|lib.*++\\.a\\) | |
81 | ||
aa11c230 | 82 | %description |
83 | LLVM is a compiler infrastructure designed for compile-time, | |
84 | link-time, runtime, and idle-time optimization of programs from | |
85 | arbitrary programming languages. LLVM is written in C++ and has been | |
86 | developed since 2000 at the University of Illinois and Apple. It | |
621ec11f JB |
87 | currently supports compilation of C and C++ programs using clang |
88 | frontend. | |
aa11c230 | 89 | |
2326a99f JB |
90 | %description -l pl.UTF-8 |
91 | LLVM to infrastruktura kompilatora zaprojektowana do optymalizacji | |
92 | czasu kompilowania, linkowania, działania i bezczynności programów w | |
93 | dowolnych językach programowania. Jest napisana w C++, rozwijana od | |
94 | roku 2000 przez Uniwersytet w Illinois i Apple. Aktualnie obsługuje | |
621ec11f | 95 | kompilację programów w C i C++ przy użyciu frontendu clang. |
2326a99f | 96 | |
8c514f23 JB |
97 | %package libs |
98 | Summary: LLVM shared library | |
99 | Summary(pl.UTF-8): Biblioteka współdzielona LLVM-a | |
100 | Group: Libraries | |
101 | Conflicts: llvm < 3.2 | |
102 | ||
103 | %description libs | |
104 | LLVM shared library. | |
105 | ||
106 | %description libs -l pl.UTF-8 | |
107 | Biblioteka współdzielona LLVM-a. | |
108 | ||
bc88141a | 109 | %package devel |
621ec11f JB |
110 | Summary: Static libraries and header files for LLVM |
111 | Summary(pl.UTF-8): Biblioteki statyczne i pliki nagłówkowe dla LLVM-a | |
bc88141a | 112 | Group: Development/Languages |
8c514f23 | 113 | Requires: %{name}-libs = %{version}-%{release} |
bc88141a ER |
114 | Requires: libstdc++-devel >= 6:3.4 |
115 | ||
116 | %description devel | |
621ec11f JB |
117 | This package contains static libraries and header files needed to |
118 | develop new native programs that use the LLVM infrastructure. | |
119 | ||
120 | %description devel -l pl.UTF-8 | |
121 | Ten pakiet zawiera biblioteki statyczne oraz pliki nagłówkowe | |
122 | potrzebne do tworzenia nowych programów natywnych wykorzystujących | |
123 | infrastrukturę LLVM. | |
bc88141a | 124 | |
9556f4c9 ER |
125 | %package doc |
126 | Summary: Documentation for LLVM | |
621ec11f | 127 | Summary(pl.UTF-8): Dokumentacja do LLVM-a |
9556f4c9 ER |
128 | Group: Documentation |
129 | # does not require base | |
bc88141a | 130 | |
9556f4c9 ER |
131 | %description doc |
132 | Documentation for the LLVM compiler infrastructure. | |
bc88141a | 133 | |
621ec11f JB |
134 | %description doc -l pl.UTF-8 |
135 | Dokumentacja do infrastruktury kompilatorów LLVM. | |
136 | ||
9556f4c9 ER |
137 | %package apidocs |
138 | Summary: API documentation for LLVM | |
621ec11f | 139 | Summary(pl.UTF-8): Dokumentacja API LLVM-a |
9556f4c9 ER |
140 | Group: Development/Languages |
141 | Requires: %{name}-doc = %{version}-%{release} | |
bc88141a | 142 | |
9556f4c9 ER |
143 | %description apidocs |
144 | API documentation for the LLVM compiler infrastructure. | |
bc88141a | 145 | |
621ec11f JB |
146 | %description apidocs -l pl.UTF-8 |
147 | Dokumentacja API infrastruktury kompilatorów LLVM. | |
148 | ||
d997b14b AM |
149 | %package -n clang |
150 | Summary: A C language family frontend for LLVM | |
621ec11f | 151 | Summary(pl.UTF-8): Frontend LLVM-a do języków z rodziny C |
d997b14b AM |
152 | License: NCSA |
153 | Group: Development/Languages | |
8c514f23 | 154 | Requires: %{name} = %{version}-%{release} |
d997b14b AM |
155 | |
156 | %description -n clang | |
157 | clang: noun 1. A loud, resonant, metallic sound. 2. The strident call | |
158 | of a crane or goose. 3. C-language family front-end toolkit. | |
159 | ||
160 | The goal of the Clang project is to create a new C, C++, Objective C | |
161 | and Objective C++ front-end for the LLVM compiler. Its tools are built | |
162 | as libraries and designed to be loosely-coupled and extendable. | |
163 | ||
621ec11f JB |
164 | %description -n clang -l pl.UTF-8 |
165 | clang (z angielskiego): 1. głośny, rezonujący, metaliczny dźwięk; 2. | |
166 | piskliwy odgłos żurawia lub gęsi; 3. narzędzia frontendowe dla języków | |
167 | z rodziny C. | |
168 | ||
169 | Celem projektu Clang jest utworzenie nowego frontendu dla kompilatora | |
170 | LLVM do języków C, C++, Objective C i Objective C++. Narzędzia są | |
171 | budowane jako biblioteki i zaprojektowane z myślą o swobodnym łączeniu | |
172 | i rozszerzaniu. | |
173 | ||
d997b14b AM |
174 | %package -n clang-analyzer |
175 | Summary: A source code analysis framework | |
621ec11f | 176 | Summary(pl.UTF-8): Szkielet do analizy kodu źródłowego |
d997b14b AM |
177 | License: NCSA |
178 | Group: Development/Languages | |
179 | Requires: clang = %{version}-%{release} | |
180 | # not picked up automatically since files are currently not instaled | |
181 | # in standard Python hierarchies yet | |
182 | Requires: python | |
183 | ||
184 | %description -n clang-analyzer | |
185 | The Clang Static Analyzer consists of both a source code analysis | |
186 | framework and a standalone tool that finds bugs in C and Objective-C | |
187 | programs. The standalone tool is invoked from the command-line, and is | |
188 | intended to run in tandem with a build of a project or code base. | |
189 | ||
621ec11f JB |
190 | %description -n clang-analyzer -l pl.UTF-8 |
191 | Clang Static Analyzer składa się ze szkieletu do analizy kodu | |
192 | źródłowego oraz samodzielnego narzędzia znajdującego błędy w | |
193 | programach w C i C++. Narzędzie jest wywoływane z linii poleceń, z | |
194 | myślą o uruchamianiu wraz z kompilacją projektu lub kodu. | |
195 | ||
9556f4c9 | 196 | %package -n clang-devel |
621ec11f JB |
197 | Summary: Header files for Clang |
198 | Summary(pl.UTF-8): Pliki nagłówkowe Clanga | |
9556f4c9 | 199 | Group: Development/Languages |
8c514f23 | 200 | Requires: %{name}-devel = %{version}-%{release} |
9556f4c9 ER |
201 | Requires: clang = %{version}-%{release} |
202 | ||
203 | %description -n clang-devel | |
204 | This package contains header files for the Clang compiler. | |
205 | ||
621ec11f JB |
206 | %description -n clang-devel -l pl.UTF-8 |
207 | Ten pakiet zawiera pliki nagłówkowe kompilatora Clang. | |
208 | ||
9556f4c9 ER |
209 | %package -n clang-doc |
210 | Summary: Documentation for Clang | |
621ec11f | 211 | Summary(pl.UTF-8): Dokumentacja do Clanga |
9556f4c9 ER |
212 | Group: Documentation |
213 | Requires: %{name} = %{version}-%{release} | |
214 | ||
215 | %description -n clang-doc | |
216 | Documentation for the Clang compiler front-end. | |
217 | ||
621ec11f JB |
218 | %description -n clang-doc -l pl.UTF-8 |
219 | Dokumentacja do frontendu kompilatora Clang. | |
220 | ||
9556f4c9 ER |
221 | %package -n clang-apidocs |
222 | Summary: API documentation for Clang | |
621ec11f | 223 | Summary(pl.UTF-8): Dokumentacja API Clanga |
9556f4c9 ER |
224 | Group: Development/Languages |
225 | Requires: clang-doc = %{version}-%{release} | |
226 | ||
227 | %description -n clang-apidocs | |
228 | API documentation for the Clang compiler. | |
229 | ||
621ec11f JB |
230 | %description -n clang-apidocs -l pl.UTF-8 |
231 | Dokumentacja API kompilatora Clang. | |
232 | ||
5a7ac479 JB |
233 | %package -n lldb |
234 | Summary: Next generation high-performance debugger | |
235 | Summary(pl.UTF-8): Wydajny debugger nowej generacji | |
236 | Group: Development/Debuggers | |
237 | Requires: %{name} = %{version}-%{release} | |
238 | ||
239 | %description -n lldb | |
240 | LLDB is a next generation, high-performance debugger. It is built as a | |
241 | set of reusable components which highly leverage existing libraries in | |
242 | the larger LLVM Project, such as the Clang expression parser and LLVM | |
243 | disassembler. | |
244 | ||
245 | %description -n lldb -l pl.UTF-8 | |
246 | LLDB to wydajny debugger nowej generacji. Jest zbudowany w oparciu o | |
247 | komponenty wielokrotnego użytku, wykorzystujące istniejące biblioteki | |
248 | w projekcie LLVM, takie jak analizator wyrażeń kompilatora Clang oraz | |
249 | disasembler LLVM. | |
250 | ||
251 | %package -n lldb-devel | |
252 | Summary: Header files for LLDB | |
253 | Summary(pl.UTF-8): Pliki nagłówkowe LLDB | |
254 | Group: Development/Libraries | |
255 | Requires: %{name}-devel = %{version}-%{release} | |
256 | Requires: clang-devel = %{version}-%{release} | |
257 | Requires: lldb = %{version}-%{release} | |
258 | ||
259 | %description -n lldb-devel | |
260 | Header files for LLDB. | |
261 | ||
262 | %description -n lldb-devel -l pl.UTF-8 | |
263 | Pliki nagłówkowe LLDB. | |
264 | ||
9556f4c9 ER |
265 | %package ocaml |
266 | Summary: OCaml binding for LLVM | |
621ec11f JB |
267 | Summary(pl.UTF-8): Wiązanie OCamla do LLVM-a |
268 | Group: Libraries | |
9556f4c9 ER |
269 | Requires: %{name} = %{version}-%{release} |
270 | %requires_eq ocaml-runtime | |
271 | ||
621ec11f | 272 | %description ocaml |
9556f4c9 ER |
273 | OCaml binding for LLVM. |
274 | ||
621ec11f JB |
275 | %description ocaml -l pl.UTF-8 |
276 | Wiązanie OCamla do LLVM-a. | |
277 | ||
9556f4c9 | 278 | %package ocaml-devel |
621ec11f JB |
279 | Summary: Development files for LLVM OCaml binding |
280 | Summary(pl.UTF-8): Pliki programistyczne wiązania OCamla do LLVM-a | |
9556f4c9 ER |
281 | Group: Development/Libraries |
282 | Requires: %{name}-devel = %{version}-%{release} | |
283 | Requires: %{name}-ocaml = %{version}-%{release} | |
284 | ||
285 | %description ocaml-devel | |
286 | The llvm-ocaml-devel package contains libraries and signature files | |
621ec11f JB |
287 | for developing applications that use llvm-ocaml binding. |
288 | ||
289 | %description ocaml-devel -l pl.UTF-8 | |
290 | Ten pakiet zawiera biblioteki i pliki sygnatur do tworzenia aplikacji | |
291 | wykorzystujących wiązanie llvm-ocaml. | |
292 | ||
9556f4c9 ER |
293 | %package ocaml-doc |
294 | Summary: Documentation for LLVM's OCaml binding | |
621ec11f | 295 | Summary(pl.UTF-8): Dokumentacja wiązania OCamla do LLVM-a |
9556f4c9 ER |
296 | Group: Documentation |
297 | Requires: %{name}-ocaml = %{version}-%{release} | |
298 | ||
299 | %description ocaml-doc | |
300 | HTML documentation for LLVM's OCaml binding. | |
301 | ||
621ec11f JB |
302 | %description ocaml-doc -l pl.UTF-8 |
303 | Dokumentacja HTML wiązania OCamla do LLVM-a. | |
304 | ||
aa11c230 | 305 | %prep |
5a7ac479 | 306 | %setup -q -n %{name}-%{version}.src -a1 -a2 -a3 |
c999855f | 307 | mv cfe-%{version}.src tools/clang |
5a7ac479 JB |
308 | %{?with_rt:mv compiler-rt-3.4 projects/compiler-rt} |
309 | %{?with_lldb:mv lldb-3.4 tools/lldb} | |
310 | ||
ebde279d JB |
311 | %patch0 -p1 |
312 | %patch1 -p1 | |
313 | %patch2 -p1 | |
11b6f380 | 314 | %patch3 -p1 |
ce9cc204 | 315 | |
19f21eee | 316 | # configure does not properly specify libdir |
3a1d4bb3 | 317 | %{__sed} -i 's|(PROJ_prefix)/lib|(PROJ_prefix)/%{_lib}|g' Makefile.config.in |
9206c2b1 JB |
318 | # clang resources |
319 | %{__sed} -i 's|(PROJ_prefix)/lib/|(PROJ_prefix)/%{_lib}/|g' tools/clang/lib/Headers/Makefile | |
320 | %{__sed} -i 's|"lib"|"%{_lib}"|' tools/clang/lib/Driver/Driver.cpp | |
19f21eee | 321 | |
bacc8b96 ER |
322 | grep -rl /usr/bin/env tools utils | xargs sed -i -e '1{ |
323 | s,^#!.*bin/env python,#!%{__python}, | |
324 | s,^#!.*bin/env perl,#!%{__perl}, | |
325 | }' | |
326 | ||
9556f4c9 | 327 | install -d obj |
aa11c230 | 328 | |
329 | %build | |
ebde279d JB |
330 | cd autoconf |
331 | %{__aclocal} -I m4 | |
332 | %{__autoconf} -o ../configure configure.ac | |
333 | cd .. | |
334 | %{__autoheader} -I autoconf -I autoconf/m4 autoconf/configure.ac | |
335 | ||
d997b14b | 336 | # Disabling assertions now, rec. by pure and needed for OpenGTL |
9556f4c9 | 337 | # TESTFIX no PIC on ix86: http://llvm.org/bugs/show_bug.cgi?id=3801 |
d997b14b | 338 | # |
bc88141a | 339 | # bash specific 'test a < b' |
9556f4c9 | 340 | cd obj |
d997b14b | 341 | bash ../%configure \ |
bc88141a | 342 | --datadir=%{_datadir}/%{name}-%{version} \ |
632f3287 | 343 | --disable-assertions \ |
5a7ac479 | 344 | --enable-cxx11 \ |
d997b14b | 345 | %ifarch %{ix86} |
632f3287 | 346 | --disable-pic \ |
9556f4c9 | 347 | %endif |
632f3287 JB |
348 | --disable-static \ |
349 | --enable-bindings=%{?with_ocaml:ocaml}%{!?with_ocaml:none} \ | |
350 | --enable-debug-runtime \ | |
9556f4c9 ER |
351 | %if %{with apidocs} |
352 | --enable-doxygen \ | |
d997b14b | 353 | %endif |
25189042 | 354 | --enable-experimental-targets=R600 \ |
bc88141a | 355 | --enable-jit \ |
aa11c230 | 356 | --enable-optimized \ |
bc88141a ER |
357 | --enable-shared \ |
358 | --with-pic | |
359 | ||
d997b14b | 360 | %{__make} \ |
1628dc68 | 361 | VERBOSE=1 \ |
0a0b7076 | 362 | REQUIRES_RTTI=1 \ |
d997b14b | 363 | OPTIMIZE_OPTION="%{rpmcflags} %{rpmcppflags}" |
aa11c230 | 364 | |
827664e9 | 365 | %if %{with tests} |
9556f4c9 ER |
366 | %{__make} check 2>&1 | tee llvm-testlog.txt |
367 | %{__make} -C tools/clang test 2>&1 | tee clang-testlog.txt | |
368 | %endif | |
369 | ||
dd9350c7 JB |
370 | cd .. |
371 | ||
372 | %if %{with man} | |
373 | %{__make} -C docs -f Makefile.sphinx man | |
374 | %endif | |
375 | ||
aa11c230 | 376 | %install |
377 | rm -rf $RPM_BUILD_ROOT | |
9556f4c9 | 378 | %{__make} -C obj -j1 install \ |
d997b14b | 379 | PROJ_docsdir=/moredocs \ |
aa11c230 | 380 | DESTDIR=$RPM_BUILD_ROOT |
381 | ||
d997b14b | 382 | # Static analyzer not installed by default: |
9556f4c9 ER |
383 | # http://clang-analyzer.llvm.org/installation#OtherPlatforms |
384 | install -d $RPM_BUILD_ROOT%{_libdir}/clang-analyzer | |
d997b14b AM |
385 | # create launchers |
386 | for f in scan-{build,view}; do | |
9556f4c9 ER |
387 | ln -s %{_libdir}/clang-analyzer/$f/$f $RPM_BUILD_ROOT%{_bindir}/$f |
388 | cp -pr tools/clang/tools/$f $RPM_BUILD_ROOT%{_libdir}/clang-analyzer | |
d997b14b | 389 | done |
dd9350c7 | 390 | %{__mv} $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/scan-build/scan-build.1 $RPM_BUILD_ROOT%{_mandir}/man1 |
8132e62b JB |
391 | %py_comp $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/scan-view |
392 | %py_ocomp $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/scan-view | |
393 | %py_postclean %{_libdir}/clang-analyzer/scan-view | |
d997b14b | 394 | |
dd9350c7 JB |
395 | %if %{with man} |
396 | install -d $RPM_BUILD_ROOT%{_mandir}/man1 | |
397 | cp -p docs/_build/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 | |
398 | # these tools are not installed | |
399 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{FileCheck,llvm-build}.1 | |
400 | %endif | |
401 | ||
d997b14b | 402 | # Move documentation back to build directory |
d997b14b AM |
403 | rm -rf moredocs |
404 | mv $RPM_BUILD_ROOT/moredocs . | |
ebde279d JB |
405 | %{__rm} -v moredocs/*.tar.gz |
406 | %{__rm} -v moredocs/ocamldoc/html/*.tar.gz | |
9556f4c9 ER |
407 | |
408 | # and separate the apidoc | |
409 | %if %{with apidocs} | |
410 | rm -rf apidoc clang-apidoc | |
411 | mv moredocs/html/doxygen apidoc | |
412 | cp -a tools/clang/docs/doxygen/html clang-apidoc | |
413 | %endif | |
d997b14b AM |
414 | |
415 | # And prepare Clang documentation | |
d997b14b | 416 | rm -rf clang-docs |
9556f4c9 | 417 | install -d clang-docs |
827664e9 | 418 | for f in LICENSE.TXT NOTES.txt README.txt; do |
9556f4c9 | 419 | ln tools/clang/$f clang-docs |
d997b14b | 420 | done |
021b3c3d | 421 | |
6832a5c5 | 422 | # Get rid of erroneously installed example files. |
ebde279d | 423 | %{__rm} -v $RPM_BUILD_ROOT%{_libdir}/*LLVMHello.* |
6832a5c5 | 424 | |
11b6f380 JB |
425 | echo '.so llvm-ar.1' > $RPM_BUILD_ROOT%{_mandir}/man1/llvm-ranlib.1 |
426 | # llvm-prof has been removed before LLVM 3.4 | |
427 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/llvm-prof.1 | |
428 | ||
d997b14b AM |
429 | # remove documentation makefiles: |
430 | # they require the build directory to work | |
9556f4c9 ER |
431 | rm -rf moredocs/examples |
432 | cp -a examples moredocs/examples | |
433 | find moredocs/examples -name Makefile | xargs -0r rm -f | |
6832a5c5 | 434 | |
aa11c230 | 435 | %clean |
436 | rm -rf $RPM_BUILD_ROOT | |
437 | ||
8c514f23 JB |
438 | %post libs -p /sbin/ldconfig |
439 | %postun libs -p /sbin/ldconfig | |
aa11c230 | 440 | |
5a7ac479 JB |
441 | %post -n clang -p /sbin/ldconfig |
442 | %postun -n clang -p /sbin/ldconfig | |
443 | ||
444 | %post -n lldb -p /sbin/ldconfig | |
445 | %postun -n lldb -p /sbin/ldconfig | |
446 | ||
aa11c230 | 447 | %files |
448 | %defattr(644,root,root,755) | |
8132e62b | 449 | %doc CREDITS.TXT LICENSE.TXT README.txt %{?with_tests:llvm-testlog.txt} |
a9beeab5 | 450 | %attr(755,root,root) %{_bindir}/bugpoint |
a9beeab5 JB |
451 | %attr(755,root,root) %{_bindir}/llc |
452 | %attr(755,root,root) %{_bindir}/lli | |
11b6f380 | 453 | %attr(755,root,root) %{_bindir}/lli-child-target |
8132e62b JB |
454 | %attr(755,root,root) %{_bindir}/llvm-ar |
455 | %attr(755,root,root) %{_bindir}/llvm-as | |
456 | %attr(755,root,root) %{_bindir}/llvm-bcanalyzer | |
827664e9 | 457 | %attr(755,root,root) %{_bindir}/llvm-cov |
8132e62b JB |
458 | %attr(755,root,root) %{_bindir}/llvm-diff |
459 | %attr(755,root,root) %{_bindir}/llvm-dis | |
827664e9 | 460 | %attr(755,root,root) %{_bindir}/llvm-dwarfdump |
8132e62b | 461 | %attr(755,root,root) %{_bindir}/llvm-extract |
8132e62b JB |
462 | %attr(755,root,root) %{_bindir}/llvm-link |
463 | %attr(755,root,root) %{_bindir}/llvm-mc | |
dd9350c7 | 464 | %attr(755,root,root) %{_bindir}/llvm-mcmarkup |
8132e62b JB |
465 | %attr(755,root,root) %{_bindir}/llvm-nm |
466 | %attr(755,root,root) %{_bindir}/llvm-objdump | |
8132e62b | 467 | %attr(755,root,root) %{_bindir}/llvm-ranlib |
f981d747 | 468 | %attr(755,root,root) %{_bindir}/llvm-readobj |
827664e9 PS |
469 | %attr(755,root,root) %{_bindir}/llvm-rtdyld |
470 | %attr(755,root,root) %{_bindir}/llvm-size | |
f981d747 | 471 | %attr(755,root,root) %{_bindir}/llvm-stress |
1628dc68 | 472 | %attr(755,root,root) %{_bindir}/llvm-symbolizer |
827664e9 | 473 | %attr(755,root,root) %{_bindir}/llvm-tblgen |
a7973f21 | 474 | %attr(755,root,root) %{_bindir}/macho-dump |
8132e62b | 475 | %attr(755,root,root) %{_bindir}/opt |
a9beeab5 | 476 | %{_mandir}/man1/bugpoint.1* |
a7973f21 | 477 | %{_mandir}/man1/lit.1* |
a9beeab5 JB |
478 | %{_mandir}/man1/llc.1* |
479 | %{_mandir}/man1/lli.1* | |
8132e62b JB |
480 | %{_mandir}/man1/llvm-ar.1* |
481 | %{_mandir}/man1/llvm-as.1* | |
482 | %{_mandir}/man1/llvm-bcanalyzer.1* | |
f981d747 | 483 | %{_mandir}/man1/llvm-cov.1* |
8132e62b JB |
484 | %{_mandir}/man1/llvm-diff.1* |
485 | %{_mandir}/man1/llvm-dis.1* | |
486 | %{_mandir}/man1/llvm-extract.1* | |
8132e62b JB |
487 | %{_mandir}/man1/llvm-link.1* |
488 | %{_mandir}/man1/llvm-nm.1* | |
8132e62b | 489 | %{_mandir}/man1/llvm-ranlib.1* |
c999855f | 490 | %{_mandir}/man1/llvm-readobj.1* |
f981d747 | 491 | %{_mandir}/man1/llvm-stress.1* |
1628dc68 | 492 | %{_mandir}/man1/llvm-symbolizer.1* |
a9beeab5 | 493 | %{_mandir}/man1/opt.1* |
dd9350c7 | 494 | %{_mandir}/man1/tblgen.1* |
bc88141a | 495 | |
8c514f23 JB |
496 | %files libs |
497 | %defattr(644,root,root,755) | |
c999855f | 498 | %attr(755,root,root) %{_libdir}/libLLVM-%{version}.so |
11b6f380 | 499 | %attr(755,root,root) %{_libdir}/libLLVM-3.4.so |
8c514f23 | 500 | |
bc88141a ER |
501 | %files devel |
502 | %defattr(644,root,root,755) | |
503 | %attr(755,root,root) %{_bindir}/llvm-config | |
8132e62b | 504 | %{_libdir}/libLLVM*.a |
1655c8b5 | 505 | %ifarch %{x8664} |
0a8510f2 | 506 | %attr(755,root,root) %{_libdir}/BugpointPasses.so |
19f21eee | 507 | %attr(755,root,root) %{_libdir}/libLTO.so |
8132e62b | 508 | %{_libdir}/libLTO.a |
1655c8b5 | 509 | %endif |
8132e62b JB |
510 | %{_includedir}/llvm |
511 | %{_includedir}/llvm-c | |
512 | %{_mandir}/man1/llvm-config.1* | |
bc88141a | 513 | |
9556f4c9 ER |
514 | %files doc |
515 | %defattr(644,root,root,755) | |
516 | %doc moredocs/examples moredocs/html | |
517 | ||
518 | %if %{with apidocs} | |
519 | %files apidocs | |
520 | %defattr(644,root,root,755) | |
521 | %doc apidoc/* | |
522 | %endif | |
523 | ||
d997b14b | 524 | %files -n clang |
bc88141a | 525 | %defattr(644,root,root,755) |
827664e9 | 526 | %doc clang-docs/{LICENSE.TXT,NOTES.txt,README.txt} %{?with_tests:clang-testlog.txt} |
dd9350c7 | 527 | %attr(755,root,root) %{_bindir}/c-index-test |
8132e62b JB |
528 | %attr(755,root,root) %{_bindir}/clang |
529 | %attr(755,root,root) %{_bindir}/clang++ | |
dd9350c7 | 530 | %attr(755,root,root) %{_bindir}/clang-check |
1628dc68 | 531 | %attr(755,root,root) %{_bindir}/clang-format |
827664e9 | 532 | %attr(755,root,root) %{_bindir}/clang-tblgen |
b3a27ca2 | 533 | %attr(755,root,root) %{_libdir}/libclang.so |
5a7ac479 JB |
534 | %dir %{_libdir}/clang |
535 | %dir %{_libdir}/clang/%{version} | |
536 | %{_libdir}/clang/%{version}/include | |
537 | %if %{with rt} | |
538 | %{_libdir}/clang/%{version}/lib | |
539 | %endif | |
8132e62b | 540 | %{_mandir}/man1/clang.1* |
d997b14b AM |
541 | |
542 | %files -n clang-analyzer | |
bc88141a | 543 | %defattr(644,root,root,755) |
d997b14b AM |
544 | %attr(755,root,root) %{_bindir}/scan-build |
545 | %attr(755,root,root) %{_bindir}/scan-view | |
dd9350c7 | 546 | %{_mandir}/man1/scan-build.1* |
ae49e501 | 547 | %dir %{_libdir}/clang-analyzer |
d997b14b | 548 | |
9556f4c9 ER |
549 | %dir %{_libdir}/clang-analyzer/scan-build |
550 | %{_libdir}/clang-analyzer/scan-build/*.css | |
551 | %{_libdir}/clang-analyzer/scan-build/*.js | |
552 | %attr(755,root,root) %{_libdir}/clang-analyzer/scan-build/scan-build | |
553 | %attr(755,root,root) %{_libdir}/clang-analyzer/scan-build/*-analyzer | |
554 | ||
8132e62b JB |
555 | %dir %{_libdir}/clang-analyzer/scan-view |
556 | %attr(755,root,root) %{_libdir}/clang-analyzer/scan-view/scan-view | |
557 | %{_libdir}/clang-analyzer/scan-view/Resources | |
558 | %{_libdir}/clang-analyzer/scan-view/*.py[co] | |
559 | ||
9556f4c9 ER |
560 | %files -n clang-devel |
561 | %defattr(644,root,root,755) | |
8132e62b | 562 | %{_libdir}/libclang*.a |
9556f4c9 ER |
563 | %{_includedir}/clang |
564 | %{_includedir}/clang-c | |
565 | ||
566 | %files -n clang-doc | |
567 | %defattr(644,root,root,755) | |
8132e62b | 568 | %doc tools/clang/docs/*.{css,html,png,txt} |
9556f4c9 ER |
569 | |
570 | %if %{with apidocs} | |
571 | %files -n clang-apidocs | |
572 | %defattr(644,root,root,755) | |
573 | %doc clang-apidoc/* | |
574 | %endif | |
575 | ||
5a7ac479 JB |
576 | %if %{with lldb} |
577 | %files -n lldb | |
578 | %defattr(644,root,root,755) | |
579 | %attr(755,root,root) %{_bindir}/lldb | |
580 | %attr(755,root,root) %{_bindir}/lldb-platform | |
581 | %attr(755,root,root) %{_libdir}/liblldb.so | |
582 | ||
583 | %files -n lldb-devel | |
584 | %defattr(644,root,root,755) | |
585 | %{_libdir}/liblldb*.a | |
586 | %{_includedir}/lldb | |
587 | %endif | |
588 | ||
9556f4c9 | 589 | %if %{with ocaml} |
d997b14b AM |
590 | %files ocaml |
591 | %defattr(644,root,root,755) | |
11b6f380 JB |
592 | %{_libdir}/ocaml/META.llvm* |
593 | %attr(755,root,root) %{_libdir}/ocaml/dllllvm*.so | |
8132e62b JB |
594 | %{_libdir}/ocaml/llvm*.cma |
595 | %{_libdir}/ocaml/llvm*.cmi | |
d997b14b AM |
596 | |
597 | %files ocaml-devel | |
598 | %defattr(644,root,root,755) | |
bc8a0b58 | 599 | %{_libdir}/libllvm*.a |
8132e62b JB |
600 | %{_libdir}/ocaml/libLLVM*.a |
601 | %{_libdir}/ocaml/libllvm*.a | |
602 | %{_libdir}/ocaml/llvm*.a | |
603 | %{_libdir}/ocaml/llvm*.cmx* | |
604 | %{_libdir}/ocaml/llvm*.mli | |
9556f4c9 ER |
605 | |
606 | %files ocaml-doc | |
607 | %defattr(644,root,root,755) | |
608 | %doc moredocs/ocamldoc/html/* | |
609 | %endif |