]>
Commit | Line | Data |
---|---|---|
b5cd69c6 JP |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without tests # build without tests | |
4 | ||
a2080a44 JP |
5 | Summary: mold: A Modern Linker |
6 | Name: mold | |
2c5d0057 | 7 | Version: 2.3.0 |
5ef7b19b | 8 | Release: 1 |
ec191517 | 9 | License: MIT |
a2080a44 JP |
10 | Group: Development/Libraries |
11 | Source0: https://github.com/rui314/mold/archive/v%{version}/%{name}-%{version}.tar.gz | |
2c5d0057 | 12 | # Source0-md5: f28d1ce2903c10b5fa38e450b306733d |
a2080a44 | 13 | URL: https://github.com/rui314/mold |
609ab982 JP |
14 | BuildRequires: blake3-devel |
15 | BuildRequires: cmake >= 3.14 | |
b5cd69c6 | 16 | %{?with_tests:BuildRequires: glibc-static} |
4f192f39 JP |
17 | %ifarch %{armv6} riscv64 |
18 | BuildRequires: libatomic-devel | |
19 | %endif | |
a2080a44 | 20 | BuildRequires: libstdc++-devel >= 6:10 |
b5cd69c6 | 21 | %{?with_tests:BuildRequires: libstdc++-static >= 6:10} |
a2080a44 | 22 | BuildRequires: mimalloc-devel >= 1.7 |
4f192f39 | 23 | BuildRequires: rpmbuild(macros) >= 2.007 |
a2080a44 | 24 | BuildRequires: tbb-devel >= 2021.3.0 |
a2080a44 | 25 | BuildRequires: zlib-devel |
ffeb613b | 26 | BuildRequires: zstd-devel |
a2080a44 JP |
27 | Requires: mimalloc >= 1.7 |
28 | Requires: tbb >= 2021.3.0 | |
7aad5a46 | 29 | ExclusiveArch: %{ix86} %{x8664} %{arm} aarch64 m68k ppc64 ppc64le riscv32 riscv64 s390x sparc64 |
a2080a44 JP |
30 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
31 | ||
32 | %description | |
33 | mold is a faster drop-in replacement for existing Unix linkers. It is | |
34 | several times faster than LLVM lld linker, the second-fastest | |
35 | open-source linker which I originally created a few years ago. mold is | |
36 | created for increasing developer productivity by reducing build time | |
37 | especially in rapid debug-edit-rebuild cycles. | |
38 | ||
39 | %prep | |
40 | %setup -q | |
41 | ||
42 | %{__rm} -r third-party/{mimalloc,tbb} | |
43 | ||
44 | %build | |
ffeb613b JP |
45 | %cmake -B build \ |
46 | %{cmake_on_off tests BUILD_TESTING} \ | |
47 | -DMOLD_USE_MIMALLOC:BOOL=ON \ | |
48 | -DMOLD_USE_SYSTEM_MIMALLOC:BOOL=ON \ | |
49 | -DMOLD_USE_SYSTEM_TBB:BOOL=ON | |
50 | ||
51 | %{__make} -C build | |
a2080a44 | 52 | |
b5cd69c6 | 53 | %if %{with tests} |
ffeb613b | 54 | %{__make} -C build test |
b5cd69c6 JP |
55 | %endif |
56 | ||
a2080a44 JP |
57 | %install |
58 | rm -rf $RPM_BUILD_ROOT | |
59 | ||
ffeb613b JP |
60 | %{__make} -C build install \ |
61 | DESTDIR=$RPM_BUILD_ROOT | |
a2080a44 JP |
62 | |
63 | %clean | |
64 | rm -rf $RPM_BUILD_ROOT | |
65 | ||
66 | %files | |
67 | %defattr(644,root,root,755) | |
ec191517 | 68 | %doc LICENSE README.md docs/*.md |
a2080a44 | 69 | %attr(755,root,root) %{_bindir}/ld.mold |
a2080a44 JP |
70 | %attr(755,root,root) %{_bindir}/mold |
71 | %dir %{_libdir}/mold | |
72 | %attr(755,root,root) %{_libdir}/mold/mold-wrapper.so | |
5178e76b JP |
73 | %dir %{_libexecdir}/mold |
74 | %attr(755,root,root) %{_libexecdir}/mold/ld | |
a2080a44 | 75 | %{_mandir}/man1/mold.1* |
a32f40a2 | 76 | %{_mandir}/man1/ld.mold.1* |