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