File llvm-do-not-install-static-libraries.patch of Package rocm-llvm

diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake
index 4059fc3e986c..e281340a1ba7 100644
--- a/clang/cmake/modules/AddClang.cmake
+++ b/clang/cmake/modules/AddClang.cmake
@@ -131,12 +131,15 @@ macro(add_clang_library name)
 
       if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
         get_target_export_arg(${name} Clang export_to_clangtargets UMBRELLA clang-libraries)
-        install(TARGETS ${lib}
-          COMPONENT ${lib}
-          ${export_to_clangtargets}
-          LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
-          ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
-          RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+        if (ARG_SHARED OR ARG_MODULE)
+          install(TARGETS ${lib}
+            COMPONENT ${lib}
+            ${export_to_clangtargets}
+            LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+            ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+            RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+          set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${lib})
+        endif()
 
         if (NOT LLVM_ENABLE_IDE)
           add_llvm_install_targets(install-${lib}
@@ -146,7 +149,6 @@ macro(add_clang_library name)
 
         set_property(GLOBAL APPEND PROPERTY CLANG_LIBS ${lib})
       endif()
-      set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${lib})
     else()
       # Add empty "phony" target
       add_custom_target(${lib})
diff --git a/lld/cmake/modules/AddLLD.cmake b/lld/cmake/modules/AddLLD.cmake
index 37f73afa915f..c5f16913b6e8 100644
--- a/lld/cmake/modules/AddLLD.cmake
+++ b/lld/cmake/modules/AddLLD.cmake
@@ -13,6 +13,7 @@ macro(add_lld_library name)
   llvm_add_library(${name} ${ARG_ENABLE_SHARED} ${ARG_UNPARSED_ARGUMENTS})
 
   if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+    if (ARG_SHARED)
     get_target_export_arg(${name} LLD export_to_lldtargets UMBRELLA lld-libraries)
     install(TARGETS ${name}
       COMPONENT ${name}
@@ -20,6 +21,8 @@ macro(add_lld_library name)
       LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
       ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
       RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+    set_property(GLOBAL APPEND PROPERTY LLD_EXPORTS ${name})
+    endif()
 
     if (NOT CMAKE_CONFIGURATION_TYPES)
       add_llvm_install_targets(install-${name}
@@ -27,7 +30,6 @@ macro(add_lld_library name)
         COMPONENT ${name})
     endif()
     set_property(GLOBAL APPEND PROPERTY LLD_ALL_LIBS ${name})
-    set_property(GLOBAL APPEND PROPERTY LLD_EXPORTS ${name})
   endif()
 endmacro(add_lld_library)
 
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index 80e59a4df243..3982a470aeef 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -966,7 +966,7 @@ macro(add_llvm_library name)
       else()
         set(umbrella)
       endif()
-
+      if(ARG_SHARED OR ARG_MODULE OR NOT LLVM_BUILD_LLVM_DYLIB)
       if(ARG_NO_EXPORT)
         set(export_to_llvmexports)
       else()
@@ -977,14 +977,14 @@ macro(add_llvm_library name)
               LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
               ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
               RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name})
-
+      endif()
       if (NOT LLVM_ENABLE_IDE)
         add_llvm_install_targets(install-${name}
                                  DEPENDS ${name}
                                  COMPONENT ${name})
       endif()
     endif()
-    if(NOT ARG_NO_EXPORT)
+    if((ARG_SHARED OR ARG_MODULE OR NOT LLVM_BUILD_LLVM_DYLIB) AND NOT ARG_NO_EXPORT)
       set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
     endif()
   endif()
diff --git a/polly/cmake/polly_macros.cmake b/polly/cmake/polly_macros.cmake
index 9bd7b0b0ea59..dfe029289fd6 100644
--- a/polly/cmake/polly_macros.cmake
+++ b/polly/cmake/polly_macros.cmake
@@ -39,6 +39,7 @@ macro(add_polly_library name)
     llvm_config(${name} ${LLVM_LINK_COMPONENTS})
   endif( LLVM_LINK_COMPONENTS )
   if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly")
+    if (MODULE OR SHARED_LIBRARY OR NOT LLVM_BUILD_LLVM_DYLIB)
     set(exports)
     if (LLVM_POLLY_LINK_INTO_TOOLS)
       set(exports EXPORT LLVMExports)
@@ -48,10 +49,11 @@ macro(add_polly_library name)
       ${exports}
       LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
       ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
+    endif()
     add_llvm_install_targets(install-${name}
       COMPONENT ${name})
   endif()
-  if (LLVM_POLLY_LINK_INTO_TOOLS)
+  if((MODULE OR SHARED_LIBRARY OR NOT LLVM_BUILD_LLVM_DYLIB) AND LLVM_POLLY_LINK_INTO_TOOLS)
     set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
   endif()
 endmacro(add_polly_library)
diff --git a/polly/lib/CMakeLists.txt b/polly/lib/CMakeLists.txt
index d91f4ecd37e6..39e38cbaf20d 100644
--- a/polly/lib/CMakeLists.txt
+++ b/polly/lib/CMakeLists.txt
@@ -108,7 +108,7 @@ endif()
 # It depends on all library it needs, such that with
 # LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as
 # well.
-target_link_libraries(Polly PUBLIC
+target_link_libraries(Polly PRIVATE
   ${ISL_TARGET}
 )
 
@@ -129,7 +129,7 @@ else ()
   # to be already available in the address space the module is loaded into.
   # Adding them once more would have the effect that both copies try to register
   # the same command line options, to which LLVM reacts with an error.
-  target_link_libraries(LLVMPolly PUBLIC ${ISL_TARGET})
+  target_link_libraries(LLVMPolly PRIVATE ${ISL_TARGET})
 
   set_target_properties(LLVMPolly
     PROPERTIES
openSUSE Build Service is sponsored by