回退 'Pull Request !5 : Upgrade to latest version of llvm'
This commit is contained in:
parent
703316c70e
commit
b09ed60726
27
CMake-Don-t-prefer-python2.7.patch
Normal file
27
CMake-Don-t-prefer-python2.7.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
From 1e0f1c5481a96d760f7840d4dde103353a0131f8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Stellard <tstellar@redhat.com>
|
||||||
|
Date: Thu, 30 Aug 2018 11:38:51 -0700
|
||||||
|
Subject: [PATCH] CMake: Don't prefer python2.7
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 4 ----
|
||||||
|
1 file changed, 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 31df640..2603f1c 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -613,10 +613,6 @@ message(STATUS "LLVM default target triple: ${LLVM_DEFAULT_TARGET_TRIPLE}")
|
||||||
|
|
||||||
|
include(HandleLLVMOptions)
|
||||||
|
|
||||||
|
-# Verify that we can find a Python 2 interpreter. Python 3 is unsupported.
|
||||||
|
-# FIXME: We should support systems with only Python 3, but that requires work
|
||||||
|
-# on LLDB.
|
||||||
|
-set(Python_ADDITIONAL_VERSIONS 2.7)
|
||||||
|
include(FindPythonInterp)
|
||||||
|
if( NOT PYTHONINTERP_FOUND )
|
||||||
|
message(FATAL_ERROR
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
86
CMake-Split-static-library-exports-into-their-own-ex.patch
Normal file
86
CMake-Split-static-library-exports-into-their-own-ex.patch
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
From f9e66a883e1fb748e6ac826fde188efaae249361 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Stellard <tstellar@redhat.com>
|
||||||
|
Date: Sat, 29 Apr 2017 02:03:23 +0000
|
||||||
|
Subject: [PATCH] CMake: Split static library exports into their own export
|
||||||
|
file
|
||||||
|
|
||||||
|
Summary:
|
||||||
|
This is to better support distros which split the static libraries into
|
||||||
|
their own package.
|
||||||
|
|
||||||
|
The current problem is that any project the includes LLVMConfig.cmake
|
||||||
|
will fail to configure unless the static libraries are installed. This
|
||||||
|
is because LLVMConfig.cmake includes LLVMExports.cmake, which throws an
|
||||||
|
error if it can't find files linked to one of the exported targets.
|
||||||
|
|
||||||
|
This patch resolves the problem by putting the static library targets
|
||||||
|
into their own export file, LLVMStaticExports.cmake. This file
|
||||||
|
is optionally included by LLVMConfig.cmake, so distros can put this
|
||||||
|
new file in their static library package to make LLVMConfig.cmake
|
||||||
|
no longer depend on these libraries when they are not installed.
|
||||||
|
|
||||||
|
Reviewers: beanz, mgorny, chapuni
|
||||||
|
|
||||||
|
Subscribers: llvm-commits
|
||||||
|
|
||||||
|
Differential Revision: https://reviews.llvm.org/D32668
|
||||||
|
---
|
||||||
|
cmake/modules/AddLLVM.cmake | 6 +++++-
|
||||||
|
cmake/modules/CMakeLists.txt | 3 +++
|
||||||
|
cmake/modules/LLVMConfig.cmake.in | 2 ++
|
||||||
|
3 files changed, 10 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
|
||||||
|
index fd5627e..78f106f 100644
|
||||||
|
--- a/cmake/modules/AddLLVM.cmake
|
||||||
|
+++ b/cmake/modules/AddLLVM.cmake
|
||||||
|
@@ -635,7 +635,11 @@ macro(add_llvm_library name)
|
||||||
|
|
||||||
|
if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
||||||
|
NOT LLVM_DISTRIBUTION_COMPONENTS)
|
||||||
|
- set(export_to_llvmexports EXPORT LLVMExports)
|
||||||
|
+ if (ARG_SHARED)
|
||||||
|
+ set(export_to_llvmexports EXPORT LLVMExports)
|
||||||
|
+ else()
|
||||||
|
+ set(export_to_llvmexports EXPORT LLVMStaticExports)
|
||||||
|
+ endif()
|
||||||
|
set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
|
||||||
|
index 6074e83..e9fcb11 100644
|
||||||
|
--- a/cmake/modules/CMakeLists.txt
|
||||||
|
+++ b/cmake/modules/CMakeLists.txt
|
||||||
|
@@ -91,6 +91,7 @@ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
|
||||||
|
set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
|
||||||
|
set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
|
||||||
|
set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
|
||||||
|
+set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
|
||||||
|
configure_file(
|
||||||
|
LLVMConfig.cmake.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
|
||||||
|
@@ -107,6 +108,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||||
|
if(llvm_has_exports)
|
||||||
|
install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
||||||
|
COMPONENT cmake-exports)
|
||||||
|
+ install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
||||||
|
+ COMPONENT cmake-exports)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install(FILES
|
||||||
|
diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in
|
||||||
|
index 0772016..f471625 100644
|
||||||
|
--- a/cmake/modules/LLVMConfig.cmake.in
|
||||||
|
+++ b/cmake/modules/LLVMConfig.cmake.in
|
||||||
|
@@ -78,6 +78,8 @@ if(NOT TARGET LLVMSupport)
|
||||||
|
set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@")
|
||||||
|
include("@LLVM_CONFIG_EXPORTS_FILE@")
|
||||||
|
@llvm_config_include_buildtree_only_exports@
|
||||||
|
+
|
||||||
|
+ include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# By creating intrinsics_gen here, subprojects that depend on LLVM's
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
24
Don-t-set-rpath-when-installing.patch
Normal file
24
Don-t-set-rpath-when-installing.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
From e67ace2ecb42c24e124f1738dc67b22055a22500 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Stellard <tstellar@redhat.com>
|
||||||
|
Date: Thu, 13 Sep 2018 10:10:08 -0700
|
||||||
|
Subject: [PATCH] Don't set rpath when installing
|
||||||
|
|
||||||
|
---
|
||||||
|
cmake/modules/AddLLVM.cmake | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
|
||||||
|
index ce2057f..de309b5 100644
|
||||||
|
--- a/cmake/modules/AddLLVM.cmake
|
||||||
|
+++ b/cmake/modules/AddLLVM.cmake
|
||||||
|
@@ -1621,6 +1621,7 @@ function(llvm_codesign name)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
function(llvm_setup_rpath name)
|
||||||
|
+ return()
|
||||||
|
if(CMAKE_INSTALL_RPATH)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
28
Filter-out-cxxflags-not-supported-by-clang.patch
Normal file
28
Filter-out-cxxflags-not-supported-by-clang.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 5f7fd92155db77c7608e3a07e5dcfad1ec7bd4e4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Stellard <tstellar@redhat.com>
|
||||||
|
Date: Fri, 16 Mar 2018 07:52:33 -0700
|
||||||
|
Subject: [PATCH] Filter out cxxflags not supported by clang
|
||||||
|
|
||||||
|
---
|
||||||
|
tools/llvm-config/CMakeLists.txt | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt
|
||||||
|
index a0bd36c..4193b0e 100644
|
||||||
|
--- a/tools/llvm-config/CMakeLists.txt
|
||||||
|
+++ b/tools/llvm-config/CMakeLists.txt
|
||||||
|
@@ -34,7 +34,11 @@ set(LLVM_SRC_ROOT ${LLVM_MAIN_SRC_DIR})
|
||||||
|
set(LLVM_OBJ_ROOT ${LLVM_BINARY_DIR})
|
||||||
|
set(LLVM_CPPFLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_CPP_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}")
|
||||||
|
set(LLVM_CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}")
|
||||||
|
+STRING(REGEX REPLACE "-mcet" "" LLVM_CFLAGS ${LLVM_CFLAGS})
|
||||||
|
+STRING(REGEX REPLACE "-fcf-protection" "" LLVM_CFLAGS ${LLVM_CFLAGS})
|
||||||
|
set(LLVM_CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}")
|
||||||
|
+STRING(REGEX REPLACE "-mcet" "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
|
||||||
|
+STRING(REGEX REPLACE "-fcf-protection" "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
|
||||||
|
set(LLVM_BUILD_SYSTEM cmake)
|
||||||
|
set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI})
|
||||||
|
set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}")
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
Binary file not shown.
16
llvm.spec
16
llvm.spec
@ -1,14 +1,18 @@
|
|||||||
Name: llvm
|
Name: llvm
|
||||||
Version: 10.0.0
|
Version: 7.0.0
|
||||||
Release: 0
|
Release: 9
|
||||||
Summary: The Low Level Virtual Machine
|
Summary: The Low Level Virtual Machine
|
||||||
License: NCSA
|
License: NCSA
|
||||||
URL: http://llvm.org
|
URL: http://llvm.org
|
||||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{name}-%{version}.src.tar.xz
|
Source0: http://releases.llvm.org/7.0.0/%{name}-%{version}.src.tar.xz
|
||||||
|
|
||||||
|
Patch0: CMake-Split-static-library-exports-into-their-own-ex.patch
|
||||||
|
Patch1: Filter-out-cxxflags-not-supported-by-clang.patch
|
||||||
|
Patch2: CMake-Don-t-prefer-python2.7.patch
|
||||||
|
Patch3: Don-t-set-rpath-when-installing.patch
|
||||||
|
|
||||||
BuildRequires: gcc gcc-c++ cmake ninja-build zlib-devel libffi-devel ncurses-devel libstdc++-static
|
BuildRequires: gcc gcc-c++ cmake ninja-build zlib-devel libffi-devel ncurses-devel libstdc++-static
|
||||||
BuildRequires: python3-sphinx binutils-devel valgrind-devel libedit-devel python3-devel
|
BuildRequires: python3-sphinx binutils-devel valgrind-devel libedit-devel python3-devel
|
||||||
BuildRequires: python3-recommonmark
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
LLVM is a compiler infrastructure designed for compile-time, link-time,
|
LLVM is a compiler infrastructure designed for compile-time, link-time,
|
||||||
@ -114,7 +118,6 @@ ninja -v
|
|||||||
cd _build
|
cd _build
|
||||||
ninja -v install
|
ninja -v install
|
||||||
|
|
||||||
find %{buildroot}%{_libdir}/cmake/llvm/ -type f | xargs sed -i "s|%{buildroot}||g"
|
|
||||||
mv -v %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
|
mv -v %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
|
||||||
|
|
||||||
for f in lli-child-target llvm-isel-fuzzer llvm-opt-fuzzer yaml-bench; do
|
for f in lli-child-target llvm-isel-fuzzer llvm-opt-fuzzer yaml-bench; do
|
||||||
@ -188,9 +191,6 @@ fi
|
|||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Jun 03 2020 SimpleUpdate Robot <tc@openeuler.org> - 10.0.0-0
|
|
||||||
- Update to version 10.0.0
|
|
||||||
|
|
||||||
* Wed Mar 18 2020 openEuler Buildteam <buildteam@openeuler.org> - 7.0.0-9
|
* Wed Mar 18 2020 openEuler Buildteam <buildteam@openeuler.org> - 7.0.0-9
|
||||||
- Type: enhancement
|
- Type: enhancement
|
||||||
- ID: NA
|
- ID: NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user