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-12.0.1.src.tar.xz.sig b/lld-12.0.1.src.tar.xz.sig new file mode 100644 index 0000000000000000000000000000000000000000..204df67467eed62345f781ae59b544e83fedd5b0 Binary files /dev/null and b/lld-12.0.1.src.tar.xz.sig differ diff --git a/lld-15.0.7.src.tar.xz b/lld-15.0.7.src.tar.xz deleted file mode 100644 index 2ef69eee9206f87446435a8de82ad9820cceeb5f..0000000000000000000000000000000000000000 Binary files a/lld-15.0.7.src.tar.xz and /dev/null differ diff --git a/lld.spec b/lld.spec index 9e311779a4f160e8b2d5866616bf1a5af8377b90..24752ad5013463e65b20af5c473d809ed56b47cb 100644 --- a/lld.spec +++ b/lld.spec @@ -1,21 +1,35 @@ -%bcond_without check +%bcond_with sys_llvm +%bcond_with check -%global maj_ver 15 +%global maj_ver 12 %global min_ver 0 -%global patch_ver 7 +%global patch_ver 1 +%if %{with sys_llvm} +%global pkg_name lld +%global bin_suffix %{nil} +%global install_prefix %{_prefix} +%else %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}/lib +%endif + %global install_bindir %{install_prefix}/bin -%global pkg_bindir %{install_bindir} +%if 0%{?__isa_bits} == 64 +%global install_libdir %{install_prefix}/lib64 +%else +%global install_libdir %{install_prefix}/lib +%endif +%global install_includedir %{install_prefix}/include # Don't include unittests in automatic generation of provides or requires. %global __provides_exclude_from ^%{_libdir}/lld/.*$ %global __requires_exclude ^libgtest.*$ +# Disable LTO as this causes crash if gcc lto enabled. +%define _lto_cflags %{nil} + Name: %{pkg_name} Version: %{maj_ver}.%{min_ver}.%{patch_ver} Release: 1 @@ -29,9 +43,15 @@ Patch1: fedora-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch BuildRequires: clang BuildRequires: cmake +%if %{with sys_llvm} +BuildRequires: llvm-devel = %{version} +BuildRequires: llvm-googletest = %{version} +BuildRequires: llvm-test = %{version} +%else BuildRequires: llvm%{maj_ver}-devel = %{version} BuildRequires: llvm%{maj_ver}-googletest = %{version} BuildRequires: llvm%{maj_ver}-test = %{version} +%endif BuildRequires: ncurses-devel BuildRequires: ninja-build BuildRequires: python3-rpm-macros @@ -76,8 +96,8 @@ cd _build -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 + --path %{install_prefix}" \ + -DLLVM_MAIN_SRC_DIR=%{install_prefix}/src %ninja_build @@ -86,12 +106,6 @@ cd _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 %check %if %{with check} @@ -101,12 +115,7 @@ cd _build %files %license LICENSE.TXT -%{_bindir}/lld%{bin_suffix} -%{_bindir}/lld-link%{bin_suffix} -%{_bindir}/ld.lld%{bin_suffix} -%{_bindir}/ld64.lld%{bin_suffix} -%{_bindir}/wasm-ld%{bin_suffix} -%{pkg_bindir} +%{install_bindir}/* %files devel %{install_includedir}/lld @@ -117,11 +126,5 @@ cd _build %{install_libdir}/liblld*.so.* %changelog -* Mon Feb 20 2023 Chenxi Mao - 15.0.7-1 -- Upgrade to 15.0.7. - -* Thu Feb 9 2023 Chenxi Mao - 15.0.6-2 -- Enable lld unit test. - -* Mon Jan 2 2023 Chenxi Mao - 15.0.6-1 +* Thu May 25 2023 cf-zhao - 12.0.1-1 - Package init