]> git.pld-linux.org Git - packages/llvm.git/blob - llvm.spec
- rel 2
[packages/llvm.git] / llvm.spec
1 # TODO:
2 # - move and package:
3 #       %{_datadir}/clang/clang-format-sublime.py - sublime plugin
4 #       %{_datadir}/clang/clang-format.el - emacs mode
5 #       %{_datadir}/clang/clang-format.py - vim plugin
6 # - no content in doc package (it used to contain parts of clang apidocs and some examples)
7 #
8 # Conditional build:
9 %bcond_without  lldb    # LLDB debugger
10 %bcond_without  polly   # Polly cache-locality optimization, auto-parallelism and vectorization
11 %bcond_without  rt      # compiler-rt libraries
12 %bcond_without  ocaml   # OCaml binding
13 %bcond_without  doc     # HTML docs and man pages
14 %bcond_with     apidocs # doxygen docs (HUGE, so they are not built by default)
15 %bcond_with     tests   # run tests
16
17 # No ocaml on other arches or no native ocaml (required for ocaml-ctypes)
18 %ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9 
19 %undefine       with_ocaml
20 %endif
21
22 Summary:        The Low Level Virtual Machine (An Optimizing Compiler Infrastructure)
23 Summary(pl.UTF-8):      Niskopoziomowa maszyna wirtualna (infrastruktura kompilatora optymalizującego)
24 Name:           llvm
25 Version:        3.7.0
26 Release:        2
27 License:        University of Illinois/NCSA Open Source License
28 Group:          Development/Languages
29 #Source0Download: http://llvm.org/releases/download.html
30 Source0:        http://llvm.org/releases/%{version}/%{name}-%{version}.src.tar.xz
31 # Source0-md5:  b98b9495e5655a672d6cb83e1a180f8e
32 Source1:        http://llvm.org/releases/%{version}/cfe-%{version}.src.tar.xz
33 # Source1-md5:  8f9d27335e7331cf0a4711e952f21f01
34 Source2:        http://llvm.org/releases/%{version}/compiler-rt-%{version}.src.tar.xz
35 # Source2-md5:  383c10affd513026f08936b5525523f5
36 Source3:        http://llvm.org/releases/%{version}/lldb-%{version}.src.tar.xz
37 # Source3-md5:  e5931740400d1dc3e7db4c7ba2ceff68
38 Source4:        http://llvm.org/releases/%{version}/polly-%{version}.src.tar.xz
39 # Source4-md5:  32f93ffc9cc7e042df22089761558f8b
40 Source5:        http://llvm.org/releases/%{version}/clang-tools-extra-%{version}.src.tar.xz
41 # Source5-md5:  d5a87dacb65d981a427a536f6964642e
42 Source6:        http://llvm.org/releases/%{version}/lld-%{version}.src.tar.xz
43 # Source6-md5:  91bd593a67293d84dad0bf11845546c2
44 Patch0:         %{name}-lld-link.patch
45 Patch1:         %{name}-pld.patch
46 Patch2:         libdir.patch
47 Patch3:         x32-gcc-toolchain.patch
48 Patch4:         gcc5.patch
49 Patch5:         debuginfo-fix.patch
50 URL:            http://llvm.org/
51 BuildRequires:  bash
52 BuildRequires:  bison
53 BuildRequires:  cmake
54 BuildRequires:  flex
55 BuildRequires:  gcc >= 5:3.4
56 # gcc4 might be installed, but not current __cc
57 %if "%(echo %{cc_version} | cut -d. -f1,2)" < "3.4"
58 BuildRequires:  __cc >= 3.4
59 %endif
60 %ifarch x32
61 BuildRequires:  glibc-devel(x86_64)
62 %endif
63 BuildRequires:  groff
64 BuildRequires:  libltdl-devel
65 BuildRequires:  libstdc++-devel >= 5:3.4
66 %if %{with ocaml}
67 BuildRequires:  ocaml-ctypes-devel >= 0.4
68 BuildRequires:  ocaml-findlib
69 BuildRequires:  ocaml-ocamldoc
70 BuildRequires:  ocaml-ounit
71 %endif
72 BuildRequires:  perl-base >= 1:5.6
73 BuildRequires:  perl-tools-pod
74 BuildRequires:  rpm-pythonprov
75 %{?with_doc:BuildRequires:      sphinx-pdg}
76 BuildRequires:  tar >= 1:1.22
77 BuildRequires:  xz
78 %if %{with apidocs}
79 BuildRequires:  doxygen
80 BuildRequires:  graphviz
81 %endif
82 %if %{with tests}
83 BuildRequires:  dejagnu
84 BuildRequires:  python
85 BuildRequires:  tcl-devel
86 %endif
87 %if %{with lldb}
88 BuildRequires:  epydoc
89 %ifarch i386 i486
90 BuildRequires:  libatomic-devel
91 %endif
92 BuildRequires:  libedit-devel
93 BuildRequires:  libxml2-devel >= 2
94 BuildRequires:  ncurses-ext-devel
95 BuildRequires:  python-devel >= 2
96 BuildRequires:  swig-python
97 %endif
98 %if %{with polly}
99 BuildRequires:  cloog-isl-devel
100 # >= 0.18.2-2
101 BuildRequires:  gmp-devel
102 BuildRequires:  isl-devel >= 0.14
103 # optional
104 BuildRequires:  pluto-devel
105 BuildRequires:  scoplib-devel >= 0.2.1-2
106 #cuda-devel
107 %endif
108 Requires:       %{name}-libs = %{version}-%{release}
109 # LLVM is not supported on PPC64
110 # http://llvm.org/bugs/show_bug.cgi?id=3729
111 ExcludeArch:    ppc64
112 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
113
114 %define         _sysconfdir     /etc/%{name}
115
116 %define         specflags_ppc   -fno-var-tracking-assignments
117
118 # strip corrupts: $RPM_BUILD_ROOT/usr/lib64/llvm-gcc/bin/llvm-c++ ...
119 %define         _noautostrip    .*/\\(libmud.*\\.a\\|bin/llvm-.*\\|lib.*++\\.a\\)
120
121 # clang doesn't know it, and leaving it here would pollute llvm-config
122 %define         filterout_c     -fvar-tracking-assignments
123 %define         filterout_cxx   -fvar-tracking-assignments
124 %define         filterout_ccpp  -fvar-tracking-assignments
125
126 # std::__once_call, std::__once_callable non-function symbols
127 %define         skip_post_check_so      liblldAArch64ELFTarget.so.* liblldARMELFTarget.so.* liblldHexagonELFTarget.so.* liblldMipsELFTarget.so.* liblldb.so.*
128
129 %description
130 LLVM is a compiler infrastructure designed for compile-time,
131 link-time, runtime, and idle-time optimization of programs from
132 arbitrary programming languages. LLVM is written in C++ and has been
133 developed since 2000 at the University of Illinois and Apple. It
134 currently supports compilation of C and C++ programs using clang
135 frontend.
136
137 %description -l pl.UTF-8
138 LLVM to infrastruktura kompilatora zaprojektowana do optymalizacji
139 czasu kompilowania, linkowania, działania i bezczynności programów w
140 dowolnych językach programowania. Jest napisana w C++, rozwijana od
141 roku 2000 przez Uniwersytet w Illinois i Apple. Aktualnie obsługuje
142 kompilację programów w C i C++ przy użyciu frontendu clang.
143
144 %package libs
145 Summary:        LLVM shared library
146 Summary(pl.UTF-8):      Biblioteka współdzielona LLVM-a
147 Group:          Libraries
148 Conflicts:      llvm < 3.2
149
150 %description libs
151 LLVM shared library.
152
153 %description libs -l pl.UTF-8
154 Biblioteka współdzielona LLVM-a.
155
156 %package devel
157 Summary:        Static libraries and header files for LLVM
158 Summary(pl.UTF-8):      Biblioteki statyczne i pliki nagłówkowe dla LLVM-a
159 Group:          Development/Languages
160 Requires:       %{name}-libs = %{version}-%{release}
161 Requires:       libstdc++-devel >= 6:3.4
162
163 %description devel
164 This package contains static libraries and header files needed to
165 develop new native programs that use the LLVM infrastructure.
166
167 %description devel -l pl.UTF-8
168 Ten pakiet zawiera biblioteki statyczne oraz pliki nagłówkowe
169 potrzebne do tworzenia nowych programów natywnych wykorzystujących
170 infrastrukturę LLVM.
171
172 %package doc
173 Summary:        Documentation for LLVM
174 Summary(pl.UTF-8):      Dokumentacja do LLVM-a
175 Group:          Documentation
176 # does not require base
177
178 %description doc
179 Documentation for the LLVM compiler infrastructure.
180
181 %description doc -l pl.UTF-8
182 Dokumentacja do infrastruktury kompilatorów LLVM.
183
184 %package apidocs
185 Summary:        API documentation for LLVM
186 Summary(pl.UTF-8):      Dokumentacja API LLVM-a
187 Group:          Development/Languages
188 Requires:       %{name}-doc = %{version}-%{release}
189
190 %description apidocs
191 API documentation for the LLVM compiler infrastructure.
192
193 %description apidocs -l pl.UTF-8
194 Dokumentacja API infrastruktury kompilatorów LLVM.
195
196 %package polly
197 Summary:        Polyhedral optimizations for LLVM
198 Summary(pl.UTF-8):      Optymalizacje wielościanowe dla LLVM-a
199 Group:          Development/Tools
200 URL:            http://polly.llvm.org/
201 Requires:       %{name} = %{version}-%{release}
202
203 %description polly
204 Polly is a high-level loop and data-locality optimizer and
205 optimization infrastructure for LLVM. It uses an abstract mathematical
206 representation based on integer polyhedra to analyze and optimize the
207 memory access pattern of a program.
208
209 %description polly -l pl.UTF-8
210 Polly to wysokopoziomowy optymalizator i infrastruktura LLVM-a do
211 optymalizacji pętli i położenia danych. Wykorzystuje abstrakcyjną
212 reprezentację matematyczną opartą na wielościanach całkowitoliczbowych
213 do analizy i optymalizacji wzorców dostępu do pamięci przez program.
214
215 %package polly-devel
216 Summary:        Header files for LLVM Polly optimization infrastructure
217 Summary(pl.UTF-8):      Pliki nagłówkowe infrastruktury optymalizacji LLVM-a Polly
218 Group:          Development/Libraries
219 URL:            http://polly.llvm.org/
220 Requires:       %{name}-devel = %{version}-%{release}
221 Requires:       %{name}-polly = %{version}-%{release}
222
223 %description polly-devel
224 Header files for LLVM Polly optimization infrastructure.
225
226 %description polly-devel -l pl.UTF-8
227 Pliki nagłówkowe infrastruktury optymalizacji LLVM-a Polly.
228
229 %package -n clang
230 Summary:        A C language family frontend for LLVM
231 Summary(pl.UTF-8):      Frontend LLVM-a do języków z rodziny C
232 License:        NCSA
233 Group:          Development/Languages
234 Requires:       %{name} = %{version}-%{release}
235
236 %description -n clang
237 clang: noun 1. A loud, resonant, metallic sound. 2. The strident call
238 of a crane or goose. 3. C-language family front-end toolkit.
239
240 The goal of the Clang project is to create a new C, C++, Objective C
241 and Objective C++ front-end for the LLVM compiler. Its tools are built
242 as libraries and designed to be loosely-coupled and extendable.
243
244 %description -n clang -l pl.UTF-8
245 clang (z angielskiego): 1. głośny, rezonujący, metaliczny dźwięk; 2.
246 piskliwy odgłos żurawia lub gęsi; 3. narzędzia frontendowe dla języków
247 z rodziny C.
248
249 Celem projektu Clang jest utworzenie nowego frontendu dla kompilatora
250 LLVM do języków C, C++, Objective C i Objective C++. Narzędzia są
251 budowane jako biblioteki i zaprojektowane z myślą o swobodnym łączeniu
252 i rozszerzaniu.
253
254 %package -n clang-multilib
255 Summary:        A C language family frontend for LLVM - 32-bit support
256 Summary(pl.UTF-8):      Frontend LLVM-a do języków z rodziny C - obsługa binariów 32-bitowych
257 License:        NCSA
258 Group:          Development/Languages
259 Requires:       clang = %{version}-%{release}
260
261 %description -n clang-multilib
262 clang: noun 1. A loud, resonant, metallic sound. 2. The strident call
263 of a crane or goose. 3. C-language family front-end toolkit.
264
265 The goal of the Clang project is to create a new C, C++, Objective C
266 and Objective C++ front-end for the LLVM compiler. Its tools are built
267 as libraries and designed to be loosely-coupled and extendable.
268
269 This package contains the C compiler support for producing 32-bit
270 programs on 64-bit host.
271
272 %description -n clang-multilib -l pl.UTF-8
273 clang (z angielskiego): 1. głośny, rezonujący, metaliczny dźwięk; 2.
274 piskliwy odgłos żurawia lub gęsi; 3. narzędzia frontendowe dla języków
275 z rodziny C.
276
277 Celem projektu Clang jest utworzenie nowego frontendu dla kompilatora
278 LLVM do języków C, C++, Objective C i Objective C++. Narzędzia są
279 budowane jako biblioteki i zaprojektowane z myślą o swobodnym łączeniu
280 i rozszerzaniu.
281
282 Ten pakiet zawiera rozszerzenie kompilatora C o obsługę tworzenia
283 programów 32-bitowych na maszynie 64-bitowej.
284
285 %package -n clang-analyzer
286 Summary:        A source code analysis framework
287 Summary(pl.UTF-8):      Szkielet do analizy kodu źródłowego
288 License:        NCSA
289 Group:          Development/Languages
290 Requires:       clang = %{version}-%{release}
291 # not picked up automatically since files are currently not instaled
292 # in standard Python hierarchies yet
293 Requires:       python
294
295 %description -n clang-analyzer
296 The Clang Static Analyzer consists of both a source code analysis
297 framework and a standalone tool that finds bugs in C and Objective-C
298 programs. The standalone tool is invoked from the command-line, and is
299 intended to run in tandem with a build of a project or code base.
300
301 %description -n clang-analyzer -l pl.UTF-8
302 Clang Static Analyzer składa się ze szkieletu do analizy kodu
303 źródłowego oraz samodzielnego narzędzia znajdującego błędy w
304 programach w C i C++. Narzędzie jest wywoływane z linii poleceń, z
305 myślą o uruchamianiu wraz z kompilacją projektu lub kodu.
306
307 %package -n clang-devel
308 Summary:        Header files for Clang
309 Summary(pl.UTF-8):      Pliki nagłówkowe Clanga
310 Group:          Development/Languages
311 Requires:       %{name}-devel = %{version}-%{release}
312 Requires:       clang = %{version}-%{release}
313
314 %description -n clang-devel
315 This package contains header files for the Clang compiler.
316
317 %description -n clang-devel -l pl.UTF-8
318 Ten pakiet zawiera pliki nagłówkowe kompilatora Clang.
319
320 %package -n clang-doc
321 Summary:        Documentation for Clang
322 Summary(pl.UTF-8):      Dokumentacja do Clanga
323 Group:          Documentation
324 Requires:       %{name} = %{version}-%{release}
325
326 %description -n clang-doc
327 Documentation for the Clang compiler front-end.
328
329 %description -n clang-doc -l pl.UTF-8
330 Dokumentacja do frontendu kompilatora Clang.
331
332 %package -n clang-apidocs
333 Summary:        API documentation for Clang
334 Summary(pl.UTF-8):      Dokumentacja API Clanga
335 Group:          Development/Languages
336 Requires:       clang-doc = %{version}-%{release}
337
338 %description -n clang-apidocs
339 API documentation for the Clang compiler.
340
341 %description -n clang-apidocs -l pl.UTF-8
342 Dokumentacja API kompilatora Clang.
343
344 %package -n clang-tools-extra
345 Summary:        Extra tools for Clang
346 Summary(pl.UTF-8):      Dodatkowe narzędzia do kompilatora Clang
347 Group:          Development/Tools
348 URL:            http://clang.llvm.org/docs/ClangTools.html
349 Requires:       clang = %{version}-%{release}
350
351 %description -n clang-tools-extra
352 Extra tools for Clang.
353
354 %description -n clang-tools-extra -l pl.UTF-8
355 Dodatkowe narzędzia do kompilatora Clang.
356
357 %package -n lld
358 Summary:        The LLVM linker
359 Summary(pl.UTF-8):      Konsolidator z projektu LLVM
360 Group:          Development/Libraries
361 URL:            http://lld.llvm.org/
362 Requires:       %{name} = %{version}-%{release}
363
364 %description -n lld
365 lld is a new set of modular code for creating linker tools.
366
367 %description -n lld -l pl.UTF-8
368 lld to nowy zbiór modularnego kodu do tworzenia narzędzi
369 konsolidujących.
370
371 %package -n lld-devel
372 Summary:        Development files for LLD linker tools
373 Summary(pl.UTF-8):      Pliki programistyczne narzędzi konsolidujących LLD
374 Group:          Development/Tools
375 URL:            http://lld.llvm.org/
376 Requires:       %{name}-devel = %{version}-%{release}
377
378 %description -n lld-devel
379 Development files for LLD linker tools.
380
381 %description -n lld-devel -l pl.UTF-8
382 Pliki programistyczne narzędzi konsolidujących LLD.
383
384 %package -n lldb
385 Summary:        Next generation high-performance debugger
386 Summary(pl.UTF-8):      Wydajny debugger nowej generacji
387 Group:          Development/Debuggers
388 URL:            http://lldb.llvm.org/
389 Requires:       %{name} = %{version}-%{release}
390
391 %description -n lldb
392 LLDB is a next generation, high-performance debugger. It is built as a
393 set of reusable components which highly leverage existing libraries in
394 the larger LLVM Project, such as the Clang expression parser and LLVM
395 disassembler.
396
397 %description -n lldb -l pl.UTF-8
398 LLDB to wydajny debugger nowej generacji. Jest zbudowany w oparciu o
399 komponenty wielokrotnego użytku, wykorzystujące istniejące biblioteki
400 w projekcie LLVM, takie jak analizator wyrażeń kompilatora Clang oraz
401 disasembler LLVM.
402
403 %package -n lldb-devel
404 Summary:        Development files for LLDB debugger
405 Summary(pl.UTF-8):      Pliki programistyczne debuggera LLDB
406 Group:          Development/Libraries
407 URL:            http://lldb.llvm.org/
408 Requires:       %{name}-devel = %{version}-%{release}
409 Requires:       clang-devel = %{version}-%{release}
410 Requires:       lldb = %{version}-%{release}
411
412 %description -n lldb-devel
413 Development files for LLDB debugger.
414
415 %description -n lldb-devel -l pl.UTF-8
416 Pliki programistyczne debuggera LLDB.
417
418 %package ocaml
419 Summary:        OCaml binding for LLVM
420 Summary(pl.UTF-8):      Wiązanie OCamla do LLVM-a
421 Group:          Libraries
422 Requires:       %{name} = %{version}-%{release}
423 %requires_eq    ocaml-runtime
424
425 %description ocaml
426 OCaml binding for LLVM.
427
428 %description ocaml -l pl.UTF-8
429 Wiązanie OCamla do LLVM-a.
430
431 %package ocaml-devel
432 Summary:        Development files for LLVM OCaml binding
433 Summary(pl.UTF-8):      Pliki programistyczne wiązania OCamla do LLVM-a
434 Group:          Development/Libraries
435 Requires:       %{name}-devel = %{version}-%{release}
436 Requires:       %{name}-ocaml = %{version}-%{release}
437
438 %description ocaml-devel
439 The llvm-ocaml-devel package contains libraries and signature files
440 for developing applications that use llvm-ocaml binding.
441
442 %description ocaml-devel -l pl.UTF-8
443 Ten pakiet zawiera biblioteki i pliki sygnatur do tworzenia aplikacji
444 wykorzystujących wiązanie llvm-ocaml.
445
446 %package ocaml-doc
447 Summary:        Documentation for LLVM's OCaml binding
448 Summary(pl.UTF-8):      Dokumentacja wiązania OCamla do LLVM-a
449 Group:          Documentation
450 Requires:       %{name}-ocaml = %{version}-%{release}
451
452 %description ocaml-doc
453 HTML documentation for LLVM's OCaml binding.
454
455 %description ocaml-doc -l pl.UTF-8
456 Dokumentacja HTML wiązania OCamla do LLVM-a.
457
458 %prep
459 %setup -q -n %{name}-%{version}.src -a1 %{?with_rt:-a2} %{?with_lldb:-a3} %{?with_polly:-a4} -a5 -a6
460 mv cfe-%{version}.src tools/clang
461 %{?with_rt:mv compiler-rt-%{version}.src projects/compiler-rt}
462 %{?with_lldb:mv lldb-%{version}.src tools/lldb}
463 %{?with_polly:mv polly-%{version}.src tools/polly}
464 mv clang-tools-extra-%{version}.src tools/clang/tools/extra
465 mv lld-%{version}.src tools/lld
466
467 %patch0 -p1
468 %patch1 -p1
469 %patch2 -p1
470 %patch3 -p1
471 %patch4 -p1
472 %patch5 -p1
473
474 %{__sed} -i 's|"lib"|"%{_lib}"|' tools/clang/lib/Driver/Driver.cpp
475
476 grep -rl /usr/bin/env tools utils | xargs sed -i -e '1{
477         s,^#!.*bin/env python,#!%{__python},
478         s,^#!.*bin/env perl,#!%{__perl},
479 }'
480
481 %build
482 install -d build
483
484 # Disabling assertions now, rec. by pure and needed for OpenGTL
485 # TESTFIX no PIC on ix86: http://llvm.org/bugs/show_bug.cgi?id=3801
486 cd build
487 CPPFLAGS="%{rpmcppflags} -D_FILE_OFFSET_BITS=64"
488
489 %{cmake} ../ \
490 %ifarch %{x8664}
491         -DLLVM_LIBDIR_SUFFIX:STRING=64 \
492 %endif
493 %ifarch x32
494         -DLLVM_LIBDIR_SUFFIX:STRING=x32 \
495 %endif
496 %ifarch %{ix86}
497         -DLLVM_ENABLE_PIC:BOOL=OFF \
498 %endif
499 %if %{with apidocs}
500         -DLLVM_ENABLE_DOXYGEN:BOOL=ON \
501 %endif
502 %if %{with doc}
503         -DLLVM_ENABLE_SPHINX:BOOL=ON \
504 %endif
505         -DLLVM_ENABLE_ASSERTIONS:BOOL=OFF \
506         -DLLVM_ENABLE_CXX1Y:BOOL=ON \
507         -DLLVM_BINDINGS_LIST:LIST="%{?with_ocaml:ocaml}" \
508         -DBUILD_SHARED_LIBS:BOOL=ON
509
510 %{__make} \
511         VERBOSE=1 \
512         REQUIRES_RTTI=1 \
513         OPTIMIZE_OPTION="%{rpmcflags} %{rpmcppflags}"
514
515 %if %{with tests}
516 %{__make} check 2>&1 | tee llvm-testlog.txt
517 %{__make} -C tools/clang test 2>&1 | tee clang-testlog.txt
518 %endif
519
520 %if %{with doc}
521 %{__make} -C docs docs-llvm-html
522 %{__make} -C docs docs-llvm-man
523 %if %{with ocaml}
524 %{__make} -C docs ocaml_doc
525 %endif
526 %{__make} -C tools/clang/docs docs-clang-html
527 %{__make} -C tools/clang/docs docs-clang-man
528 %{__make} -C tools/lld/docs docs-lld-html
529 %{__make} -C tools/lldb/docs lldb-python-doc
530 %{__make} -C tools/lldb/docs lldb-cpp-doc
531 %{__make} -C ../tools/clang/tools/extra/docs html
532 %endif
533
534 %install
535 rm -rf $RPM_BUILD_ROOT
536 %{__make} -C build install \
537         DESTDIR=$RPM_BUILD_ROOT
538
539 # only some .pyc files are created by make install
540 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
541 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
542
543 # Static analyzer not installed by default:
544 # http://clang-analyzer.llvm.org/installation#OtherPlatforms
545 install -d $RPM_BUILD_ROOT%{_libdir}/clang-analyzer
546 # create launchers
547 for f in scan-{build,view}; do
548         ln -s %{_libdir}/clang-analyzer/$f/$f $RPM_BUILD_ROOT%{_bindir}/$f
549         cp -pr tools/clang/tools/$f $RPM_BUILD_ROOT%{_libdir}/clang-analyzer
550 done
551 install -d $RPM_BUILD_ROOT%{_mandir}/man1
552 %{__mv} $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/scan-build/scan-build.1 $RPM_BUILD_ROOT%{_mandir}/man1
553 %py_comp $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/scan-view
554 %py_ocomp $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/scan-view
555 %py_postclean %{_libdir}/clang-analyzer/scan-view
556 # not this OS
557 %{__rm} $RPM_BUILD_ROOT%{_libdir}/clang-analyzer/scan-build/*.bat
558
559 # not installed by cmake buildsystem
560 install build/bin/clang-query $RPM_BUILD_ROOT%{_bindir}
561 install build/bin/pp-trace $RPM_BUILD_ROOT%{_bindir}
562
563 %if %{with doc}
564 cp -p build/docs/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
565 # these tools are not installed
566 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{FileCheck,llvm-build}.1
567 # make links
568 echo '.so llvm-ar.1' > $RPM_BUILD_ROOT%{_mandir}/man1/llvm-ranlib.1
569 %endif
570
571 # Move documentation back to build directory
572 %if %{with ocaml}
573 rm -rf ocamldocs
574 mv $RPM_BUILD_ROOT%{_prefix}/docs/ocaml/html/html ocamldocs
575 %endif
576
577 # and separate the apidoc
578 %if %{with apidocs}
579 rm -rf clang-apidoc
580 cp -a build/tools/clang/docs/html clang-apidoc
581 %endif
582
583 # And prepare Clang documentation
584 rm -rf clang-docs
585 install -d clang-docs
586 for f in LICENSE.TXT NOTES.txt README.txt; do
587         ln tools/clang/$f clang-docs
588 done
589
590 # Get rid of erroneously installed example files.
591 %{__rm} $RPM_BUILD_ROOT%{_libdir}/LLVMHello.so
592 # test?
593 %{__rm} $RPM_BUILD_ROOT%{_bindir}/llvm-c-test
594 # not this OS
595 %{__rm} $RPM_BUILD_ROOT%{_datadir}/clang/clang-format-bbedit.applescript
596
597 %clean
598 rm -rf $RPM_BUILD_ROOT
599
600 %post   libs -p /sbin/ldconfig
601 %postun libs -p /sbin/ldconfig
602
603 %post   -n clang -p /sbin/ldconfig
604 %postun -n clang -p /sbin/ldconfig
605
606 %post   -n clang-tools-extra -p /sbin/ldconfig
607 %postun -n clang-tools-extra -p /sbin/ldconfig
608
609 %post   -n lldb -p /sbin/ldconfig
610 %postun -n lldb -p /sbin/ldconfig
611
612 %files
613 %defattr(644,root,root,755)
614 %doc CREDITS.TXT LICENSE.TXT README.txt %{?with_tests:llvm-testlog.txt}
615 %attr(755,root,root) %{_bindir}/bugpoint
616 %attr(755,root,root) %{_bindir}/llc
617 %attr(755,root,root) %{_bindir}/lli
618 %attr(755,root,root) %{_bindir}/llvm-ar
619 %attr(755,root,root) %{_bindir}/llvm-as
620 %attr(755,root,root) %{_bindir}/llvm-bcanalyzer
621 %attr(755,root,root) %{_bindir}/llvm-cov
622 %attr(755,root,root) %{_bindir}/llvm-diff
623 %attr(755,root,root) %{_bindir}/llvm-dis
624 %attr(755,root,root) %{_bindir}/llvm-dsymutil
625 %attr(755,root,root) %{_bindir}/llvm-dwarfdump
626 %attr(755,root,root) %{_bindir}/llvm-extract
627 %attr(755,root,root) %{_bindir}/llvm-lib
628 %attr(755,root,root) %{_bindir}/llvm-link
629 %ifarch %{x8664} x32
630 %attr(755,root,root) %{_bindir}/llvm-lto
631 %endif
632 %attr(755,root,root) %{_bindir}/llvm-mc
633 %attr(755,root,root) %{_bindir}/llvm-mcmarkup
634 %attr(755,root,root) %{_bindir}/llvm-nm
635 %attr(755,root,root) %{_bindir}/llvm-objdump
636 %attr(755,root,root) %{_bindir}/llvm-profdata
637 %attr(755,root,root) %{_bindir}/llvm-ranlib
638 %attr(755,root,root) %{_bindir}/llvm-readobj
639 %attr(755,root,root) %{_bindir}/llvm-rtdyld
640 %attr(755,root,root) %{_bindir}/llvm-size
641 %attr(755,root,root) %{_bindir}/llvm-stress
642 %attr(755,root,root) %{_bindir}/llvm-symbolizer
643 %attr(755,root,root) %{_bindir}/llvm-tblgen
644 %attr(755,root,root) %{_bindir}/llvm-cxxdump
645 %attr(755,root,root) %{_bindir}/llvm-pdbdump
646 %attr(755,root,root) %{_bindir}/macho-dump
647 %attr(755,root,root) %{_bindir}/obj2yaml
648 %attr(755,root,root) %{_bindir}/opt
649 %attr(755,root,root) %{_bindir}/verify-uselistorder
650 %attr(755,root,root) %{_bindir}/yaml2obj
651 %if %{with doc}
652 %{_mandir}/man1/bugpoint.1*
653 %{_mandir}/man1/lit.1*
654 %{_mandir}/man1/llc.1*
655 %{_mandir}/man1/lli.1*
656 %{_mandir}/man1/llvm-ar.1*
657 %{_mandir}/man1/llvm-as.1*
658 %{_mandir}/man1/llvm-bcanalyzer.1*
659 %{_mandir}/man1/llvm-cov.1*
660 %{_mandir}/man1/llvm-diff.1*
661 %{_mandir}/man1/llvm-dis.1*
662 %{_mandir}/man1/llvm-dwarfdump.1*
663 %{_mandir}/man1/llvm-extract.1*
664 %{_mandir}/man1/llvm-link.1*
665 %{_mandir}/man1/llvm-nm.1*
666 %{_mandir}/man1/llvm-profdata.1*
667 %{_mandir}/man1/llvm-ranlib.1*
668 %{_mandir}/man1/llvm-readobj.1*
669 %{_mandir}/man1/llvm-stress.1*
670 %{_mandir}/man1/llvm-symbolizer.1*
671 %{_mandir}/man1/opt.1*
672 %{_mandir}/man1/tblgen.1*
673 %endif
674
675 %files libs
676 %defattr(644,root,root,755)
677 %attr(755,root,root) %{_libdir}/libLLVM*.so.%{version}
678 %attr(755,root,root) %ghost %{_libdir}/libLLVM*.so.3.7
679 %ifarch %{x8664} x32
680 %attr(755,root,root) %{_libdir}/libLTO.so.%{version}
681 %attr(755,root,root) %ghost %{_libdir}/libLTO.so.3.7
682 %endif
683
684 %files devel
685 %defattr(644,root,root,755)
686 %attr(755,root,root) %{_bindir}/llvm-config
687 %attr(755,root,root) %{_libdir}/libLLVM*.so
688 %attr(755,root,root) %{_libdir}/BugpointPasses.so
689 %ifarch %{x8664} x32
690 %attr(755,root,root) %{_libdir}/libLTO.so
691 %endif
692 %{_includedir}/llvm
693 %{_includedir}/llvm-c
694 %dir %{_datadir}/llvm
695 %{_datadir}/llvm/cmake
696 %if %{with doc}
697 %{_mandir}/man1/llvm-config.1*
698 %endif
699
700 #%files doc
701 #%defattr(644,root,root,755)
702
703 %if %{with apidocs}
704 %files apidocs
705 %defattr(644,root,root,755)
706 %doc apidoc/*
707 %endif
708
709 %if %{with polly}
710 %files polly
711 %defattr(644,root,root,755)
712 %doc tools/polly/{CREDITS.txt,LICENSE.txt,README}
713 %attr(755,root,root) %{_libdir}/LLVMPolly.so
714 %attr(755,root,root) %{_libdir}/libPolly.so
715
716 %files polly-devel
717 %defattr(644,root,root,755)
718 %{_includedir}/polly
719 %endif
720
721 %files -n clang
722 %defattr(644,root,root,755)
723 %doc clang-docs/{LICENSE.TXT,NOTES.txt,README.txt} %{?with_tests:clang-testlog.txt}
724 %attr(755,root,root) %{_bindir}/clang
725 %attr(755,root,root) %{_bindir}/clang++
726 %attr(755,root,root) %{_bindir}/clang-3.7
727 %attr(755,root,root) %{_bindir}/clang-check
728 %attr(755,root,root) %{_bindir}/clang-cl
729 %attr(755,root,root) %{_bindir}/clang-format
730 %attr(755,root,root) %{_bindir}/git-clang-format
731 %attr(755,root,root) %{_libdir}/libclang*.so.%{version}
732 %attr(755,root,root) %ghost %{_libdir}/libclang*.so.3.7
733 %dir %{_libdir}/clang
734 %dir %{_libdir}/clang/%{version}
735 %{_libdir}/clang/%{version}/include
736 %if %{with rt}
737 %ifarch %{ix86} %{x8664}
738 %{_libdir}/clang/%{version}/asan_blacklist.txt
739 %dir %{_libdir}/clang/%{version}/lib
740 %dir %{_libdir}/clang/%{version}/lib/linux
741 %endif
742 %ifarch %{ix86}
743 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-i*86.a
744 %attr(755,root,root) %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-i*86.so
745 %endif
746 %ifarch %{x8664}
747 %{_libdir}/clang/%{version}/dfsan_abilist.txt
748 %{_libdir}/clang/%{version}/msan_blacklist.txt
749 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-x86_64.a
750 %attr(755,root,root) %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-x86_64.so
751 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-x86_64.a.syms
752 %endif
753 %endif
754 %dir %{_datadir}/clang
755 %{_datadir}/clang/clang-format-diff.py
756
757 %if %{with rt}
758 %ifarch %{x8664}
759 %files -n clang-multilib
760 %defattr(644,root,root,755)
761 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-i386.a
762 %attr(755,root,root) %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-i386.so
763 %endif
764 %endif
765
766 %files -n clang-analyzer
767 %defattr(644,root,root,755)
768 %attr(755,root,root) %{_bindir}/scan-build
769 %attr(755,root,root) %{_bindir}/scan-view
770 %{_mandir}/man1/scan-build.1*
771 %dir %{_libdir}/clang-analyzer
772
773 %dir %{_libdir}/clang-analyzer/scan-build
774 %{_libdir}/clang-analyzer/scan-build/*.css
775 %{_libdir}/clang-analyzer/scan-build/*.js
776 %attr(755,root,root) %{_libdir}/clang-analyzer/scan-build/scan-build
777 %attr(755,root,root) %{_libdir}/clang-analyzer/scan-build/*-analyzer
778
779 %dir %{_libdir}/clang-analyzer/scan-view
780 %attr(755,root,root) %{_libdir}/clang-analyzer/scan-view/scan-view
781 %{_libdir}/clang-analyzer/scan-view/Resources
782 %{_libdir}/clang-analyzer/scan-view/*.py[co]
783
784 %files -n clang-devel
785 %defattr(644,root,root,755)
786 %attr(755,root,root) %{_libdir}/libclang*.so
787 %ifarch %{ix86} # ???
788 %{_libdir}/libclang.a
789 %endif
790 %{_includedir}/clang
791 %{_includedir}/clang-c
792
793 %files -n clang-doc
794 %defattr(644,root,root,755)
795 %doc tools/clang/docs/*.{html,png,txt}
796
797 %if %{with apidocs}
798 %files -n clang-apidocs
799 %defattr(644,root,root,755)
800 %doc clang-apidoc/*
801 %endif
802
803 %files -n clang-tools-extra
804 %defattr(644,root,root,755)
805 %doc tools/clang/tools/extra/{CODE_OWNERS.TXT,README.txt} tools/clang/tools/extra/docs/_build/html/{*.html,*.js,_static}
806 %attr(755,root,root) %{_bindir}/clang-apply-replacements
807 %attr(755,root,root) %{_bindir}/clang-modernize
808 %attr(755,root,root) %{_bindir}/clang-query
809 %attr(755,root,root) %{_bindir}/clang-rename
810 %attr(755,root,root) %{_bindir}/clang-tidy
811 %attr(755,root,root) %{_bindir}/pp-trace
812 %attr(755,root,root) %{_libdir}/libmodernizeCore.so.%{version}
813 %attr(755,root,root) %ghost %{_libdir}/libmodernizeCore.so.3.7
814 # -devel?
815 %attr(755,root,root) %{_libdir}/libmodernizeCore.so
816
817 %files -n lld
818 %defattr(644,root,root,755)
819 %doc tools/lld/{LICENSE.TXT,README.md}
820 %attr(755,root,root) %{_bindir}/lld
821 %attr(755,root,root) %{_libdir}/liblld[ACDEHMPRXY]*.so.%{version}
822 %attr(755,root,root) %ghost %{_libdir}/liblld[ACDEHMPRXY]*.so.3.7
823
824 %files -n lld-devel
825 %defattr(644,root,root,755)
826 %attr(755,root,root) %{_libdir}/liblld[ACDEHMPRXY]*.so
827 %{_includedir}/lld
828
829 %if %{with lldb}
830 %files -n lldb
831 %defattr(644,root,root,755)
832 %attr(755,root,root) %{_bindir}/argdumper
833 %attr(755,root,root) %{_bindir}/lldb
834 %attr(755,root,root) %{_bindir}/lldb-%{version}
835 %attr(755,root,root) %{_bindir}/lldb-mi
836 %attr(755,root,root) %{_bindir}/lldb-mi-%{version}
837 %attr(755,root,root) %{_bindir}/lldb-server
838 %attr(755,root,root) %{_bindir}/lldb-server-%{version}
839 %attr(755,root,root) %{_libdir}/liblldb.so.%{version}
840 %attr(755,root,root) %ghost %{_libdir}/liblldb.so.3.7
841 %dir %{py_sitedir}/lldb
842 %attr(755,root,root) %{py_sitedir}/lldb/argdumper
843 %{py_sitedir}/lldb/formatters
844 %{py_sitedir}/lldb/runtime
845 %{py_sitedir}/lldb/utils
846 %{py_sitedir}/lldb/__init__.py[co]
847 %{py_sitedir}/lldb/embedded_interpreter.py[co]
848 %attr(755,root,root) %{py_sitedir}/lldb/_lldb.so
849 %attr(755,root,root) %{py_sitedir}/readline.so
850
851 %files -n lldb-devel
852 %defattr(644,root,root,755)
853 %attr(755,root,root) %{_libdir}/liblldb.so
854 %{_libdir}/liblldb*.a
855 %{_includedir}/lldb
856 %endif
857
858 %if %{with ocaml}
859 %files ocaml
860 %defattr(644,root,root,755)
861 %{_libdir}/ocaml/META.llvm*
862 %attr(755,root,root) %{_libdir}/ocaml/dllllvm*.so
863 %{_libdir}/ocaml/llvm*.cma
864 %{_libdir}/ocaml/llvm*.cmi
865
866 %files ocaml-devel
867 %defattr(644,root,root,755)
868 %{_libdir}/ocaml/libllvm*.a
869 %{_libdir}/ocaml/llvm*.a
870 %{_libdir}/ocaml/llvm*.cmx*
871
872 %files ocaml-doc
873 %defattr(644,root,root,755)
874 %doc ocamldocs/*
875 %endif
This page took 1.14693 seconds and 3 git commands to generate.