Port llvm changes

From: d5ddbea65f
This commit is contained in:
Nikita Popov 2024-07-31 11:27:03 +00:00
parent 60f6647ec6
commit c0169e2abf
3 changed files with 12 additions and 36 deletions

View file

@ -153,24 +153,16 @@ popd
-DLLVM_BUILD_TOOLS:BOOL=ON \ -DLLVM_BUILD_TOOLS:BOOL=ON \
\ \
-DLLVM_BUILD_TESTS:BOOL=ON \ -DLLVM_BUILD_TESTS:BOOL=ON \
%if %{with compat_build}
-DLLVM_INSTALL_GTEST:BOOL=OFF \
%else
-DLLVM_INSTALL_GTEST:BOOL=ON \ -DLLVM_INSTALL_GTEST:BOOL=ON \
%endif
-DLLVM_LIT_ARGS="-vv" \ -DLLVM_LIT_ARGS="-vv" \
\ \
-DLLVM_INCLUDE_EXAMPLES:BOOL=ON \ -DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \ -DLLVM_BUILD_EXAMPLES:BOOL=OFF \
\ \
-DLLVM_INCLUDE_UTILS:BOOL=ON \ -DLLVM_INCLUDE_UTILS:BOOL=ON \
%if %{with compat_build}
-DLLVM_INSTALL_UTILS:BOOL=OFF \
%else
-DLLVM_INSTALL_UTILS:BOOL=ON \ -DLLVM_INSTALL_UTILS:BOOL=ON \
-DLLVM_UTILS_INSTALL_DIR:PATH=%{_bindir} \ -DLLVM_UTILS_INSTALL_DIR:PATH=bin \
-DLLVM_TOOLS_INSTALL_DIR:PATH=bin \ -DLLVM_TOOLS_INSTALL_DIR:PATH=bin \
%endif
\ \
-DLLVM_INCLUDE_DOCS:BOOL=ON \ -DLLVM_INCLUDE_DOCS:BOOL=ON \
-DLLVM_BUILD_DOCS:BOOL=ON \ -DLLVM_BUILD_DOCS:BOOL=ON \

View file

@ -17,26 +17,27 @@ popd
mkdir -p %{buildroot}/%{_bindir} mkdir -p %{buildroot}/%{_bindir}
%if %{without compat_build}
# Fix some man pages
ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config%{exec_suffix}-%{__isa_bits}.1
# Install binaries needed for lit tests # Install binaries needed for lit tests
%global test_binaries llvm-isel-fuzzer llvm-opt-fuzzer %global test_binaries llvm-isel-fuzzer llvm-opt-fuzzer
for f in %{test_binaries} for f in %{test_binaries}
do do
install -m 0755 llvm/%{_vpath_builddir}/bin/$f %{buildroot}%{_bindir} install -m 0755 llvm/%{_vpath_builddir}/bin/$f %{buildroot}%{install_bindir}
done done
%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
# Install libraries needed for unittests # Install libraries needed for unittests
%global build_libdir llvm/%{_vpath_builddir}/%{_lib} %global build_libdir llvm/%{_vpath_builddir}/%{_lib}
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir} install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{install_libdir}
install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{_libdir} install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{install_libdir}
# Fix multi-lib
%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
%if %{without compat_build}
# Fix some man pages
ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config%{exec_suffix}-%{__isa_bits}.1
%if %{with gold} %if %{with gold}
# Add symlink to lto plugin in the binutils plugin directory. # Add symlink to lto plugin in the binutils plugin directory.
@ -52,14 +53,6 @@ for f in %{buildroot}/%{install_bindir}/*; do
ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix} ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
done done
# Move header files
mkdir -p %{buildroot}/%{pkg_includedir}
ln -s ../../../%{install_includedir}/llvm %{buildroot}/%{pkg_includedir}/llvm
ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-c
# Fix multi-lib
%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
# Create ld.so.conf.d entry # Create ld.so.conf.d entry
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{pkg_name_llvm}-%{_arch}.conf << EOF cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{pkg_name_llvm}-%{_arch}.conf << EOF
@ -73,9 +66,6 @@ for f in %{build_install_prefix}/share/man/man1/*; do
mv $f %{buildroot}%{_mandir}/man1/$filename%{exec_suffix}.1 mv $f %{buildroot}%{_mandir}/man1/$filename%{exec_suffix}.1
done done
# Remove opt-viewer, since this is just a compatibility package.
rm -Rf %{build_install_prefix}/share/opt-viewer
%endif %endif
# llvm-config special casing. llvm-config is managed by update-alternatives. # llvm-config special casing. llvm-config is managed by update-alternatives.

View file

@ -28,10 +28,8 @@ Requires: libedit-devel
# but this caused bugs (rhbz#1773678) and forced us to carry two non-upstream # but this caused bugs (rhbz#1773678) and forced us to carry two non-upstream
# patches. # patches.
Requires: %{pkg_name_llvm}-static%{?_isa} = %{version}-%{release} Requires: %{pkg_name_llvm}-static%{?_isa} = %{version}-%{release}
%if %{without compat_build}
Requires: %{pkg_name_llvm}-test%{?_isa} = %{version}-%{release} Requires: %{pkg_name_llvm}-test%{?_isa} = %{version}-%{release}
Requires: %{pkg_name_llvm}-googletest%{?_isa} = %{version}-%{release} Requires: %{pkg_name_llvm}-googletest%{?_isa} = %{version}-%{release}
%endif
Requires(post): %{_sbindir}/alternatives Requires(post): %{_sbindir}/alternatives
@ -73,8 +71,6 @@ Summary: CMake utilities shared across LLVM subprojects
CMake utilities shared across LLVM subprojects. CMake utilities shared across LLVM subprojects.
This is for internal use by LLVM packages only. This is for internal use by LLVM packages only.
%if %{without compat_build}
%package -n %{pkg_name_llvm}-test %package -n %{pkg_name_llvm}-test
Summary: LLVM regression tests Summary: LLVM regression tests
Requires: %{pkg_name_llvm}%{?_isa} = %{version}-%{release} Requires: %{pkg_name_llvm}%{?_isa} = %{version}-%{release}
@ -91,8 +87,6 @@ Summary: LLVM's modified googletest sources
%description -n %{pkg_name_llvm}-googletest %description -n %{pkg_name_llvm}-googletest
LLVM's modified googletest sources. LLVM's modified googletest sources.
%endif
%if %{with snapshot_build} %if %{with snapshot_build}
%package -n %{pkg_name_llvm}-build-stats %package -n %{pkg_name_llvm}-build-stats
Summary: Statistics for the RPM build Summary: Statistics for the RPM build