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

Revision 11985, 28.1 KB checked in by tomop, 5 years ago (diff)

updated 3 packages, add 2 packages

vine-themes-7.0.11-1
llvm-7.0.1-1
unixODBC-2.3.7-1
new: autoconf-archive-2018.03.13-3
new: mozjs52-52.9.0-2

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