#3 Add patch to split static library exports into own file
Closed 4 years ago by tstellar. Opened 4 years ago by tstellar.
rpms/ tstellar/llvm8.0 cmake-fix  into  master

@@ -0,0 +1,66 @@ 

+ From 8f6917ea11bd1bfbfe07f3577756d1c4abfdb916 Mon Sep 17 00:00:00 2001

+ From: Tom Stellard <tstellar@redhat.com>

+ Date: Fri, 6 Sep 2019 11:03:18 -0700

+ Subject: [PATCH] CMake: Split static library exports into their own export

+  file

+ 

+ ---

+  llvm/cmake/modules/AddLLVM.cmake       | 6 +++++-

+  llvm/cmake/modules/CMakeLists.txt      | 3 +++

+  llvm/cmake/modules/LLVMConfig.cmake.in | 2 ++

+  3 files changed, 10 insertions(+), 1 deletion(-)

+ 

+ diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake

+ index 619e986..200fc45 100644

+ --- a/llvm/cmake/modules/AddLLVM.cmake

+ +++ b/llvm/cmake/modules/AddLLVM.cmake

+ @@ -691,7 +691,11 @@ macro(add_llvm_library name)

+        if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR

+            (in_llvm_libs AND "llvm-libraries" 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/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt

+ index 9cf22b4..dc982d2 100644

+ --- a/llvm/cmake/modules/CMakeLists.txt

+ +++ b/llvm/cmake/modules/CMakeLists.txt

+ @@ -105,6 +105,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

+ @@ -121,6 +122,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/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in

+ index 536031f..6ef54a0 100644

+ --- a/llvm/cmake/modules/LLVMConfig.cmake.in

+ +++ b/llvm/cmake/modules/LLVMConfig.cmake.in

+ @@ -89,6 +89,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

+ 

file modified
+5 -1
@@ -15,7 +15,7 @@ 

  %global min_ver 0

  %global patch_ver 0

  #%%global rc_ver 4

- %global baserelease 10

+ %global baserelease 11

  

  

  %if %{with compat_build}
@@ -55,6 +55,7 @@ 

  Patch5:		0001-PATCH-llvm-config.patch

  Patch7:		0001-PATCH-Filter-out-cxxflags-not-supported-by-clang.patch

  Patch8:		0001-Fix-the-buildbot-issue-introduced-by-r351421.patch

+ Patch9:		0001-CMake-Split-static-library-exports-into-their-own-ex.patch

  

  BuildRequires:	gcc

  BuildRequires:	gcc-c++
@@ -472,6 +473,9 @@ 

  %endif

  

  %changelog

+ * Wed Nov 13 2019 Tom Stellard <tstellar@redhat.com> - 8.0.0-11

+ - Add patch to split static library exports into own file

+ 

  * Mon Sep 23 2019 Tom Stellard <tstellar@redhat.com> - 8.0.0-10

  - Rebuild with fc32 dist tag

  

@@ -0,0 +1,3 @@ 

+ cmake_minimum_required(VERSION 3.4.3)

+ 

+ find_package(LLVM)

@@ -0,0 +1,3 @@ 

+ #!/bin/bash

+ 

+ cmake . -DLLVM_DIR=/usr/lib64/llvm8.0/lib/cmake/llvm