[libc-commits] [libc] cf3b37c - [libc] Add GPU utility dependencies if present

Joseph Huber via libc-commits libc-commits at lists.llvm.org
Mon Jun 3 12:37:45 PDT 2024


Author: Joseph Huber
Date: 2024-06-03T14:37:39-05:00
New Revision: cf3b37c92ffad21086a0741ac682c87abea9a5d6

URL: https://github.com/llvm/llvm-project/commit/cf3b37c92ffad21086a0741ac682c87abea9a5d6
DIFF: https://github.com/llvm/llvm-project/commit/cf3b37c92ffad21086a0741ac682c87abea9a5d6.diff

LOG: [libc] Add GPU utility dependencies if present

Summary:
These tools need to be built before we can do the library creation
stage. If they are generated in the same build then this is not
guaranteed so we should add explicit dependencies.

Added: 
    

Modified: 
    libc/cmake/modules/LLVMLibCLibraryRules.cmake

Removed: 
    


################################################################################
diff  --git a/libc/cmake/modules/LLVMLibCLibraryRules.cmake b/libc/cmake/modules/LLVMLibCLibraryRules.cmake
index c376faafcf2d7..75bc81e2aee8e 100644
--- a/libc/cmake/modules/LLVMLibCLibraryRules.cmake
+++ b/libc/cmake/modules/LLVMLibCLibraryRules.cmake
@@ -132,6 +132,9 @@ function(add_gpu_entrypoint_library target_name base_target_name)
     )
     add_custom_target(${dep}.__gpubin__ DEPENDS ${dep}
                       "${CMAKE_CURRENT_BINARY_DIR}/binary/${name}.gpubin")
+    if(TARGET clang-offload-packager)
+      add_dependencies(${dep}.__gpubin__ clang-offload-packager)
+    endif()
 
     # CMake does not permit setting the name on object files. In order to have
     # human readable names we create an empty stub file with the entrypoint
@@ -209,6 +212,9 @@ function(add_bitcode_entrypoint_library target_name base_target_name)
   )
   add_custom_target(${target_name} DEPENDS ${output} ${all_deps})
   set_target_properties(${target_name} PROPERTIES TARGET_OBJECT ${output})
+  if(TARGET llvm-link)
+    add_dependencies(${target_name} llvm-link)
+  endif()
 endfunction(add_bitcode_entrypoint_library)
 
 # A rule to build a library from a collection of entrypoint objects.


        


More information about the libc-commits mailing list