diff --git a/lld-12.0.1.src.tar.xz b/lld-12.0.1.src.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..37a92f985cc7ef0702c1eb21196112a97896fe5d Binary files /dev/null and b/lld-12.0.1.src.tar.xz differ diff --git a/lld.spec b/lld.spec new file mode 100644 index 0000000000000000000000000000000000000000..f5cce211e28bbe204696c50fe8a1314d8e846680 --- /dev/null +++ b/lld.spec @@ -0,0 +1,110 @@ +%bcond_without check + +%global maj_ver 12 +%global min_ver 0 +%global patch_ver 1 + +%global pkg_name lld%{maj_ver} +%global bin_suffix -%{maj_ver} +%global install_prefix %{_libdir}/llvm%{maj_ver} +%global install_includedir %{install_prefix}/include +%global install_libdir %{install_prefix}/lib64 +%global install_bindir %{install_prefix}/bin +%global pkg_bindir %{install_bindir} + +# Don't include unittests in automatic generation of provides or requires. +%global __provides_exclude_from ^%{_libdir}/lld/.*$ +%global __requires_exclude ^libgtest.*$ + +Name: %{pkg_name} +Version: %{maj_ver}.%{min_ver}.%{patch_ver} +Release: 1 +Summary: The LLVM Linker + +License: NCSA +URL: http://llvm.org +Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/lld-%{version}.src.tar.xz + +BuildRequires: clang +BuildRequires: cmake +BuildRequires: ncurses-devel +BuildRequires: ninja-build +BuildRequires: python3-rpm-macros +BuildRequires: zlib-devel + +Requires(post): %{_sbindir}/update-alternatives +Requires(preun): %{_sbindir}/update-alternatives + +Requires: %{name}-libs = %{version}-%{release} + +%description +The LLVM project linker. + +%package devel +Summary: Libraries and header files for LLD +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description devel +This package contains library and header files needed to develop new native +programs that use the LLD infrastructure. + +%package libs +Summary: LLD shared libraries + +%description libs +Shared libraries for LLD. + +%prep +%autosetup -n lld-%{version}.src -p2 + +%build +mkdir -p _build +cd _build +%cmake .. -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ + -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ + -DLLVM_DYLIB_COMPONENTS="all" \ + -DCMAKE_SKIP_RPATH:BOOL=ON \ + -DPYTHON_EXECUTABLE=%{__python3} \ + -DLLVM_INCLUDE_TESTS=ON \ + -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ + -DLLVM_LIT_ARGS="-sv \ + --path %{_libdir}/llvm%{maj_ver}" \ + -DLLVM_MAIN_SRC_DIR=%{_libdir}/llvm%{maj_ver}/src + +%ninja_build + +%install +%ninja_install -C _build + +rm %{buildroot}%{install_includedir}/mach-o/compact_unwind_encoding.h + +# Add version suffix to binaries +mkdir -p %{buildroot}/%{_bindir} +for f in %{buildroot}/%{install_bindir}/*; do + filename=`basename $f` + ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{bin_suffix} +done + +%files +%license LICENSE.TXT +%{_bindir}/lld%{bin_suffix} +%{_bindir}/lld-link%{bin_suffix} +%{_bindir}/ld.lld%{bin_suffix} +%{_bindir}/ld64.lld%{bin_suffix} +%{_bindir}/ld64.lld.darwinnew%{bin_suffix} +%{_bindir}/wasm-ld%{bin_suffix} +%{pkg_bindir} + +%files devel +%{install_includedir}/lld +%{install_libdir}/liblld*.so +%{install_libdir}/cmake/lld/ + +%files libs +%{install_libdir}/liblld*.so.* + +%changelog +* Mon Feb 20 2023 Chenxi Mao - 15.0.7-1 +- Upgrade to 15.0.7.