From 4071daf52300624a60a6431fe7717ea68e79da83 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Tue, 14 Feb 2023 15:07:03 -0300 Subject: [PATCH] Update to LLVM 16.0.0 RC1 --- ...Check-for-gtest-headers-even-if-lit..patch | 25 +++++++++---------- lld.spec | 24 +++++++++++++----- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/0001-PATCH-lld-CMake-Check-for-gtest-headers-even-if-lit..patch b/0001-PATCH-lld-CMake-Check-for-gtest-headers-even-if-lit..patch index ac8ed67..48d358f 100644 --- a/0001-PATCH-lld-CMake-Check-for-gtest-headers-even-if-lit..patch +++ b/0001-PATCH-lld-CMake-Check-for-gtest-headers-even-if-lit..patch @@ -1,8 +1,7 @@ -From 760568cd24acd6ae9083b0dfea2c7c0ea6f0adc2 Mon Sep 17 00:00:00 2001 +From 515de0163e1e9653023418c5d5d832d45f98025b Mon Sep 17 00:00:00 2001 From: Tom Stellard -Date: Thu, 30 Aug 2018 08:53:56 -0700 -Subject: [PATCH 1/2] [PATCH][lld] CMake: Check for gtest headers even if - lit.py is not present +Date: Tue, 14 Feb 2023 12:10:42 -0300 +Subject: [PATCH] CMake: Check for gtest headers even if lit.py is not present This makes it possible to build the unittests even withotu a full checkout of the llvm source tree. @@ -11,38 +10,38 @@ checkout of the llvm source tree. 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt -index d4e561b..a7406d1c 100644 +index 3d6225646fe6..f86ac98957c4 100644 --- a/lld/CMakeLists.txt +++ b/lld/CMakeLists.txt -@@ -68,6 +68,15 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) +@@ -66,6 +66,15 @@ if(LLD_BUILT_STANDALONE) set(LLVM_UTILS_PROVIDED ON) endif() -+ # Check for gtest -+ set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest) ++ # Check for gtest ++ set(UNITTEST_DIR ${LLVM_THIRD_PARTY_DIR}/utils/unittest) + if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h + AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX} + AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt) + add_subdirectory(${UNITTEST_DIR} utils/unittest) + endif() + -+ # Check for lit ++ # Check for lit if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py) # Note: path not really used, except for checking if lit was found set(LLVM_LIT ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py) -@@ -77,12 +86,6 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) +@@ -75,12 +84,6 @@ if(LLD_BUILT_STANDALONE) set(LLVM_UTILS_PROVIDED ON) set(LLD_TEST_DEPS FileCheck not) endif() -- set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest) +- set(UNITTEST_DIR ${LLVM_THIRD_PARTY_DIR}/unittest) - if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h - AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX} - AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt) -- add_subdirectory(${UNITTEST_DIR} utils/unittest) +- add_subdirectory(${UNITTEST_DIR} third-party/unittest) - endif() else() # Seek installed Lit. find_program(LLVM_LIT -- -1.8.3.1 +2.39.1 diff --git a/lld.spec b/lld.spec index b5ee783..df557d2 100644 --- a/lld.spec +++ b/lld.spec @@ -7,11 +7,12 @@ %bcond_without check %bcond_with compat_build -#global rc_ver 3 +%global rc_ver 1 %global lld_srcdir lld-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src -%global maj_ver 15 +%global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src +%global maj_ver 16 %global min_ver 0 -%global patch_ver 7 +%global patch_ver 0 %if %{with compat_build} %global pkg_name lld%{maj_ver} @@ -27,14 +28,16 @@ Name: %{pkg_name} Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}} -Release: 3%{?dist} +Release: 1%{?dist} Summary: The LLVM Linker License: Apache-2.0 WITH LLVM-exception OR NCSA URL: http://llvm.org Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{lld_srcdir}.tar.xz Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{lld_srcdir}.tar.xz.sig -Source2: release-keys.asc +Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz +Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz.sig +Source4: release-keys.asc ExcludeArch: s390x @@ -91,7 +94,13 @@ Summary: LLD shared libraries Shared libraries for LLD. %prep -%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE2}' +%setup -T -q -b 2 -n %{cmake_srcdir} +# TODO: It would be more elegant to set -DLLVM_COMMON_CMAKE_UTILS=%{_builddir}/%{cmake_srcdir}, +# but this is not a CACHED variable, so we can't actually set it externally :( +cd .. +mv %{cmake_srcdir} cmake %autosetup -n %{lld_srcdir} -p2 %if %{with compat_build} @@ -182,6 +191,9 @@ fi %{install_libdir}/liblld*.so.* %changelog +* Tue Feb 14 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc1-1 +- Update to LLVM 16.0.0 RC1 + * Thu Jan 19 2023 Tulio Magno Quites Machado Filho - 15.0.7-3 - Update license to SPDX identifiers. - Include the Apache license adopted in 2019.