Compare commits

..

No commits in common. "c8-beta-stream-rhel8" and "c8-stream-rhel8" have entirely different histories.

3 changed files with 61 additions and 32 deletions

4
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/lld-17.0.6.src.tar.xz SOURCES/lld-18.1.8.src.tar.xz
SOURCES/lld-17.0.6.src.tar.xz.sig SOURCES/lld-18.1.8.src.tar.xz.sig

View File

@ -1,2 +1,2 @@
abe5d45ebea2b9994a5e6ed31268a2114f4fa14f SOURCES/lld-17.0.6.src.tar.xz 1cf1fa9848b05a07d3d52e69949d44003f2ab2af SOURCES/lld-18.1.8.src.tar.xz
849136b25fe7afb56131cdb31ffb08593b6ed997 SOURCES/lld-17.0.6.src.tar.xz.sig b73ca3f2724b4b930cb7e2c06ea16fb17ce19e30 SOURCES/lld-18.1.8.src.tar.xz.sig

View File

@ -13,9 +13,9 @@
%bcond_without check %bcond_without check
%bcond_with compat_build %bcond_with compat_build
%global maj_ver 17 %global maj_ver 18
%global min_ver 0 %global min_ver 1
%global patch_ver 6 %global patch_ver 8
#global rc_ver 4 #global rc_ver 4
%if %{with snapshot_build} %if %{with snapshot_build}
@ -35,12 +35,14 @@
%global install_includedir %{install_prefix}/include %global install_includedir %{install_prefix}/include
%global install_libdir %{install_prefix}/lib %global install_libdir %{install_prefix}/lib
%global install_datadir %{install_prefix}/share %global install_datadir %{install_prefix}/share
%global install_bindir %{install_prefix}/bin
%else %else
%global pkg_name lld %global pkg_name lld
%global install_prefix /usr %global install_prefix /usr
%global install_includedir %{_includedir} %global install_includedir %{_includedir}
%global install_libdir %{_libdir} %global install_libdir %{_libdir}
%global install_datadir %{_datadir} %global install_datadir %{_datadir}
%global install_bindir %{_bindir}
%endif %endif
%bcond_with ld_alternative %bcond_with ld_alternative
@ -61,8 +63,6 @@ Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ve
Source2: release-keys.asc Source2: release-keys.asc
%endif %endif
ExcludeArch: s390x
# Bundle libunwind header need during build for MachO support # Bundle libunwind header need during build for MachO support
Patch1: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch Patch1: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch
@ -109,6 +109,7 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
# dependency. # dependency.
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
%endif %endif
Provides: %{name}-devel(major) = %{maj_ver}
%description devel %description devel
This package contains library and header files needed to develop new native This package contains library and header files needed to develop new native
@ -127,15 +128,6 @@ Shared libraries for LLD.
%autosetup -n %{lld_srcdir} -p2 %autosetup -n %{lld_srcdir} -p2
%if %{with compat_build}
# For compat builds, we don't want to build the actual lld binary. While there is an
# LLD_BUILD_TOOLS cmake option, it is incomplete in various ways (e.g. still leaves install
# targets and symlinks), so instead skip the tools/lld build entirely.
# We can't simply delete the binaries after the fact, because this would leave checks for
# their existence in the cmake exports.
sed 's/add_subdirectory(tools\/lld)//' -i CMakeLists.txt
%endif
%build %build
%undefine __cmake_in_source_build %undefine __cmake_in_source_build
@ -149,17 +141,16 @@ sed 's/add_subdirectory(tools\/lld)//' -i CMakeLists.txt
-DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \ -DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \
-DCMAKE_SKIP_RPATH:BOOL=ON \ -DCMAKE_SKIP_RPATH:BOOL=ON \
-DPYTHON_EXECUTABLE=%{__python3} \ -DPYTHON_EXECUTABLE=%{__python3} \
%if %{with compat_build} %if %{with snapshot_build}
-DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \ -DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \
-DLLVM_INCLUDE_TESTS=OFF \ %endif
%else
-DLLVM_INCLUDE_TESTS=ON \ -DLLVM_INCLUDE_TESTS=ON \
-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
-DLLVM_LIT_ARGS="-sv \ -DLLVM_LIT_ARGS="-sv \
--path %{_libdir}/llvm" \ --path %{_libdir}/llvm" \
%if %{with snapshot_build} %if %{with compat_build}
-DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \ -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \
%endif %else
%if 0%{?__isa_bits} == 64 %if 0%{?__isa_bits} == 64
-DLLVM_LIBDIR_SUFFIX=64 \ -DLLVM_LIBDIR_SUFFIX=64 \
%else %else
@ -178,13 +169,22 @@ sed 's/add_subdirectory(tools\/lld)//' -i CMakeLists.txt
# This is generated by Patch1 during build and (probably) must be removed afterward # This is generated by Patch1 during build and (probably) must be removed afterward
rm %{buildroot}%{install_includedir}/mach-o/compact_unwind_encoding.h rm %{buildroot}%{install_includedir}/mach-o/compact_unwind_encoding.h
%if %{with compat_build}
# 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-%{maj_ver}
done
%else
install -D -m 644 -t %{buildroot}%{_mandir}/man1/ docs/ld.lld.1 install -D -m 644 -t %{buildroot}%{_mandir}/man1/ docs/ld.lld.1
%endif
%if %{with ld_alternative} %if %{with ld_alternative}
# Required when using update-alternatives: # Required when using update-alternatives:
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/
touch %{buildroot}%{_bindir}/ld touch %{buildroot}%{_bindir}/ld
%post %post
%{_sbindir}/update-alternatives --install %{_bindir}/ld ld %{_bindir}/ld.lld 1 %{_sbindir}/update-alternatives --install %{_bindir}/ld ld %{_bindir}/ld.lld 1
@ -196,25 +196,28 @@ fi
%check %check
%if %{without compat_build}
%if %{with check} %if %{with check}
export LD_LIBRARY_PATH=%{buildroot}/%{install_libdir}
%cmake_build --target check-lld %cmake_build --target check-lld
%endif %endif
%if %{without compat_build}
%ldconfig_scriptlets libs %ldconfig_scriptlets libs
%endif %endif
%if %{without compat_build}
%files %files
%license LICENSE.TXT %license LICENSE.TXT
%if %{with ld_alternative} %if %{with ld_alternative}
%ghost %{_bindir}/ld %ghost %{_bindir}/ld
%endif %endif
%{_bindir}/lld* %{install_bindir}/lld*
%{_bindir}/ld.lld %{install_bindir}/ld.lld
%{_bindir}/ld64.lld %{install_bindir}/ld64.lld
%{_bindir}/wasm-ld %{install_bindir}/wasm-ld
%if %{without compat_build}
%{_mandir}/man1/ld.lld.1* %{_mandir}/man1/ld.lld.1*
%else
%{_bindir}/*-%{maj_ver}
%endif %endif
%files devel %files devel
@ -226,6 +229,32 @@ fi
%{install_libdir}/liblld*.so.* %{install_libdir}/liblld*.so.*
%changelog %changelog
* Tue Jul 09 2024 Tom Stellard <tstellar@redhat.com> - 18.1.8-1
- 18.1.8 Release
* Thu Mar 21 2024 Tom Stellard <tstellar@redhat.com> - 18.1.2-1
- 18.1.2 Release
* Tue Mar 12 2024 Tom Stellard <tstellar@redhat.com> - 18.1.1-1
- 18.1.1 Release
* Sat Mar 02 2024 Tom Stellard <tstellar@redhat.com> - 18.1.0~rc4-2
- Enable s390x arch
* Wed Feb 28 2024 Tom Stellard <tstellar@redhat.com> - 18.1.0~rc4-1
- 18.1.0-rc4 Release
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 17.0.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 17.0.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
%{?llvm_snapshot_changelog_entry}
* Mon Dec 18 2023 Jeremy Newton <alexjnewt at hotmail dot com> - 17.0.6-2
- Add lld-devel(major) provides
* Wed Nov 29 2023 Nikita Popov <npopov@redhat.com> - 17.0.6-1 * Wed Nov 29 2023 Nikita Popov <npopov@redhat.com> - 17.0.6-1
- Update to LLVM 17.0.6 - Update to LLVM 17.0.6