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