source: projects/specs/trunk/l/llvm/llvm-vl.spec @ 11969

Revision 11969, 27.9 KB checked in by tomop, 5 years ago (diff)

llvm-7.0.0-1

Line 
1%define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}
2
3%define ver_suffix %(echo "%{version}" | cut -d . -f 1)
4
5%define _unpackaged_files_terminate_build 1
6
7# Build options:
8# Components skipped by default:
9%bcond_with doxygen
10%bcond_with ocaml
11%bcond_with force_gold
12%bcond_with lld_libs
13%bcond_with clang_tools_extra
14
15# Documentation install path
16%global llvmdocdir() %{_docdir}/%1-%{version}
17
18%define _unpackaged_files_terminate_build 1
19
20Name:           llvm
21Version:        7.0.0
22Release:        1%{?_dist_release}
23Summary:        The Low Level Virtual Machine
24Summary(ja):    LLVM - 低レベルバーチャルマシン
25
26Group:          Development/Languages
27License:        NCSA
28URL:            http://llvm.org/
29
30Vendor:         Project Vine
31Distribution:   Vine Linux
32
33Source0:        http://llvm.org/releases/%{version}/llvm-%{version}.src.tar.xz
34Source1:        http://llvm.org/releases/%{version}/cfe-%{version}.src.tar.xz
35Source2:        http://llvm.org/releases/%{version}/compiler-rt-%{version}.src.tar.xz
36Source3:        http://llvm.org/releases/%{version}/lldb-%{version}.src.tar.xz
37Source4:        http://llvm.org/releases/%{version}/lld-%{version}.src.tar.xz
38Source5:        http://llvm.org/releases/%{version}/clang-tools-extra-%{version}.src.tar.xz
39
40# multilib fixes
41Source10:        llvm-config.h
42Source11:        clang-config.h
43
44# patches
45
46# recognize s390 as SystemZ when configuring build
47# llvm
48Patch3:         0001-CMake-Split-static-library-exports-into-their-own-ex.patch
49Patch7:         0001-Filter-out-cxxflags-not-supported-by-clang.patch
50Patch12:        0001-unittests-Don-t-install-TestPlugin.so.patch
51Patch15:        0001-Don-t-set-rpath-when-installing.patch
52
53# clang
54Patch100:         0001-lit.cfg-Add-hack-so-lit-can-find-not-and-FileCheck.patch
55Patch101:         0001-GCC-compatibility-Ignore-fstack-clash-protection.patch
56Patch102:         0001-Driver-Prefer-vendor-supplied-gcc-toolchain.patch
57
58# lld
59Patch400:         0001-CMake-Check-for-gtest-headers-even-if-lit.py-is-not-.patch
60
61# Vine Patch
62Patch1000: clang-3.8.1-driver-ld.gold.patch
63Patch1002: clang-3.8.1-driver-vine.patch
64
65BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
66
67BuildRequires:  binutils-devel
68BuildRequires:  cmake
69BuildRequires:  bison
70BuildRequires:  chrpath
71BuildRequires:  flex
72BuildRequires:  gcc-c++ >= 3.4
73BuildRequires:  groff
74BuildRequires:  libffi-devel
75BuildRequires:  libstdc++-devel
76BuildRequires:  libstdc++-static
77BuildRequires:  libtool-ltdl-devel
78BuildRequires:  libxml2-devel
79%if %{with ocaml}
80BuildRequires:  ocaml-findlib
81BuildRequires:  ocaml-ctypes
82BuildRequires:  ocaml-ounit
83%endif
84# for DejaGNU test suite
85BuildRequires:  dejagnu tcl-devel python
86%if %{with doxygen}
87BuildRequires:  doxygen graphviz
88%endif
89# pod2man
90BuildRequires:  perl
91# lldb
92BuildRequires:  swig
93BuildRequires:  libedit-devel
94BuildRequires:  python-devel >= 2.7
95# lld
96BuildRequires: ncurses-devel
97BuildRequires: zlib-devel
98
99Requires:       llvm%{ver_suffix}-libs = %{version}-%{release}
100
101# LLVM is not supported on PPC64
102# http://llvm.org/bugs/show_bug.cgi?id=3729
103ExcludeArch:    ppc64
104
105%description
106LLVM is a compiler infrastructure designed for compile-time,
107link-time, runtime, and idle-time optimization of programs from
108arbitrary programming languages.  The compiler infrastructure includes
109mirror sets of programming tools as well as libraries with equivalent
110functionality.
111
112
113%package devel
114Summary:        Libraries and header files for LLVM
115Summary(ja):    LLVM のライブラリおよびヘッダファイル
116Group:          Development/Libraries
117Requires:       %{name} = %{version}-%{release}
118Requires:       libstdc++-devel
119Requires:       libffi-devel
120Requires:       libedit-devel
121
122%description devel
123This package contains library and header files needed to develop new
124native programs that use the LLVM infrastructure.
125
126
127%package doc
128Summary:        Documentation for LLVM
129Summary(ja):    LLVM のドキュメント
130Group:          Documentation
131BuildArch:      noarch
132Requires:       %{name} = %{version}-%{release}
133# might seem redundant, but needed to kill off the old arch-ed -doc subpackage
134Obsoletes:      %{name}-doc < %{version}-%{release}
135
136%description doc
137Documentation for the LLVM compiler infrastructure.
138
139
140%package -n llvm%{ver_suffix}-libs
141Summary:        LLVM shared libraries
142Summary(ja):    LLVM 共有ライブラリ
143Group:          System Environment/Libraries
144Provides:       llvm-libs = %{version}-%{release}
145
146%description -n llvm%{ver_suffix}-libs
147Shared libraries for the LLVM compiler infrastructure.
148
149%description -n llvm%{ver_suffix}-libs -l ja
150LLVM コンパイラ基盤の共有ライブラリです.
151
152%package static
153Summary:        LLVM static libraries
154Summary(ja):    LLVM 静的ライブラリ
155Requires:       llvm-devel = %{version}-%{release}
156
157%description static
158Static libraries for the LLVM compiler infrastructure.
159
160%description static -l ja
161LLVM コンパイラ基盤の静的ライブラリです.
162
163
164%package -n clang
165Summary:        A C language family front-end for LLVM
166Summary(ja):    LLVM の C 言語フロントエンド
167License:        NCSA
168Group:          Development/Languages
169Requires:       %{name} = %{version}-%{release}
170# clang requires gcc, clang++ requires libstdc++-devel
171Requires:       libstdc++-devel
172# remove clang-doc pacakge
173Obsoletes:      clang-doc < %{version}-%{release}
174
175%description -n clang
176clang: noun
177    1. A loud, resonant, metallic sound.
178    2. The strident call of a crane or goose.
179    3. C-language family front-end toolkit.
180
181The goal of the Clang project is to create a new C, C++, Objective C
182and Objective C++ front-end for the LLVM compiler. Its tools are built
183as libraries and designed to be loosely-coupled and extensible.
184
185%Package -n clang-libs
186Summary:        Runtime library for clang
187Summary(ja):    Clang のランタイムライブラリ
188Group:          System Environment/Libraries
189
190%description -n clang-libs
191Runtime library for clang.
192
193%description -n clang-libs -l ja
194Clang のランタイムライブラリです.
195
196%package -n clang-devel
197Summary:        Header files for clang
198Summary(ja):    Clang のヘッダファイル
199Group:          Development/Libraries
200Requires:       clang = %{version}-%{release}
201
202%description -n clang-devel
203This package contains header files for the Clang compiler.
204
205%description -n clang-devel -l ja
206Clang コンパイラのヘッダファイル集です.
207
208%package -n clang-analyzer
209Summary:        A source code analysis framework
210Summary(ja):    ソースコード分析フレームワーク
211License:        NCSA
212Group:          Development/Languages
213Requires:       clang = %{version}-%{release}
214# not picked up automatically since files are currently not instaled
215# in standard Python hierarchies yet
216Requires:       python
217
218%description -n clang-analyzer
219The Clang Static Analyzer consists of both a source code analysis
220framework and a standalone tool that finds bugs in C and Objective-C
221programs. The standalone tool is invoked from the command-line, and is
222intended to run in tandem with a build of a project or code base.
223
224%package -n python-clang
225Summary: Python bindings for clang
226Requires: %{name}%{ver_suffix}-libs%{?_isa} = %{version}-%{release}
227Requires: python
228%description -n python-clang
229Python bindings for clang
230
231
232#%package -n clang-doc
233#Summary:        Documentation for Clang
234#Summary(ja):    Clang のドキュメント
235#Group:          Documentation
236#Requires:       %{name} = %{version}-%{release}
237#
238#%description -n clang-doc
239#Documentation for the Clang compiler front-end.
240
241%package -n lldb
242Summary:        Next generation high-performance debugger
243Summary(ja):    高性能デバッガー
244License:        NCSA
245Group:          Development/Debuggers
246Requires:       %{name} = %{version}-%{release}
247
248%description -n lldb
249LLDB is a next generation, high-performance debugger. It is built as a set
250of reusable components which highly leverage existing libraries in the
251larger LLVM Project, such as the Clang expression parser and LLVM
252disassembler.
253
254%package -n lldb-devel
255Summary:        Header files for LLDB
256Summary(ja):    LLDB のヘッダファイル
257Group:          Development/Libraries
258Requires:       lldb = %{version}-%{release}
259
260%description -n lldb-devel
261This package contains header files for the LLDB debugger.
262
263
264%package -n lld
265Summary:        The LLVM Linker
266Summary(ja):    LLVMリンカー
267License:        NCSA
268Group:          Development/Tools
269
270%description -n lld
271The LLVM project linker.
272
273%if %{with lld_libs}
274%package -n lld-libs
275Summary:        LLD shared libraries
276Summary(ja):    LLD 共有ライブラリ
277License:        NCSA
278Group:          System Environment/Libraries
279
280%description -n lld-libs
281Shared libraries for LLD.
282
283
284%package -n lld-devel
285Summary:        Libraries and header files for LLD
286Summary(ja):    LLD 用ライブラリとヘッダファイル
287License:        NCSA
288Group:          System Environment/Libraries
289Requires:       lld-libs = %{version}-%{release}
290
291%description -n lld-devel
292This package contains library and header files needed to develop new native
293programs that use the LLD infrastructure.
294%endif
295
296%if %{with doxygen}
297%package apidoc
298Summary:        API documentation for LLVM
299Summary(ja):    LLVM の API ドキュメント
300Group:          Documentation
301BuildArch:      noarch
302Requires:       %{name}-docs = %{version}-%{release}
303
304%description apidoc
305API documentation for the LLVM compiler infrastructure.
306
307%package -n clang-apidoc
308Summary:        API documentation for Clang
309Summary(ja):    Clang の API ドキュメント
310Group:          Documentation
311BuildArch:      noarch
312
313%description -n clang-apidoc
314API documentation for the Clang compiler.
315%endif
316
317
318%package -n python-lldb
319Summary:        Python module for LLDB
320Summary(ja):    LLDB用Pythonモジュール
321BuildRequires:  python-devel
322Requires:       python-six
323
324%description -n python-lldb
325The package contains the LLDB Python module.
326
327
328%if %{with ocaml}
329%package        ocaml
330Summary:        OCaml binding for LLVM
331Summary(ja):    LLVM の OCaml バインディング
332Group:          System Environment/Libraries
333Requires:       %{name} = %{version}-%{release}
334Requires:       ocaml
335
336%description    ocaml
337OCaml binding for LLVM.
338
339%package        ocaml-devel
340Summary:        Development files for %{name}-ocaml
341Summary(ja):    %{name}-ocaml の開発ファイル
342Group:          Development/Libraries
343Requires:       %{name}-devel = %{version}-%{release}
344Requires:       %{name}-ocaml = %{version}-%{release}
345Requires:       ocaml
346
347%description    ocaml-devel
348The %{name}-ocaml-devel package contains libraries and signature files
349for developing applications that use %{name}-ocaml.
350
351%package ocaml-doc
352Summary:        Documentation for %{name}-ocaml
353Summary(ja):    %{name}-ocaml のドキュメント
354Group:          Documentation
355BuildArch:      noarch
356Requires:       %{name}-ocaml = %{version}-%{release}
357# might seem redundant, but needed to kill off the old arch-ed -doc subpackage
358Obsoletes:      %{name}-ocaml-doc < %{version}-%{release}
359
360%description ocaml-doc
361HTML documentation for LLVM's OCaml binding.
362
363%endif
364
365# compat32'
366%package -n compat32-%{name}%{ver_suffix}-libs
367Summary:        LLVM shared libraries
368Summary(ja):    LLVM 共有ライブラリ
369Group:          System Environment/Libraries
370Provides:       compat32-llvm-libs = %{version}-%{release}
371Requires:       %{name}%{ver_suffix}-libs = %{version}-%{release}
372
373%description -n compat32-%{name}%{ver_suffix}-libs
374Shared libraries for the LLVM compiler infrastructure.
375
376
377%prep
378%setup -q -a1 -a2 -a3 -a4 -n llvm-%{version}.src
379
380%patch3 -p1
381%patch7 -p1
382%patch12 -p1
383%patch15 -p1
384
385rm -rf tools/clang tools/lld tools/lldb projects/compiler-rt
386mv cfe-%{version}.src tools/clang
387mv compiler-rt-%{version}.src projects/compiler-rt
388mv lldb-%{version}.src tools/lldb
389mv lld-%{version}.src tools/lld
390
391%if %{with clang_tools_extra}
392tar xvf %{SOURCE5}
393mv clang-tools-extra-%{version}.src tools/clang/tools/extra
394%endif
395
396pushd tools/clang
397%patch100 -p1 -b .lit-search-path
398%patch101 -p1 -b .fstack-clash-protection
399%patch102 -p1 -b .vendor-gcc
400popd
401
402pushd tools/lld
403%patch400 -p1
404popd
405
406# Vine Linux
407%if %{with force_gold}
408pushd tools/clang
409%patch1000 -p1 -b .driver-ld.gold
410popd
411%endif
412#%patch1002 -p1 -b .driver-vine
413
414sed -i -e 's/"i686-linux-gnu",/"i686-linux-gnu","i686-vine-linux",/' tools/clang/lib/Driver/ToolChains/Gnu.cpp
415sed -i -e 's/"x86_64-linux-gnu",/"x86_64-linux-gnu","x86_64-vine-linux",/' tools/clang/lib/Driver/ToolChains/Gnu.cpp
416
417sed -i -e 's/"ld"/"ld.gold"/' tools/clang/include/clang/Driver/ToolChain.h
418
419%build
420mkdir build
421cd build
422
423CFLAGS="%{optflags} -fno-strict-aliasing -Wno-error=format-security -fPIC"
424CXXFLAGS="%{optflags} -fno-strict-aliasing -Wno-error=format-security -fPIC -std=c++11"
425TMP_PWD=$(pwd)
426LDFLAGS="%{?__global_ldflags} -L$TMP_PWD/%{_lib} -lpthread -ldl"
427
428%cmake .. \
429        -DBUILD_SHARED_LIBS:BOOL=OFF \
430        -DCMAKE_BUILD_TYPE=Release \
431        -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-Bsymbolic -static-libstdc++" \
432%if 0%{?__isa_bits} == 64
433        -DLLVM_LIBDIR_SUFFIX=64 \
434%else
435        -DLLVM_LIBDIR_SUFFIX= \
436%endif
437        -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;NVPTX;BPF;ARM;AArch64" \
438        -DLLVM_ENABLE_LIBCXX:BOOL=OFF \
439        -DLLVM_ENABLE_ZLIB:BOOL=ON \
440        -DLLVM_ENABLE_FFI:BOOL=ON \
441        -DLLVM_ENABLE_RTTI:BOOL=ON \
442        -DLLVM_BINUTILS_INCDIR=%{_includedir} \
443        -DLLVM_BUILD_RUNTIME:BOOL=ON \
444        -DLLVM_INCLUDE_TOOLS:BOOL=ON \
445        -DLLVM_BUILD_TOOLS:BOOL=ON \
446        -DLLVM_INCLUDE_TESTS:BOOL=ON \
447        -DLLVM_BUILD_TESTS:BOOL=ON \
448        -DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
449        -DLLVM_BUILD_EXAMPLES:BOOL=OFF \
450        -DLLVM_INCLUDE_UTILS:BOOL=ON \
451        -DLLVM_INSTALL_UTILS:BOOL=OFF \
452        -DLLVM_INCLUDE_DOCS:BOOL=ON \
453        -DLLVM_ENABLE_SPHINX:BOOL=OFF \
454%if %{with doxygen}
455        -DLLVM_ENABLE_DOXYGEN:BOOL=ON \
456%else
457        -DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
458%endif
459        -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
460        -DLLVM_DYLIB_EXPORT_ALL:BOOL=ON \
461        -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
462        -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
463        -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
464        -DLLVM_OPTIMIZED_TABLEGEN:BOOL=ON \
465        \
466        -DCLANG_ENABLE_ARCMT:BOOL=ON \
467        -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
468        -DCLANG_INCLUDE_DOCS:BOOL=ON \
469        -DCLANG_INCLUDE_TESTS:BOOL=ON \
470        -DCLANG_PLUGIN_SUPPORT:BOOL=ON \
471        -DCLANG_BUILD_EXAMPLES:BOOL=OFF \
472        -DLIB_SUFFIX= \
473        \
474        -DLLDB_DISABLE_CURSES:BOOL=OFF \
475        -DLLDB_DISABLE_LIBEDIT:BOOL=OFF \
476        -DLLDB_DISABLE_PYTHON:BOOL=OFF \
477        \
478        -DLLDB_LINK_LLVM_DYLIB:BOOL=ON \
479        \
480        -DPYTHON_EXECUTABLE:STRING=%{__python} \
481        -DPYTHON_VERSION_MAJOR:STRING=$(%{__python} -c "import sys; print sys.version_info.major") \
482        -DPYTHON_VERSION_MINOR:STRING=$(%{__python} -c "import sys; print sys.version_info.minor") \
483        -DCOMPILER_RT_INCLUDE_TESTS:BOOL=OFF # could be on?
484
485# workaround for all-in-one build
486#TMP_PWD=$(pwd)
487#LD_LIBRARY_PATH="$TMP_PWD/%{_lib}" make %{?_smp_mflags}
488make %{?_smp_mflags}
489
490%install
491rm -rf %{buildroot}
492
493cd build
494make install DESTDIR=%{buildroot}
495
496# llvm
497
498install -m755 ./bin/lli-child-target %{buildroot}%{_bindir}/lli-child-target
499
500# fix multi-lib
501mv -v %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
502ln -sf llvm-config-%{__isa_bits} %{buildroot}%{_bindir}/llvm-config
503mv -v %{buildroot}%{_includedir}/llvm/Config/llvm-config{,-%{__isa_bits}}.h
504install -m 0644 %{SOURCE10} %{buildroot}%{_includedir}/llvm/Config/llvm-config.h
505
506# clang
507
508# remove static libraries
509rm -fv %{buildroot}%{_libdir}/libclang*.a
510
511# install clang python bindings
512mkdir -p %{buildroot}%{python_sitelib}/clang/
513install -p -m644 ../tools/clang/bindings/python/clang/* %{buildroot}%{python_sitelib}/clang/
514
515mv -v %{buildroot}%{_includedir}/clang/Config/config{,-%{__isa_bits}}.h
516install -m 0644 %{SOURCE11} %{buildroot}%{_includedir}/clang/Config/config.h
517
518# remove git integration
519rm -vf %{buildroot}%{_bindir}/git-clang-format
520# remove editor integrations (bbedit, sublime, emacs, vim)
521rm -vf %{buildroot}%{_datadir}/clang/clang-format-bbedit.applescript
522rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py*
523rm -vf %{buildroot}%{_datadir}/clang/clang-format.el
524rm -vf %{buildroot}%{_datadir}/clang/clang-format.py*
525# remove diff reformatter
526rm -vf %{buildroot}%{_datadir}/clang/clang-format-diff.py*
527
528
529# lldb
530
531# remove static libraries
532rm -fv %{buildroot}%{_libdir}/liblldb*.a
533
534# python: fix binary libraries location
535liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so))
536ln -vsf "../../../${liblldb}" %{buildroot}%{python_sitearch}/lldb/_lldb.so
537mv -v %{buildroot}%{python_sitearch}/readline.so %{buildroot}%{python_sitearch}/lldb/readline.so
538
539# remove bundled six.py
540rm -f %{buildroot}%{python_sitearch}/six.*
541
542
543# lld
544
545# remove static libraries
546rm -fv %{buildroot}%{_libdir}/liblld*.a
547
548# Remove rpath
549chrpath --delete %{buildroot}%{_bindir}/*lld
550chrpath --delete %{buildroot}%{_bindir}/lld-link
551chrpath --delete %{buildroot}%{_bindir}/wasm-ld
552find %{buildroot}%{_libdir} -type f -name 'liblld*.so*' | \
553  grep -v 'liblldb' | \
554  xargs chrpath --delete
555
556%if !%{with lld_libs}
557  rm -rf %{buildroot}%{_includedir}/lld
558%endif
559
560# compiler-rt
561
562# move sanitizer lists to better place
563mkdir -p %{buildroot}%{_libdir}/clang/%{version}
564for file in asan_blacklist.txt msan_blacklist.txt dfsan_blacklist.txt cfi_blacklist.txt dfsan_abilist.txt; do
565        mv -v %{buildroot}%{_prefix}/${file} %{buildroot}%{_libdir}/clang/%{version}/ || :
566done
567
568# move sanitizer libs to better place
569#mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib
570#mv -v %{buildroot}%{_prefix}/lib/linux/libclang_rt* %{buildroot}%{_libdir}/clang/%{version}/lib
571#mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib/linux/
572#pushd %{buildroot}%{_libdir}/clang/%{version}/lib
573#for i in *.a *.syms *.so; do
574#        ln -s ../$i linux/$i
575#done
576
577#rm -rf %{buildroot}%{_libdir}/python*
578
579rm -f %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
580rm -f %{buildroot}%{_datadir}/clang/clang-rename.el
581rm -f %{buildroot}%{_datadir}/clang/clang-rename.py
582
583%check
584# the || : is wrong, i know, but the git snaps fail to make check due to
585# broken makefiles in the doc dirs.
586cd build
587make check-all LIT_ARGS="-v -j4" | tee llvm-testlog.txt ||:
588make -C tools/clang/test TESTARGS="-v -j4" | tee clang-testlog.txt ||:
589
590%clean
591rm -rf %{buildroot}
592
593
594%post -n llvm%{ver_suffix}-libs -p /sbin/ldconfig
595%postun -n llvm%{ver_suffix}-libs -p /sbin/ldconfig
596
597%post -n clang-libs -p /sbin/ldconfig
598%postun -n clang-libs -p /sbin/ldconfig
599
600%post -n lldb -p /sbin/ldconfig
601%postun -n lldb -p /sbin/ldconfig
602
603%post -n lld
604  /sbin/alternatives --install /usr/bin/ld ld \
605  /usr/bin/ld.lld 20
606
607%preun -n lld
608if [ $1 = 0 ]; then
609  /sbin/alternatives --remove ld /usr/bin/ld.lld
610fi
611
612%if %{with lld_libs}
613%post -n lld-libs -p /sbin/ldconfig
614%postun -n lld-libs -p /sbin/ldconfig
615%endif
616
617%posttrans devel
618# link llvm-config to the platform-specific file;
619# use ISA bits as priority so that 64-bit is preferred
620# over 32-bit if both are installed
621alternatives \
622  --install \
623  %{_bindir}/llvm-config \
624  llvm-config \
625  %{_bindir}/llvm-config-%{__isa_bits} \
626  %{__isa_bits}
627
628%postun devel
629if [ $1 -eq 0 ]; then
630  alternatives --remove llvm-config \
631    %{_bindir}/llvm-config-%{__isa_bits}
632fi
633exit 0
634
635
636%files
637%defattr(-,root,root,-)
638%doc CREDITS.TXT README.txt
639%{_bindir}/bugpoint
640%{_bindir}/dsymutil
641%{_bindir}/llc
642%{_bindir}/lli
643%{_bindir}/lli-child-target
644%{_bindir}/obj2yaml
645%{_bindir}/sancov
646%{_bindir}/sanstats
647%{_bindir}/verify-uselistorder
648%{_bindir}/yaml2obj
649%exclude %{_bindir}/llvm-config
650%exclude %{_bindir}/llvm-config-%{__isa_bits}
651%{_bindir}/llvm*
652%{_bindir}/opt
653%exclude %{_mandir}/man1/scan-build.1.*
654%doc %{_mandir}/man1/*.1.*
655%{_datadir}/opt-viewer
656
657%files devel
658%defattr(-,root,root,-)
659#doc %{llvmdocdir %{name}-devel}/
660%{_bindir}/llvm-config
661%{_bindir}/llvm-config-%{__isa_bits}
662%{_includedir}/%{name}
663%{_includedir}/%{name}-c
664%{_libdir}/libLLVM.so
665%{_libdir}/cmake/llvm
666%exclude %{_libdir}/cmake/llvm/LLVMStaticExports.cmake
667
668%files -n llvm%{ver_suffix}-libs
669%defattr(-,root,root,-)
670%doc LICENSE.TXT
671#config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf
672#dir %{_libdir}/%{name}
673%{_libdir}/BugpointPasses.so
674%{_libdir}/libLLVM-*.so
675%{_libdir}/libLTO.so*
676%{_libdir}/LLVMgold.so
677%exclude %{_libdir}/LLVMHello.so
678
679%files static
680%{_libdir}/*.a
681%{_libdir}/cmake/llvm/LLVMStaticExports.cmake
682
683%files -n clang
684%defattr(-,root,root,-)
685#doc %{llvmdocdir clang}/
686%{_bindir}/clang*
687%{_bindir}/c-index-test
688%{_bindir}/diagtool
689%{_bindir}/hmaptool
690%{_libdir}/clang
691
692%files -n clang-libs
693%defattr(-,root,root,-)
694%{_libdir}/libclang.so
695%{_libdir}/libclang.so.*
696
697%files -n clang-devel
698%defattr(-,root,root,-)
699#doc %{llvmdocdir clang-devel}/
700%{_includedir}/clang
701%{_includedir}/clang-c
702%dir %{_datadir}/clang/
703%{_libdir}/cmake/*
704
705%files -n clang-analyzer
706%defattr(-,root,root,-)
707%{_bindir}/scan-build
708%{_bindir}/scan-view
709%{_libexecdir}/ccc-analyzer
710%{_libexecdir}/c++-analyzer
711%{_datadir}/scan-view
712%{_datadir}/scan-build
713%{_mandir}/man1/scan-build.1.*
714
715%files -n python-clang
716%{python_sitelib}/clang/
717
718%files -n lldb
719%defattr(-,root,root,-)
720#doc %{llvmdocdir lldb}/
721%{_bindir}/lldb*
722%{_libdir}/liblldb*.so.*
723
724%files -n lldb-devel
725%defattr(-,root,root,-)
726%{_includedir}/lldb
727%{_libdir}/liblldb*.so
728
729%files -n python-lldb
730%{python_sitearch}/lldb
731
732%files -n lld
733%defattr(-,root,root,-)
734%{_bindir}/lld*
735%{_bindir}/ld.lld
736%{_bindir}/ld64.lld
737%{_bindir}/wasm-ld
738%exclude %{_bindir}/lldb*
739
740%if %{with lld_libs}
741%files -n lld-libs
742%{_libdir}/liblld*.so.*
743%exclude %{_libdir}/liblldb*.so.*
744
745%files -n lld-devel
746%{_includedir}/lld
747%{_libdir}/liblld*.so
748%exclude %{_libdir}/liblldb*.so
749%endif
750
751%files doc
752%defattr(-,root,root,-)
753%doc docs/*
754#doc %{llvmdocdir %{name}-doc}/
755
756%if %{with ocaml}
757%files ocaml
758%defattr(-,root,root,-)
759%{_libdir}/ocaml/*.cma
760%{_libdir}/ocaml/*.cmi
761%{_libdir}/ocaml/*.so
762%{_libdir}/ocaml/META.llvm*
763
764%files ocaml-devel
765%defattr(-,root,root,-)
766%{_libdir}/ocaml/*.a
767%{_libdir}/ocaml/*.cmx*
768%{_libdir}/ocaml/*.mli
769
770%files ocaml-doc
771%defattr(-,root,root,-)
772#doc %{llvmdocdir %{name}-ocaml-doc}/
773%endif
774
775%if 0%{?_with_doxygen}
776%files apidoc
777%defattr(-,root,root,-)
778%doc %{llvmdocdir %{name}-apidoc}/
779
780%files -n clang-apidoc
781%defattr(-,root,root,-)
782%doc %{llvmdocdir clang-apidoc}/
783%endif
784
785%if %{build_compat32}
786%files -n compat32-%{name}%{ver_suffix}-libs
787%defattr(-,root,root)
788%doc LICENSE.TXT
789#config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf
790%exclude %{_libdir}/libclang.so
791%exclude %{_libdir}/liblld*.so
792%exclude %{_libdir}/LLVMHello.so
793%{_libdir}/*.so
794%{_libdir}/libLTO.so.*
795%endif
796
797%changelog
798* Wed Dec 05 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 7.0.0-1
799- new upstream release.
800- dropped Patch0, 4, 5, 100 and 200.
801- imported Patch3, 7, 12, 15, 100, 101, 102 and 400 from rawhide.
802- renamed a subpackage "llvm-libs".
803- added a subpackage "lld".
804
805* Tue Jan 02 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 5.0.1-2
806- added subpackages "llvm-static", "python-lldb" and "python-clang".
807
808* Mon Jan 01 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 5.0.1-1
809- new upstream release.
810- dropped Patch1 and 2: fixed in upstream.
811- imported Patch0, 3-5, 100 and 200 from rawhide.
812- disabled Patch1002: no longer needed?
813
814* Fri Aug  5 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.8.1-1
815- new upstream release.
816- switched to cmake.
817- disable ocaml binding as default.
818- updated Patch1000 and 1002.
819- disabled Patch1000 as default.
820- cleanup patches.
821
822* Thu Jun 30 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.6.2-2
823- rebuild with gcc-5.4.0
824
825* Sat Sep  5 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.6.2-1
826- new upstream release
827- added BR: ocaml-ctypes
828
829* Thu Jun  4 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.6.1-1
830- new upstream release
831- dropt Patch 1, 201 and 1001
832- updated Patch 1000
833
834* Tue Mar 24 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.5.1-1
835- updated to 3.5.1
836- added Patch1, 2, 100, 101, 200, 201 and 202 from Fedora
837- added clang-libs, lldb, lldb-devel and compat32-llvm-libs subpackage
838- obsoleted clang-doc
839- built with ocaml 4.02.1
840
841* Sat Nov 29 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.5.0-2
842- fix <BTS:2832>
843  - fix configure option "--with-c-include-dirs"
844  - update Patch1000: clang-3.5.0-driver-ld.gold.patch
845  - update Patch1001: clang-3.5.0-driver-lib64.patch
846  - update Patch1002: clang-3.5.0-driver-vine.patch
847
848* Tue Oct 28 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.5.0-1
849- update to 3.5.0
850- remove Patch11 (clang-hardfloat-hack.patch)
851
852* Sun Jul 06 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3-2
853- rebuild with libffi-3.0.13
854
855* Mon Oct 28 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 3.3-1
856- update to 3.3
857
858* Mon Dec 03 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 3.1-2
859- ld.gold (patch1000,1001)
860- add /%{_lib} to ld search path
861- add support *-vine-linux gcc (patch1002)
862
863* Fri Nov 30 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 3.1-1
864- update to 3.1
865
866* Tue Jan 24 2012 NAKAMURA Kenta <kenta@vinelinux.org> - 3.0-1
867- updated to 3.0 release
868
869* Sun Jan 15 2012 NAKAMURA Kenta <kenta@vinelinux.org> - 2.9-3
870- added patch 2-4 to support -O4 link-time optimization
871
872* Fri Sep  9 2011 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 2.9-2
873- disable -fno-var-tracking-assignments on ppc
874  (seems like gcc-4.4.5 still doesn't support this)
875
876* Thu Aug 25 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 2.9-1
877- new upstream release
878- add BR: libffi-devel
879- add R: libffi-devel to -devel
880
881* Sun May 23 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 2.7-1
882- initial build for Vine Linux
883
884* Sun May  2 2010 Michel Salim <salimma@fedoraproject.org> - 2.7-1
885- Update to final 2.7 release
886
887* Sun Mar 28 2010 Michel Salim <salimma@fedoraproject.org> - 2.7-0.1.pre1
888- Update to first 2.7 pre-release
889
890* Fri Sep 18 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.6.pre2
891- Update to 2.6 pre-release2
892- -devel subpackage now virtually provides -static
893
894* Wed Sep  9 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.5.pre1
895- Disable var tracking assignments on PPC
896
897* Wed Sep  9 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.4.pre1
898- Don't adjust clang include dir; files there are noarch (bz#521893)
899- Enable clang unit tests
900- clang and clang-analyzer renamed; no longer depend on llvm at runtime
901
902* Mon Sep  7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.3.pre1
903- Package Clang's static analyzer tools
904
905* Mon Sep  7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.2.pre1
906- PIC is now enabled by default; explicitly disable on %%{ix86}
907
908* Mon Sep  7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.1.pre1
909- First 2.6 prerelease
910- Enable Clang front-end
911- Enable debuginfo generation
912
913* Sat Sep  5 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-6
914- Disable assertions (needed by OpenGTL, bz#521261)
915- Align spec file with upstream build instructions
916- Enable unit tests
917
918* Sat Aug 22 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-5
919- Only disable PIC on %%ix86; ppc actually needs it
920
921* Sat Aug 22 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-4
922- Disable use of position-independent code on 32-bit platforms
923  (buggy in LLVM <= 2.5)
924
925* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5-3
926- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
927
928* Wed Mar  4 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-2
929- Remove build scripts; they require the build directory to work
930
931* Wed Mar  4 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-1
932- Update to 2.5
933- Package build scripts (bug #457881)
934
935* Tue Dec  2 2008 Michel Salim <salimma@fedoraproject.org> - 2.4-2
936- Patched build process for the OCaml binding
937
938* Tue Dec  2 2008 Michel Salim <salimma@fedoraproject.org> - 2.4-1
939- Update to 2.4
940- Package Ocaml binding
941
942* Wed Jun 18 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.3-2
943- Add dependency on groff
944
945* Wed Jun 18 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.3-1
946- LLVM 2.3
947
948* Thu May 29 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.2-4
949- fix license tags
950
951* Wed Mar  5 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.2-3
952- Fix compilation problems with gcc 4.3
953
954* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.2-2
955- Autorebuild for GCC 4.3
956
957* Sun Jan 20 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.1-2
958- Fix review comments
959
960* Sun Jan 20 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.1-1
961- Initial version
Note: See TracBrowser for help on using the repository browser.