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