From d5703ec84454fa5966446c42c614f4233a64657c Mon Sep 17 00:00:00 2001 From: Chenxi Mao Date: Wed, 8 Feb 2023 22:28:30 +0800 Subject: [PATCH] Add llvm-googletest/test packages Clang/lld unit test requires some test binaries and static library, create llvm-test and llvm-googletest packages in llvm source code. Signed-off-by: Chenxi Mao --- llvm.spec | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/llvm.spec b/llvm.spec index e4a7516..6304ad8 100644 --- a/llvm.spec +++ b/llvm.spec @@ -10,10 +10,12 @@ %global install_bindir %{install_prefix}/bin %global install_includedir %{install_prefix}/include %global install_libdir %{install_prefix}/lib +%global install_srcdir %{install_prefix}/src %global pkg_bindir %{install_bindir} %global pkg_includedir %{_includedir}/%{name} %global pkg_libdir %{install_libdir} +%global pkg_srcdir %{install_srcdir} %global max_link_jobs %{_smp_build_ncpus} %global targets_to_build "all" @@ -24,7 +26,7 @@ Name: %{pkg_name} Version: %{maj_ver}.%{min_ver}.%{patch_ver} -Release: 2 +Release: 3 Summary: The Low Level Virtual Machine License: NCSA @@ -97,6 +99,22 @@ Provides: llvm-static(major) = %{maj_ver} %description static Static libraries for the LLVM compiler infrastructure. +%package test +Summary: LLVM regression tests +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +Provides: llvm-test(major) = %{maj_ver} + +%description test +LLVM regression tests. + +%package googletest +Summary: LLVM's modified googletest sources + +%description googletest +LLVM's modified googletest sources. + %prep %setup -T -q -b 1 -n cmake-%{version}.src cd .. @@ -158,6 +176,23 @@ cd _build mkdir -p %{buildroot}/%{_bindir} +# Install binaries needed for lit tests +for f in llvm-isel-fuzzer llvm-opt-fuzzer +do + install -m 0755 %{_builddir}/llvm-%{version}.src/_build/bin/$f %{buildroot}%{install_bindir} +done + +install %{_builddir}/llvm-%{version}.src/_build/lib/libLLVMTestingSupport.a %{buildroot}%{install_libdir} + +# Install gtest sources so clang can use them for gtest +install -d %{buildroot}%{install_srcdir} +install -d %{buildroot}%{install_srcdir}/utils/ +cp -R %{_builddir}/llvm-%{version}.src/utils/unittest %{buildroot}%{install_srcdir}/utils/ + +# Clang needs these for running lit tests. +cp %{_builddir}/llvm-%{version}.src/utils/update_cc_test_checks.py %{buildroot}%{install_srcdir}/utils/ +cp -R %{_builddir}/llvm-%{version}.src/utils/UpdateTestChecks %{buildroot}%{install_srcdir}/utils/ + # Add version suffix to binaries for f in %{buildroot}/%{install_bindir}/*; do filename=`basename $f` @@ -217,6 +252,18 @@ fi %exclude %{_bindir}/llvm-config%{bin_suffix} %exclude %{pkg_bindir}/llvm-config%{bin_suffix}-%{__isa_bits} %{pkg_bindir} +%exclude %{_bindir}/not%{bin_suffix} +%exclude %{_bindir}/count%{bin_suffix} +%exclude %{_bindir}/yaml-bench%{bin_suffix} +%exclude %{_bindir}/lli-child-target%{bin_suffix} +%exclude %{_bindir}/llvm-isel-fuzzer%{bin_suffix} +%exclude %{_bindir}/llvm-opt-fuzzer%{bin_suffix} +%exclude %{pkg_bindir}/not +%exclude %{pkg_bindir}/count +%exclude %{pkg_bindir}/yaml-bench +%exclude %{pkg_bindir}/lli-child-target +%exclude %{pkg_bindir}/llvm-isel-fuzzer +%exclude %{pkg_bindir}/llvm-opt-fuzzer %files libs %license LICENSE.TXT @@ -248,8 +295,32 @@ fi %files static %license LICENSE.TXT %{_libdir}/%{name}/lib/*.a +%exclude %{_libdir}/%{name}/lib/libLLVMTestingSupport.a + +%files test +%license LICENSE.TXT +%{_bindir}/not%{bin_suffix} +%{_bindir}/count%{bin_suffix} +%{_bindir}/yaml-bench%{bin_suffix} +%{_bindir}/lli-child-target%{bin_suffix} +%{_bindir}/llvm-isel-fuzzer%{bin_suffix} +%{_bindir}/llvm-opt-fuzzer%{bin_suffix} +%{pkg_bindir}/not +%{pkg_bindir}/count +%{pkg_bindir}/yaml-bench +%{pkg_bindir}/lli-child-target +%{pkg_bindir}/llvm-isel-fuzzer +%{pkg_bindir}/llvm-opt-fuzzer + +%files googletest +%license LICENSE.TXT +%{pkg_srcdir}/utils +%{_libdir}/%{name}/lib/libLLVMTestingSupport.a %changelog +* Wed Feb 8 2023 Chenxi Mao - 15.0.6-3 +- Create llvm-test/googletest to support clang/lld unit test. + * Fri Feb 3 2023 Chenxi Mao - 15.0.6-2 - Enable llvm utils tools. -- Gitee