]> git.pld-linux.org Git - packages/llvm.git/blob - llvm.spec
a6dce5f26bb766a22b6ad5336a82b17c36039751
[packages/llvm.git] / llvm.spec
1 #
2 # NOTE:
3 #  - normal build (x86_64) requires about 80 GB of disk space
4 #
5 # TODO:
6 # - move and package:
7 #       %{_datadir}/clang/bash-autocomplete.sh
8 #       %{_datadir}/clang/clang-format-sublime.py - sublime plugin
9 #       %{_datadir}/clang/clang-format.el - clang tools emacs integration
10 #       %{_datadir}/clang/clang-include-fixer.el
11 #       %{_datadir}/clang/clang-rename.el
12 # - no content in doc package (it used to contain parts of clang apidocs and some examples)
13 # - system isl in polly?
14 #
15 # Conditional build:
16 %bcond_without  lldb            # LLDB debugger
17 %bcond_without  polly           # Polly cache-locality optimization, auto-parallelism and vectorization
18 %bcond_without  rt              # compiler-rt libraries
19 %bcond_without  multilib        # compiler-rt multilib libraries
20 %bcond_without  ocaml           # OCaml binding
21 %bcond_without  z3              # Z3 constraint solver support in Clang Static Analyzer
22 %bcond_without  doc             # HTML docs and man pages
23 %bcond_with     flang           # flang (Fortran18) compiler (broken as of 11.0.1)
24 %bcond_with     cxxmodules      # C++20 modules (requires support in bootstrap compiler)
25 %bcond_with     apidocs         # doxygen docs (HUGE, so they are not built by default)
26 %bcond_with     tests           # run tests
27 %bcond_with     lowmem          # lower memory requirements
28
29 # No ocaml on other arches or no native ocaml (required for ocaml-ctypes)
30 %ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9
31 %undefine       with_ocaml
32 %endif
33
34 %ifarch armv3l armv4b armv4l armv4tl armv5tl armv5tel armv5tejl armv6l armv6hl
35 %undefine       with_rt
36 %endif
37
38 %ifarch %{arm} aarch64
39 %define         with_lowmem             1
40 %endif
41
42 Summary:        The Low Level Virtual Machine (An Optimizing Compiler Infrastructure)
43 Summary(pl.UTF-8):      Niskopoziomowa maszyna wirtualna (infrastruktura kompilatora optymalizującego)
44 Name:           llvm
45 Version:        11.0.1
46 Release:        2
47 License:        University of Illinois/NCSA Open Source License
48 Group:          Development/Languages
49 #Source0Download: https://github.com/llvm/llvm-project/releases/
50 Source0:        https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{name}-%{version}.src.tar.xz
51 # Source0-md5:  6ec7ae9fd43da9b87cda15b3ab9cc7af
52 Source1:        https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-%{version}.src.tar.xz
53 # Source1-md5:  b4cb0b74b1f3292a89c9720f3e1e2934
54 Source2:        https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/compiler-rt-%{version}.src.tar.xz
55 # Source2-md5:  29d6186e048936008512b8bbdb3a1b71
56 Source3:        https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/lldb-%{version}.src.tar.xz
57 # Source3-md5:  e49cde09adb5ed43a651e6d5bcb2aded
58 Source4:        https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/polly-%{version}.src.tar.xz
59 # Source4-md5:  f9cc25cb4e52f1176225ef28d3b4d8ab
60 Source5:        https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-tools-extra-%{version}.src.tar.xz
61 # Source5-md5:  1e577a85948a0f07483b7c405e59a0ca
62 Source6:        https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/lld-%{version}.src.tar.xz
63 # Source6-md5:  652c93bd3f78fcb9a02d8d3027f7dae2
64 Source7:        https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/flang-%{version}.src.tar.xz
65 # Source7-md5:  3d37b40aa1618d8337e9b010d3e24f2d
66 # "mlir" subdir extracted from https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.1/llvm-project-11.0.1.src.tar.xz
67 Source8:        mlir-%{version}.tar.xz
68 # Source8-md5:  97736d1209b01ac52b0dd3c0916f8198
69 Patch1:         %{name}-pld.patch
70 Patch2:         %{name}-python-modules.patch
71 Patch3:         x32-gcc-toolchain.patch
72 Patch4:         cmake-buildtype.patch
73 Patch5:         %{name}-ocaml-shared.patch
74 Patch6:         %{name}-flang.patch
75 URL:            http://llvm.org/
76 BuildRequires:  bash
77 BuildRequires:  binutils-devel
78 BuildRequires:  bison
79 BuildRequires:  cmake >= 3.4.3
80 BuildRequires:  flex
81 BuildRequires:  groff
82 BuildRequires:  libedit-devel
83 BuildRequires:  libltdl-devel
84 BuildRequires:  libpfm-devel
85 BuildRequires:  libstdc++-devel >= 6:5
86 BuildRequires:  libxml2-devel >= 2
87 BuildRequires:  ncurses-devel
88 %if %{with ocaml}
89 BuildRequires:  ocaml >= 4.00.0
90 BuildRequires:  ocaml-ctypes-devel >= 0.4
91 BuildRequires:  ocaml-findlib
92 BuildRequires:  ocaml-ocamldoc
93 BuildRequires:  ocaml-ounit >= 2
94 %endif
95 BuildRequires:  perl-base >= 1:5.6
96 BuildRequires:  perl-tools-pod
97 BuildRequires:  python >= 1:2.7
98 BuildRequires:  python-PyYAML
99 BuildRequires:  python-pygments >= 2.0
100 BuildRequires:  rpm-pythonprov
101 BuildRequires:  rpmbuild(macros) >= 1.734
102 %{?with_doc:BuildRequires:      sphinx-pdg}
103 BuildRequires:  tar >= 1:1.22
104 BuildRequires:  xar-devel
105 BuildRequires:  xz
106 %{?with_z3:BuildRequires:       z3-devel >= 4.7.1}
107 BuildRequires:  zlib-devel
108 %if %{with apidocs}
109 BuildRequires:  doxygen
110 BuildRequires:  graphviz
111 %endif
112 %if %{with tests}
113 BuildRequires:  dejagnu
114 BuildRequires:  tcl-devel
115 %endif
116 %if %{with rt} && %{with multilib}
117 %ifarch %{x8664}
118 BuildRequires:  gcc-c++-multilib-32
119 BuildRequires:  libstdc++-multilib-32-devel
120 %endif
121 %ifarch x32
122 BuildRequires:  gcc-c++-multilib-32
123 BuildRequires:  gcc-c++-multilib-64
124 BuildRequires:  glibc-devel(x86_64)
125 BuildRequires:  libstdc++-multilib-32-devel
126 BuildRequires:  libstdc++-multilib-64-devel
127 %endif
128 %endif
129 %if %{with lldb}
130 BuildRequires:  epydoc
131 %ifarch i386 i486 %{arm}
132 BuildRequires:  libatomic-devel
133 %endif
134 BuildRequires:  libxml2-devel >= 2
135 BuildRequires:  lua-devel
136 BuildRequires:  ncurses-ext-devel
137 BuildRequires:  python-devel >= 1:2.7
138 %{?with_doc:BuildRequires:      python3-recommonmark}
139 BuildRequires:  swig-python >= 3.0.11
140 BuildRequires:  xz-devel
141 %endif
142 %if %{with polly}
143 #BuildRequires: gmp-devel or imath-devel (private copy in polly/lib/External/isl/imath)
144 # private copy in polly/lib/External/isl
145 #BuildRequires: isl-devel >= 0.22.1
146 #TODO (bcond): cuda-devel (with POLLY_ENABLE_GPGPU_CODEGEN=ON)
147 %endif
148 %if %{with ocaml}
149 BuildConflicts: llvm-ocaml
150 %endif
151 Requires:       %{name}-libs = %{version}-%{release}
152 # LLVM is not supported on PPC64
153 # http://llvm.org/bugs/show_bug.cgi?id=3729
154 ExcludeArch:    ppc64
155 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
156
157 %define         abi     11
158 %define         _sysconfdir     /etc/%{name}
159
160 %define         specflags_ppc   -fno-var-tracking-assignments
161
162 # objcopy: BFD (GNU Binutils) 2.32 assertion fail format.c:459
163 # objcopy: error: .../libLLVM-8.so(.debug_gnu_pubtypes) is too large (0x1ceee347 bytes)
164 # objcopy: .../libLLVM-8.so[.debug_gnu_pubtypes]: memory exhausted
165 %ifarch x32
166 %define         _enable_debug_packages  0
167 %endif
168 # ix86 and x32 - the same issue as https://llvm.org/bugs/show_bug.cgi?id=27237
169 # use -gsplit-dwarf only when building packages with debuginfo
170 # to avoid excessive disk space usage
171 %if 0%{?_enable_debug_packages}
172 %define         specflags       -gsplit-dwarf
173 %endif
174
175 # strip corrupts: $RPM_BUILD_ROOT/usr/lib64/llvm-gcc/bin/llvm-c++ ...
176 %define         _noautostrip    .*/\\(libmud.*\\.a\\|bin/llvm-.*\\|lib.*++\\.a\\)
177
178 # clang doesn't know -fvar-tracking-assignments, and leaving it here would pollute llvm-config
179 # -Werror=format-security is for swig
180 # TODO: add - -Werror=format-security to tools/lldb/scripts/LLDBWrapPython.cpp
181 %define         filterout_c     -fvar-tracking-assignments
182 %define         filterout_cxx   -fvar-tracking-assignments -Werror=format-security
183 %define         filterout_ccpp  -fvar-tracking-assignments
184
185 %description
186 LLVM is a compiler infrastructure designed for compile-time,
187 link-time, runtime, and idle-time optimization of programs from
188 arbitrary programming languages. LLVM is written in C++ and has been
189 developed since 2000 at the University of Illinois and Apple. It
190 currently supports compilation of C and C++ programs using clang
191 frontend.
192
193 %description -l pl.UTF-8
194 LLVM to infrastruktura kompilatora zaprojektowana do optymalizacji
195 czasu kompilowania, linkowania, działania i bezczynności programów w
196 dowolnych językach programowania. Jest napisana w C++, rozwijana od
197 roku 2000 przez Uniwersytet w Illinois i Apple. Aktualnie obsługuje
198 kompilację programów w C i C++ przy użyciu frontendu clang.
199
200 %package libs
201 Summary:        LLVM shared libraries
202 Summary(pl.UTF-8):      Biblioteki współdzielone LLVM-a
203 Group:          Libraries
204 Conflicts:      llvm < 3.2
205
206 %description libs
207 LLVM shared libraries.
208
209 %description libs -l pl.UTF-8
210 Biblioteki współdzielone LLVM-a.
211
212 %package devel
213 Summary:        Static libraries and header files for LLVM
214 Summary(pl.UTF-8):      Biblioteki statyczne i pliki nagłówkowe dla LLVM-a
215 Group:          Development/Languages
216 Requires:       %{name}-libs = %{version}-%{release}
217 Requires:       libstdc++-devel >= 6:3.4
218
219 %description devel
220 This package contains static libraries and header files needed to
221 develop new native programs that use the LLVM infrastructure.
222
223 %description devel -l pl.UTF-8
224 Ten pakiet zawiera biblioteki statyczne oraz pliki nagłówkowe
225 potrzebne do tworzenia nowych programów natywnych wykorzystujących
226 infrastrukturę LLVM.
227
228 %package doc
229 Summary:        Documentation for LLVM
230 Summary(pl.UTF-8):      Dokumentacja do LLVM-a
231 Group:          Documentation
232 # does not require base
233
234 %description doc
235 Documentation for the LLVM compiler infrastructure.
236
237 %description doc -l pl.UTF-8
238 Dokumentacja do infrastruktury kompilatorów LLVM.
239
240 %package apidocs
241 Summary:        API documentation for LLVM
242 Summary(pl.UTF-8):      Dokumentacja API LLVM-a
243 Group:          Development/Languages
244 Requires:       %{name}-doc = %{version}-%{release}
245
246 %description apidocs
247 API documentation for the LLVM compiler infrastructure.
248
249 %description apidocs -l pl.UTF-8
250 Dokumentacja API infrastruktury kompilatorów LLVM.
251
252 %package polly
253 Summary:        Polyhedral optimizations for LLVM
254 Summary(pl.UTF-8):      Optymalizacje wielościanowe dla LLVM-a
255 Group:          Development/Tools
256 URL:            http://polly.llvm.org/
257 Requires:       %{name} = %{version}-%{release}
258
259 %description polly
260 Polly is a high-level loop and data-locality optimizer and
261 optimization infrastructure for LLVM. It uses an abstract mathematical
262 representation based on integer polyhedra to analyze and optimize the
263 memory access pattern of a program.
264
265 %description polly -l pl.UTF-8
266 Polly to wysokopoziomowy optymalizator i infrastruktura LLVM-a do
267 optymalizacji pętli i położenia danych. Wykorzystuje abstrakcyjną
268 reprezentację matematyczną opartą na wielościanach całkowitoliczbowych
269 do analizy i optymalizacji wzorców dostępu do pamięci przez program.
270
271 %package polly-devel
272 Summary:        Header files for LLVM Polly optimization infrastructure
273 Summary(pl.UTF-8):      Pliki nagłówkowe infrastruktury optymalizacji LLVM-a Polly
274 Group:          Development/Libraries
275 URL:            http://polly.llvm.org/
276 Requires:       %{name}-devel = %{version}-%{release}
277 Requires:       %{name}-polly = %{version}-%{release}
278
279 %description polly-devel
280 Header files for LLVM Polly optimization infrastructure.
281
282 %description polly-devel -l pl.UTF-8
283 Pliki nagłówkowe infrastruktury optymalizacji LLVM-a Polly.
284
285 %package -n clang
286 Summary:        A C language family frontend for LLVM
287 Summary(pl.UTF-8):      Frontend LLVM-a do języków z rodziny C
288 License:        NCSA
289 Group:          Development/Languages
290 Requires:       %{name} = %{version}-%{release}
291 Requires:       clang-libs = %{version}-%{release}
292
293 %description -n clang
294 clang: noun 1. A loud, resonant, metallic sound. 2. The strident call
295 of a crane or goose. 3. C-language family front-end toolkit.
296
297 The goal of the Clang project is to create a new C, C++, Objective C
298 and Objective C++ front-end for the LLVM compiler. Its tools are built
299 as libraries and designed to be loosely-coupled and extendable.
300
301 %description -n clang -l pl.UTF-8
302 clang (z angielskiego): 1. głośny, rezonujący, metaliczny dźwięk; 2.
303 piskliwy odgłos żurawia lub gęsi; 3. narzędzia frontendowe dla języków
304 z rodziny C.
305
306 Celem projektu Clang jest utworzenie nowego frontendu dla kompilatora
307 LLVM do języków C, C++, Objective C i Objective C++. Narzędzia są
308 budowane jako biblioteki i zaprojektowane z myślą o swobodnym łączeniu
309 i rozszerzaniu.
310
311 %package -n clang-libs
312 Summary:        Clang shared libraries
313 Summary(pl.UTF-8):      Biblioteki współdzielone Clanga
314 Group:          Libraries
315
316 %description -n clang-libs
317 Clang shared libraries.
318
319 %description -n clang-libs -l pl.UTF-8
320 Biblioteki współdzielone Clanga.
321
322 %package -n clang-multilib
323 Summary:        A C language family frontend for LLVM - 32-bit support
324 Summary(pl.UTF-8):      Frontend LLVM-a do języków z rodziny C - obsługa binariów 32-bitowych
325 License:        NCSA
326 Group:          Development/Languages
327 Requires:       clang = %{version}-%{release}
328
329 %description -n clang-multilib
330 clang: noun 1. A loud, resonant, metallic sound. 2. The strident call
331 of a crane or goose. 3. C-language family front-end toolkit.
332
333 The goal of the Clang project is to create a new C, C++, Objective C
334 and Objective C++ front-end for the LLVM compiler. Its tools are built
335 as libraries and designed to be loosely-coupled and extendable.
336
337 This package contains the C compiler support for producing 32-bit
338 programs on 64-bit host.
339
340 %description -n clang-multilib -l pl.UTF-8
341 clang (z angielskiego): 1. głośny, rezonujący, metaliczny dźwięk; 2.
342 piskliwy odgłos żurawia lub gęsi; 3. narzędzia frontendowe dla języków
343 z rodziny C.
344
345 Celem projektu Clang jest utworzenie nowego frontendu dla kompilatora
346 LLVM do języków C, C++, Objective C i Objective C++. Narzędzia są
347 budowane jako biblioteki i zaprojektowane z myślą o swobodnym łączeniu
348 i rozszerzaniu.
349
350 Ten pakiet zawiera rozszerzenie kompilatora C o obsługę tworzenia
351 programów 32-bitowych na maszynie 64-bitowej.
352
353 %package -n clang-analyzer
354 Summary:        A source code analysis framework
355 Summary(pl.UTF-8):      Szkielet do analizy kodu źródłowego
356 License:        NCSA
357 Group:          Development/Languages
358 Requires:       clang = %{version}-%{release}
359 # not picked up automatically since files are currently not instaled
360 # in standard Python hierarchies yet
361 Requires:       python
362
363 %description -n clang-analyzer
364 The Clang Static Analyzer consists of both a source code analysis
365 framework and a standalone tool that finds bugs in C and Objective-C
366 programs. The standalone tool is invoked from the command-line, and is
367 intended to run in tandem with a build of a project or code base.
368
369 %description -n clang-analyzer -l pl.UTF-8
370 Clang Static Analyzer składa się ze szkieletu do analizy kodu
371 źródłowego oraz samodzielnego narzędzia znajdującego błędy w
372 programach w C i C++. Narzędzie jest wywoływane z linii poleceń, z
373 myślą o uruchamianiu wraz z kompilacją projektu lub kodu.
374
375 %package -n clang-devel
376 Summary:        Header files for Clang
377 Summary(pl.UTF-8):      Pliki nagłówkowe Clanga
378 Group:          Development/Languages
379 Requires:       %{name}-devel = %{version}-%{release}
380 Requires:       clang = %{version}-%{release}
381 %{?with_polly:Requires: llvm-polly-devel = %{version}-%{release}}
382
383 %description -n clang-devel
384 This package contains header files for the Clang compiler.
385
386 %description -n clang-devel -l pl.UTF-8
387 Ten pakiet zawiera pliki nagłówkowe kompilatora Clang.
388
389 %package -n clang-doc
390 Summary:        Documentation for Clang
391 Summary(pl.UTF-8):      Dokumentacja do Clanga
392 Group:          Documentation
393 Requires:       %{name} = %{version}-%{release}
394
395 %description -n clang-doc
396 Documentation for the Clang compiler front-end.
397
398 %description -n clang-doc -l pl.UTF-8
399 Dokumentacja do frontendu kompilatora Clang.
400
401 %package -n clang-apidocs
402 Summary:        API documentation for Clang
403 Summary(pl.UTF-8):      Dokumentacja API Clanga
404 Group:          Development/Languages
405 Requires:       clang-doc = %{version}-%{release}
406
407 %description -n clang-apidocs
408 API documentation for the Clang compiler.
409
410 %description -n clang-apidocs -l pl.UTF-8
411 Dokumentacja API kompilatora Clang.
412
413 %package -n clang-tools-extra
414 Summary:        Extra tools for Clang
415 Summary(pl.UTF-8):      Dodatkowe narzędzia do kompilatora Clang
416 Group:          Development/Tools
417 URL:            http://clang.llvm.org/docs/ClangTools.html
418 Requires:       clang = %{version}-%{release}
419
420 %description -n clang-tools-extra
421 Extra tools for Clang.
422
423 %description -n clang-tools-extra -l pl.UTF-8
424 Dodatkowe narzędzia do kompilatora Clang.
425
426 %package -n lld
427 Summary:        The LLVM linker
428 Summary(pl.UTF-8):      Konsolidator z projektu LLVM
429 Group:          Development/Libraries
430 URL:            http://lld.llvm.org/
431 Requires:       %{name} = %{version}-%{release}
432
433 %description -n lld
434 lld is a new set of modular code for creating linker tools.
435
436 %description -n lld -l pl.UTF-8
437 lld to nowy zbiór modularnego kodu do tworzenia narzędzi
438 konsolidujących.
439
440 %package -n lld-devel
441 Summary:        Development files for LLD linker tools
442 Summary(pl.UTF-8):      Pliki programistyczne narzędzi konsolidujących LLD
443 Group:          Development/Tools
444 URL:            http://lld.llvm.org/
445 Requires:       %{name}-devel = %{version}-%{release}
446
447 %description -n lld-devel
448 Development files for LLD linker tools.
449
450 %description -n lld-devel -l pl.UTF-8
451 Pliki programistyczne narzędzi konsolidujących LLD.
452
453 %package -n lldb
454 Summary:        Next generation high-performance debugger
455 Summary(pl.UTF-8):      Wydajny debugger nowej generacji
456 Group:          Development/Debuggers
457 URL:            http://lldb.llvm.org/
458 Requires:       %{name} = %{version}-%{release}
459 Requires:       python-six
460
461 %description -n lldb
462 LLDB is a next generation, high-performance debugger. It is built as a
463 set of reusable components which highly leverage existing libraries in
464 the larger LLVM Project, such as the Clang expression parser and LLVM
465 disassembler.
466
467 %description -n lldb -l pl.UTF-8
468 LLDB to wydajny debugger nowej generacji. Jest zbudowany w oparciu o
469 komponenty wielokrotnego użytku, wykorzystujące istniejące biblioteki
470 w projekcie LLVM, takie jak analizator wyrażeń kompilatora Clang oraz
471 disasembler LLVM.
472
473 %package -n lldb-devel
474 Summary:        Development files for LLDB debugger
475 Summary(pl.UTF-8):      Pliki programistyczne debuggera LLDB
476 Group:          Development/Libraries
477 URL:            http://lldb.llvm.org/
478 Requires:       %{name}-devel = %{version}-%{release}
479 Requires:       clang-devel = %{version}-%{release}
480 Requires:       lldb = %{version}-%{release}
481
482 %description -n lldb-devel
483 Development files for LLDB debugger.
484
485 %description -n lldb-devel -l pl.UTF-8
486 Pliki programistyczne debuggera LLDB.
487
488 %package ocaml
489 Summary:        OCaml binding for LLVM
490 Summary(pl.UTF-8):      Wiązanie OCamla do LLVM-a
491 Group:          Libraries
492 Requires:       %{name} = %{version}-%{release}
493 %if %{with ocaml}
494 %requires_eq    ocaml-runtime
495 %endif
496
497 %description ocaml
498 OCaml binding for LLVM.
499
500 %description ocaml -l pl.UTF-8
501 Wiązanie OCamla do LLVM-a.
502
503 %package ocaml-devel
504 Summary:        Development files for LLVM OCaml binding
505 Summary(pl.UTF-8):      Pliki programistyczne wiązania OCamla do LLVM-a
506 Group:          Development/Libraries
507 Requires:       %{name}-devel = %{version}-%{release}
508 Requires:       %{name}-ocaml = %{version}-%{release}
509
510 %description ocaml-devel
511 The llvm-ocaml-devel package contains libraries and signature files
512 for developing applications that use llvm-ocaml binding.
513
514 %description ocaml-devel -l pl.UTF-8
515 Ten pakiet zawiera biblioteki i pliki sygnatur do tworzenia aplikacji
516 wykorzystujących wiązanie llvm-ocaml.
517
518 %package ocaml-doc
519 Summary:        Documentation for LLVM's OCaml binding
520 Summary(pl.UTF-8):      Dokumentacja wiązania OCamla do LLVM-a
521 Group:          Documentation
522 Requires:       %{name}-ocaml = %{version}-%{release}
523
524 %description ocaml-doc
525 HTML documentation for LLVM's OCaml binding.
526
527 %description ocaml-doc -l pl.UTF-8
528 Dokumentacja HTML wiązania OCamla do LLVM-a.
529
530 %package opt-viewer
531 Summary:        Optimization records visualization tools
532 Summary(pl.UTF-8):      Narzędzia do wizualizacji rekordów optymalizacji
533 Group:          Development/Tools
534 Requires:       %{name} = %{version}
535 BuildArch:      noarch
536
537 %description opt-viewer
538 Optimization records visualization tools.
539
540 %description opt-viewer -l pl.UTF-8
541 Narzędzia do wizualizacji rekordów optymalizacji.
542
543 %package -n vim-plugin-clang
544 Summary:        Clang format and rename integration for Vim
545 Summary(pl.UTF-8):      Integracja narzędzi Clang do formatowania i zmiany nazw z Vimem
546 Group:          Applications/Editors/Vim
547 Requires:       vim-rt >= 4:7.0
548 BuildArch:      noarch
549
550 %description -n vim-plugin-clang
551 Clang format and rename integration for Vim.
552
553 %description -n vim-plugin-clang -l pl.UTF-8
554 Integracja narzędzi Clang do formatowania i zmiany nazw z Vimem.
555
556 %prep
557 %setup -q -n %{name}-%{version}.src -a1 %{?with_rt:-a2} %{?with_lldb:-a3} %{?with_polly:-a4} -a5 -a6 %{?with_flang:-a7 -a8}
558 %{__mv} clang-%{version}.src tools/clang
559 %{?with_rt:%{__mv} compiler-rt-%{version}.src projects/compiler-rt}
560 %{?with_lldb:%{__mv} lldb-%{version}.src tools/lldb}
561 %{?with_polly:%{__mv} polly-%{version}.src tools/polly}
562 %{__mv} clang-tools-extra-%{version}.src tools/clang/tools/extra
563 %{__mv} lld-%{version}.src tools/lld
564 %if %{with flang}
565 %{__mv} flang-%{version}.src tools/flang
566 %{__mv} mlir tools/mlir
567 %endif
568
569 %patch1 -p1
570 %patch2 -p1
571 %patch3 -p1
572 %patch4 -p1
573 %patch5 -p1
574 %if %{with flang}
575 %patch6 -p1
576 %endif
577
578 grep -rl /usr/bin/env projects tools utils | xargs sed -i -e '1{
579         s,^#!.*bin/env python,#!%{__python},
580         s,^#!.*bin/env perl,#!%{__perl},
581 }'
582
583 find -name '*.py' -print0 | xargs -0 sed -i -e '1{
584         s,^#!.*bin/python.*,#!%{__python},
585 }'
586
587 %build
588 install -d build
589
590 # Disabling assertions now, rec. by pure and needed for OpenGTL
591 # TESTFIX no PIC on ix86: http://llvm.org/bugs/show_bug.cgi?id=3801
592 cd build
593 CPPFLAGS="%{rpmcppflags} -D_FILE_OFFSET_BITS=64"
594
595 %if %{with lowmem}
596 export CFLAGS="%{rpmcflags} -g0"
597 export CXXFLAGS="%{rpmcxxflags} -g0"
598 export LDFLAGS="%{rpmldflags} -Wl,--reduce-memory-overheads"
599 %endif
600
601 %cmake .. \
602         -DBUILD_SHARED_LIBS:BOOL=OFF \
603         -DENABLE_LINKER_BUILD_ID:BOOL=ON \
604         -DLLVM_BINDINGS_LIST:LIST="%{?with_ocaml:ocaml}" \
605         -DLLVM_BINUTILS_INCDIR:STRING=%{_includedir} \
606         -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
607         -DLLVM_ENABLE_ASSERTIONS:BOOL=OFF \
608 %if %{with apidocs}
609         -DLLVM_ENABLE_DOXYGEN:BOOL=ON \
610 %endif
611         %{?with_cxxmodules:-DLLVM_ENABLE_MODULES:BOOL=ON} \
612         -DLLVM_ENABLE_PIC:BOOL=ON \
613         -DLLVM_ENABLE_RTTI:BOOL=ON \
614 %if %{with doc}
615         -DLLVM_ENABLE_SPHINX:BOOL=ON \
616 %endif
617         %{?with_z3:-DLLVM_ENABLE_Z3_SOLVER:BOOL=ON} \
618 %if "%{_lib}" == "lib64"
619         -DLLVM_LIBDIR_SUFFIX:STRING=64 \
620 %endif
621 %if "%{_lib}" == "libx32"
622         -DLLVM_LIBDIR_SUFFIX:STRING=x32 \
623 %endif
624         -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
625         -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=%{_target_platform} \
626 %if %{with lowmem}
627         -DLLVM_PARALLEL_LINK_JOBS:STRING=1 \
628 %endif
629         -DSPHINX_WARNINGS_AS_ERRORS=OFF
630
631 %{__make} \
632         VERBOSE=1 \
633         OPTIMIZE_OPTION="%{rpmcflags} %{rpmcppflags}"
634
635 %if %{with tests}
636 %{__make} check 2>&1 | tee llvm-testlog.txt
637 %{__make} -C tools/clang test 2>&1 | tee clang-testlog.txt
638 %endif
639
640 %if %{with doc}
641 %{__make} -C docs docs-llvm-html
642 %{__make} -C docs docs-llvm-man
643 %if %{with ocaml}
644 %{__make} -C docs ocaml_doc
645 %endif
646 %{__make} -C tools/clang/docs docs-clang-html
647 %{__make} -C tools/clang/docs docs-clang-man
648 %{__make} -C tools/lld/docs docs-lld-html
649 # workaround failed import of _lldb
650 cp -pnL %{_lib}/python%{py_ver}/site-packages/lldb/_lldb.so tools/lldb/docs/lldb
651 %{__make} \
652         LD_LIBRARY_PATH=$(pwd)/%{_lib} \
653         -C tools/lldb/docs lldb-python-doc
654 %{__make} -C tools/lldb/docs lldb-cpp-doc
655 %endif
656
657 %install
658 rm -rf $RPM_BUILD_ROOT
659
660 %{__make} -j1 -C build install \
661         DESTDIR=$RPM_BUILD_ROOT
662
663 # only some .pyc files are created by make install
664 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
665 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
666
667 # Adjust static analyzer installation
668 # http://clang-analyzer.llvm.org/installation#OtherPlatforms
669 install -d $RPM_BUILD_ROOT%{_libdir}/scan-build
670 %{__mv} $RPM_BUILD_ROOT%{_prefix}/libexec/c??-analyzer $RPM_BUILD_ROOT%{_libdir}/scan-build
671 %{__sed} -i -e 's,/\.\./libexec/,/../%{_lib}/scan-build/,' $RPM_BUILD_ROOT%{_bindir}/scan-build
672 %py_comp $RPM_BUILD_ROOT%{_datadir}/scan-view
673 %py_ocomp $RPM_BUILD_ROOT%{_datadir}/scan-view
674 %py_postclean %{_datadir}/scan-view
675
676 # not installed by cmake buildsystem
677 install build/bin/pp-trace $RPM_BUILD_ROOT%{_bindir}
678
679 %if %{with doc}
680 cp -p build/docs/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
681 # these tools are not installed
682 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{FileCheck,llvm-build}.1
683 # make links
684 echo '.so llvm-ar.1' > $RPM_BUILD_ROOT%{_mandir}/man1/llvm-ranlib.1
685 %endif
686
687 # Move documentation back to build directory
688 %if %{with ocaml}
689 rm -rf ocamldocs
690 %{__mv} $RPM_BUILD_ROOT%{_docdir}/llvm/ocaml-html ocamldocs
691 %endif
692
693 # and separate the apidoc
694 %if %{with apidocs}
695 rm -rf clang-apidoc
696 cp -a build/tools/clang/docs/html clang-apidoc
697 %endif
698
699 # And prepare Clang documentation
700 rm -rf clang-docs
701 install -d clang-docs
702 for f in LICENSE.TXT NOTES.txt README.txt; do
703         ln tools/clang/$f clang-docs
704 done
705
706 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{c-index-test,llvm-c-test}
707 # not this OS
708 %{__rm} $RPM_BUILD_ROOT%{_datadir}/clang/clang-format-bbedit.applescript
709 # use system six
710 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/six.py*
711 # it seems it is used internally by an extra clang tool
712 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libfindAllSymbols.a
713
714 # disable completeness check incompatible with split packaging
715 %{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d; /^unset(_IMPORT_CHECK_TARGETS)/d' $RPM_BUILD_ROOT%{_libdir}/cmake/llvm/LLVMExports.cmake
716
717 %clean
718 rm -rf $RPM_BUILD_ROOT
719
720 %post   libs -p /sbin/ldconfig
721 %postun libs -p /sbin/ldconfig
722
723 %post   -n clang-libs -p /sbin/ldconfig
724 %postun -n clang-libs -p /sbin/ldconfig
725
726 %post   -n lldb -p /sbin/ldconfig
727 %postun -n lldb -p /sbin/ldconfig
728
729 %files
730 %defattr(644,root,root,755)
731 %doc CREDITS.TXT LICENSE.TXT README.txt %{?with_tests:llvm-testlog.txt}
732 %attr(755,root,root) %{_bindir}/bugpoint
733 %attr(755,root,root) %{_bindir}/dsymutil
734 %attr(755,root,root) %{_bindir}/llc
735 %attr(755,root,root) %{_bindir}/lli
736 %attr(755,root,root) %{_bindir}/llvm-addr2line
737 %attr(755,root,root) %{_bindir}/llvm-ar
738 %attr(755,root,root) %{_bindir}/llvm-as
739 %attr(755,root,root) %{_bindir}/llvm-bcanalyzer
740 %attr(755,root,root) %{_bindir}/llvm-cat
741 %attr(755,root,root) %{_bindir}/llvm-cfi-verify
742 %attr(755,root,root) %{_bindir}/llvm-cov
743 %attr(755,root,root) %{_bindir}/llvm-cvtres
744 %attr(755,root,root) %{_bindir}/llvm-cxxdump
745 %attr(755,root,root) %{_bindir}/llvm-cxxfilt
746 %attr(755,root,root) %{_bindir}/llvm-cxxmap
747 %attr(755,root,root) %{_bindir}/llvm-diff
748 %attr(755,root,root) %{_bindir}/llvm-dis
749 %attr(755,root,root) %{_bindir}/llvm-dlltool
750 %attr(755,root,root) %{_bindir}/llvm-dwarfdump
751 %attr(755,root,root) %{_bindir}/llvm-dwp
752 %attr(755,root,root) %{_bindir}/llvm-elfabi
753 %attr(755,root,root) %{_bindir}/llvm-exegesis
754 %attr(755,root,root) %{_bindir}/llvm-extract
755 %attr(755,root,root) %{_bindir}/llvm-gsymutil
756 %attr(755,root,root) %{_bindir}/llvm-ifs
757 %attr(755,root,root) %{_bindir}/llvm-install-name-tool
758 %attr(755,root,root) %{_bindir}/llvm-jitlink
759 %attr(755,root,root) %{_bindir}/llvm-lib
760 %attr(755,root,root) %{_bindir}/llvm-link
761 %attr(755,root,root) %{_bindir}/llvm-lipo
762 %attr(755,root,root) %{_bindir}/llvm-lto
763 %attr(755,root,root) %{_bindir}/llvm-lto2
764 %attr(755,root,root) %{_bindir}/llvm-mc
765 %attr(755,root,root) %{_bindir}/llvm-mca
766 %attr(755,root,root) %{_bindir}/llvm-ml
767 %attr(755,root,root) %{_bindir}/llvm-modextract
768 %attr(755,root,root) %{_bindir}/llvm-mt
769 %attr(755,root,root) %{_bindir}/llvm-nm
770 %attr(755,root,root) %{_bindir}/llvm-objcopy
771 %attr(755,root,root) %{_bindir}/llvm-objdump
772 %attr(755,root,root) %{_bindir}/llvm-opt-report
773 %attr(755,root,root) %{_bindir}/llvm-pdbutil
774 %attr(755,root,root) %{_bindir}/llvm-profdata
775 %attr(755,root,root) %{_bindir}/llvm-ranlib
776 %attr(755,root,root) %{_bindir}/llvm-rc
777 %attr(755,root,root) %{_bindir}/llvm-readelf
778 %attr(755,root,root) %{_bindir}/llvm-readobj
779 %attr(755,root,root) %{_bindir}/llvm-reduce
780 %attr(755,root,root) %{_bindir}/llvm-rtdyld
781 %attr(755,root,root) %{_bindir}/llvm-size
782 %attr(755,root,root) %{_bindir}/llvm-split
783 %attr(755,root,root) %{_bindir}/llvm-strip
784 %attr(755,root,root) %{_bindir}/llvm-stress
785 %attr(755,root,root) %{_bindir}/llvm-strings
786 %attr(755,root,root) %{_bindir}/llvm-symbolizer
787 %attr(755,root,root) %{_bindir}/llvm-tblgen
788 %attr(755,root,root) %{_bindir}/llvm-undname
789 %attr(755,root,root) %{_bindir}/llvm-xray
790 %attr(755,root,root) %{_bindir}/obj2yaml
791 %attr(755,root,root) %{_bindir}/opt
792 %attr(755,root,root) %{_bindir}/sancov
793 %attr(755,root,root) %{_bindir}/sanstats
794 %attr(755,root,root) %{_bindir}/verify-uselistorder
795 %attr(755,root,root) %{_bindir}/yaml2obj
796 %if %{with doc}
797 %{_mandir}/man1/bugpoint.1*
798 %{_mandir}/man1/dsymutil.1*
799 %{_mandir}/man1/lit.1*
800 %{_mandir}/man1/llc.1*
801 %{_mandir}/man1/lli.1*
802 %{_mandir}/man1/llvm-addr2line.1*
803 %{_mandir}/man1/llvm-ar.1*
804 %{_mandir}/man1/llvm-as.1*
805 %{_mandir}/man1/llvm-bcanalyzer.1*
806 %{_mandir}/man1/llvm-cov.1*
807 %{_mandir}/man1/llvm-cxxfilt.1*
808 %{_mandir}/man1/llvm-cxxmap.1*
809 %{_mandir}/man1/llvm-diff.1*
810 %{_mandir}/man1/llvm-dis.1*
811 %{_mandir}/man1/llvm-dwarfdump.1*
812 %{_mandir}/man1/llvm-exegesis.1*
813 %{_mandir}/man1/llvm-extract.1*
814 %{_mandir}/man1/llvm-lib.1*
815 %{_mandir}/man1/llvm-link.1*
816 %{_mandir}/man1/llvm-lipo.1*
817 %{_mandir}/man1/llvm-locstats.1*
818 %{_mandir}/man1/llvm-mca.1*
819 %{_mandir}/man1/llvm-nm.1*
820 %{_mandir}/man1/llvm-objcopy.1*
821 %{_mandir}/man1/llvm-objdump.1*
822 %{_mandir}/man1/llvm-pdbutil.1*
823 %{_mandir}/man1/llvm-profdata.1*
824 %{_mandir}/man1/llvm-ranlib.1*
825 %{_mandir}/man1/llvm-readelf.1*
826 %{_mandir}/man1/llvm-readobj.1*
827 %{_mandir}/man1/llvm-size.1*
828 %{_mandir}/man1/llvm-stress.1*
829 %{_mandir}/man1/llvm-strings.1*
830 %{_mandir}/man1/llvm-strip.1*
831 %{_mandir}/man1/llvm-symbolizer.1*
832 %{_mandir}/man1/opt.1*
833 %{_mandir}/man1/tblgen.1*
834 %endif
835
836 %files libs
837 %defattr(644,root,root,755)
838 %attr(755,root,root) %{_libdir}/libLLVM-%{abi}.so
839 # non-soname symlink
840 %attr(755,root,root) %{_libdir}/libLLVM-%{version}.so
841 %attr(755,root,root) %ghost %{_libdir}/libLTO.so.11
842 %attr(755,root,root) %{_libdir}/LLVMgold.so
843 %attr(755,root,root) %{_libdir}/libRemarks.so.11
844 %attr(755,root,root) %{_libdir}/libclang-cpp.so.11
845
846 %files devel
847 %defattr(644,root,root,755)
848 %attr(755,root,root) %{_bindir}/llvm-config
849 %attr(755,root,root) %{_libdir}/libLLVM.so
850 %attr(755,root,root) %{_libdir}/libLTO.so
851 %attr(755,root,root) %{_libdir}/libRemarks.so
852 %attr(755,root,root) %{_libdir}/libclang-cpp.so
853 %{_libdir}/libLLVM*.a
854 %{_includedir}/llvm
855 %{_includedir}/llvm-c
856 %{_libdir}/cmake/llvm
857 %if %{with doc}
858 %{_mandir}/man1/llvm-config.1*
859 %endif
860
861 #%files doc
862 #%defattr(644,root,root,755)
863
864 %if %{with apidocs}
865 %files apidocs
866 %defattr(644,root,root,755)
867 %doc apidoc/*
868 %endif
869
870 %if %{with polly}
871 %files polly
872 %defattr(644,root,root,755)
873 %doc tools/polly/{CREDITS.txt,LICENSE.txt,README} tools/polly/www/{bugs,changelog,contributors}.html
874 %attr(755,root,root) %{_libdir}/LLVMPolly.so
875
876 %files polly-devel
877 %defattr(644,root,root,755)
878 %{_libdir}/libPolly.a
879 %{_libdir}/libPollyISL.a
880 %{_libdir}/libPollyPPCG.a
881 %{_includedir}/polly
882 %{_libdir}/cmake/polly
883 %endif
884
885 %files -n clang
886 %defattr(644,root,root,755)
887 %doc clang-docs/{LICENSE.TXT,NOTES.txt,README.txt} %{?with_tests:clang-testlog.txt}
888 %attr(755,root,root) %{_bindir}/clang
889 %attr(755,root,root) %{_bindir}/clang++
890 %attr(755,root,root) %{_bindir}/clang-%{abi}
891 %attr(755,root,root) %{_bindir}/clang-check
892 %attr(755,root,root) %{_bindir}/clang-cl
893 %attr(755,root,root) %{_bindir}/clang-cpp
894 %attr(755,root,root) %{_bindir}/clang-doc
895 %attr(755,root,root) %{_bindir}/clang-format
896 %attr(755,root,root) %{_bindir}/clang-offload-bundler
897 %attr(755,root,root) %{_bindir}/clang-offload-wrapper
898 %attr(755,root,root) %{_bindir}/git-clang-format
899 %dir %{_libdir}/clang
900 %dir %{_libdir}/clang/%{version}
901 %{_libdir}/clang/%{version}/include
902 %if %{with rt}
903 %ifarch %{x8664} aarch64
904 %dir %{_libdir}/clang/%{version}/bin
905 %attr(755,root,root) %{_libdir}/clang/%{version}/bin/hwasan_symbolize
906 %endif
907 %ifarch %{ix86} %{x8664} aarch64
908 %dir %{_libdir}/clang/%{version}/lib
909 %dir %{_libdir}/clang/%{version}/lib/linux
910 %dir %{_libdir}/clang/%{version}/share
911 %endif
912 %ifarch x32
913 %if %{with multilib}
914 %dir %{_libdir}/clang/%{version}/lib
915 %dir %{_libdir}/clang/%{version}/lib/linux
916 %dir %{_libdir}/clang/%{version}/share
917 %endif
918 %endif
919 %ifarch %{ix86}
920 %{_libdir}/clang/%{version}/lib/linux/clang_rt.*-i*86.o
921 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-i*86.a
922 %attr(755,root,root) %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-i*86.so
923 %endif
924 %ifarch %{x8664}
925 %{_libdir}/clang/%{version}/lib/linux/clang_rt.*-x86_64.o
926 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-x86_64.a
927 %attr(755,root,root) %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-x86_64.so
928 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-x86_64.a.syms
929 %endif
930 %ifarch aarch64
931 %{_libdir}/clang/%{version}/lib/linux/clang_rt.*-aarch64.o
932 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-aarch64.a
933 %attr(755,root,root) %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-aarch64.so
934 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-aarch64.a.syms
935 %endif
936 %ifarch %{ix86} %{x8664} %{arm} aarch64 mips mips64 ppc64
937 %{_libdir}/clang/%{version}/share/asan_blacklist.txt
938 %endif
939 %ifarch %{ix86} %{x8664} mips64 aarch64
940 %{_libdir}/clang/%{version}/share/cfi_blacklist.txt
941 %endif
942 %ifarch %{x8664} aarch64 mips64
943 %{_libdir}/clang/%{version}/share/dfsan_abilist.txt
944 %{_libdir}/clang/%{version}/share/msan_blacklist.txt
945 %endif
946 %ifarch %{x8664} aarch64
947 %{_libdir}/clang/%{version}/share/hwasan_blacklist.txt
948 %endif
949 %ifarch x32
950 %if %{with multilib}
951 %{_libdir}/clang/%{version}/share/asan_blacklist.txt
952 %{_libdir}/clang/%{version}/share/cfi_blacklist.txt
953 %{_libdir}/clang/%{version}/share/dfsan_abilist.txt
954 %{_libdir}/clang/%{version}/share/msan_blacklist.txt
955 %{_libdir}/clang/%{version}/share/hwasan_blacklist.txt
956 %endif
957 %endif
958 %endif
959 %dir %{_datadir}/clang
960 %{_datadir}/clang/clang-format-diff.py
961
962 %files -n clang-libs
963 %defattr(644,root,root,755)
964 %attr(755,root,root) %{_libdir}/libclang.so.%{abi}
965
966 %if %{with rt} && %{with multilib}
967 %ifarch %{x8664} x32
968 %files -n clang-multilib
969 %defattr(644,root,root,755)
970 %{_libdir}/clang/%{version}/lib/linux/clang_rt.*-i386.o
971 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-i386.a
972 %attr(755,root,root) %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-i386.so
973 %endif
974 %ifarch x32
975 %{_libdir}/clang/%{version}/lib/linux/clang_rt.*-x86_64.o
976 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-x86_64.a
977 %attr(755,root,root) %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-x86_64.so
978 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-x86_64.a.syms
979 %endif
980 %endif
981
982 %files -n clang-analyzer
983 %defattr(644,root,root,755)
984 %attr(755,root,root) %{_bindir}/scan-build
985 %attr(755,root,root) %{_bindir}/scan-view
986 %{_datadir}/scan-build
987 %{_datadir}/scan-view
988 %{_mandir}/man1/scan-build.1*
989 %dir %{_libdir}/scan-build
990 %attr(755,root,root) %{_libdir}/scan-build/c++-analyzer
991 %attr(755,root,root) %{_libdir}/scan-build/ccc-analyzer
992
993 %files -n clang-devel
994 %defattr(644,root,root,755)
995 %attr(755,root,root) %{_libdir}/libclang.so
996 %{_libdir}/libclang*.a
997 %{_includedir}/clang
998 %{_includedir}/clang-c
999 %{_includedir}/clang-tidy
1000 %{_libdir}/cmake/clang
1001
1002 %files -n clang-doc
1003 %defattr(644,root,root,755)
1004 %doc tools/clang/docs/*.{html,png,txt}
1005
1006 %if %{with apidocs}
1007 %files -n clang-apidocs
1008 %defattr(644,root,root,755)
1009 %doc clang-apidoc/*
1010 %endif
1011
1012 %files -n clang-tools-extra
1013 %defattr(644,root,root,755)
1014 %doc tools/clang/tools/extra/{CODE_OWNERS.TXT,README.txt}
1015 %attr(755,root,root) %{_bindir}/clang-apply-replacements
1016 %attr(755,root,root) %{_bindir}/clang-change-namespace
1017 %attr(755,root,root) %{_bindir}/clang-extdef-mapping
1018 %attr(755,root,root) %{_bindir}/clang-include-fixer
1019 %attr(755,root,root) %{_bindir}/clang-move
1020 %attr(755,root,root) %{_bindir}/clang-query
1021 %attr(755,root,root) %{_bindir}/clang-refactor
1022 %attr(755,root,root) %{_bindir}/clang-rename
1023 %attr(755,root,root) %{_bindir}/clang-reorder-fields
1024 %attr(755,root,root) %{_bindir}/clang-scan-deps
1025 %attr(755,root,root) %{_bindir}/clang-tidy
1026 %attr(755,root,root) %{_bindir}/clangd
1027 %attr(755,root,root) %{_bindir}/diagtool
1028 %attr(755,root,root) %{_bindir}/find-all-symbols
1029 %attr(755,root,root) %{_bindir}/hmaptool
1030 %attr(755,root,root) %{_bindir}/modularize
1031 %attr(755,root,root) %{_bindir}/pp-trace
1032 %{_datadir}/clang/clang-include-fixer.py
1033 %{_datadir}/clang/clang-tidy-diff.py
1034 %{_datadir}/clang/run-clang-tidy.py
1035 %{_datadir}/clang/run-find-all-symbols.py
1036
1037 %files -n lld
1038 %defattr(644,root,root,755)
1039 %doc tools/lld/{LICENSE.TXT,README.md}
1040 %attr(755,root,root) %{_bindir}/ld.lld
1041 %attr(755,root,root) %{_bindir}/ld64.lld
1042 %attr(755,root,root) %{_bindir}/lld
1043 %attr(755,root,root) %{_bindir}/lld-link
1044 %attr(755,root,root) %{_bindir}/wasm-ld
1045
1046 %files -n lld-devel
1047 %defattr(644,root,root,755)
1048 %{_libdir}/liblld[ACDEHMRWXY]*.a
1049 %{_includedir}/lld
1050 %{_libdir}/cmake/lld
1051
1052 %if %{with lldb}
1053 %files -n lldb
1054 %defattr(644,root,root,755)
1055 %attr(755,root,root) %{_bindir}/lldb
1056 %attr(755,root,root) %{_bindir}/lldb-argdumper
1057 %attr(755,root,root) %{_bindir}/lldb-instr
1058 %attr(755,root,root) %{_bindir}/lldb-server
1059 %attr(755,root,root) %{_bindir}/lldb-vscode
1060 %attr(755,root,root) %{_libdir}/liblldb.so.%{version}
1061 %attr(755,root,root) %ghost %{_libdir}/liblldb.so.11
1062 %attr(755,root,root) %ghost %{_libdir}/liblldbIntelFeatures.so.11
1063 %dir %{py_sitedir}/lldb
1064 %attr(755,root,root) %{py_sitedir}/lldb/lldb-argdumper
1065 %{py_sitedir}/lldb/formatters
1066 %{py_sitedir}/lldb/utils
1067 %{py_sitedir}/lldb/__init__.py[co]
1068 %{py_sitedir}/lldb/embedded_interpreter.py[co]
1069 %attr(755,root,root) %{py_sitedir}/lldb/_lldb.so
1070
1071 %files -n lldb-devel
1072 %defattr(644,root,root,755)
1073 %attr(755,root,root) %{_libdir}/liblldb.so
1074 %attr(755,root,root) %{_libdir}/liblldbIntelFeatures.so
1075 %{_includedir}/lldb
1076 %endif
1077
1078 %if %{with ocaml}
1079 %files ocaml
1080 %defattr(644,root,root,755)
1081 %attr(755,root,root) %{_libdir}/ocaml/stublibs/dllllvm*.so
1082 %dir %{_libdir}/ocaml/llvm
1083 %{_libdir}/ocaml/llvm/llvm*.cma
1084 %{_libdir}/ocaml/llvm/llvm*.cmi
1085 %{_libdir}/ocaml/META.llvm*
1086
1087 %files ocaml-devel
1088 %defattr(644,root,root,755)
1089 %{_libdir}/ocaml/llvm/libllvm*.a
1090 %{_libdir}/ocaml/llvm/llvm*.a
1091 %{_libdir}/ocaml/llvm/llvm*.cmx
1092 %{_libdir}/ocaml/llvm/llvm*.cmxa
1093 %{_libdir}/ocaml/llvm/llvm*.mli
1094
1095 %files ocaml-doc
1096 %defattr(644,root,root,755)
1097 %doc ocamldocs/*
1098 %endif
1099
1100 %files opt-viewer
1101 %defattr(644,root,root,755)
1102 %{_datadir}/opt-viewer
1103
1104 %files -n vim-plugin-clang
1105 %defattr(644,root,root,755)
1106 %{_datadir}/clang/clang-format.py
1107 %{_datadir}/clang/clang-rename.py
This page took 0.126766 seconds and 3 git commands to generate.