https://github.com/wenju-he created 
https://github.com/llvm/llvm-project/pull/185633

They were droped in e20ae16ce672.
OUTPUT_FILENAME is helpful for customizing library name. PARENT_TARGET could be 
helpful for customizing dependency control.

>From 54293529289dc59bd3f257d474ed20985e8d08f5 Mon Sep 17 00:00:00 2001
From: Wenju He <[email protected]>
Date: Tue, 10 Mar 2026 12:47:23 +0100
Subject: [PATCH] [libclc][CMake] Add back OUTPUT_FILENAME and PARENT_TARGET

They were droped in e20ae16ce672.
OUTPUT_FILENAME is helpful for customizing library name.
PARENT_TARGET could be helpful for customizing dependency control.
---
 libclc/CMakeLists.txt                |  2 ++
 libclc/cmake/modules/AddLibclc.cmake | 13 +++++++------
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/libclc/CMakeLists.txt b/libclc/CMakeLists.txt
index f55f02f0e2fc0..cfa217a6c306b 100644
--- a/libclc/CMakeLists.txt
+++ b/libclc/CMakeLists.txt
@@ -280,5 +280,7 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
     COMPILE_DEFINITIONS ${_common_defs}
     INTERNALIZE_LIBRARIES ${clc_lib}
     OPT_FLAGS ${opt_flags}
+    OUTPUT_FILENAME libclc
+    PARENT_TARGET libclc-opencl-builtins
   )
 endforeach()
diff --git a/libclc/cmake/modules/AddLibclc.cmake 
b/libclc/cmake/modules/AddLibclc.cmake
index db99f53c8b421..0abf7bed3e4c8 100644
--- a/libclc/cmake/modules/AddLibclc.cmake
+++ b/libclc/cmake/modules/AddLibclc.cmake
@@ -74,7 +74,7 @@ endfunction()
 function(link_libclc_builtin_library target_name)
   cmake_parse_arguments(ARG
     ""
-    "ARCH;TRIPLE;FOLDER"
+    "ARCH;TRIPLE;FOLDER;OUTPUT_FILENAME"
     "LIBRARIES;INTERNALIZE_LIBRARIES;OPT_FLAGS"
     ${ARGN}
   )
@@ -106,7 +106,7 @@ function(link_libclc_builtin_library target_name)
 
   if(ARG_ARCH STREQUAL spirv OR ARG_ARCH STREQUAL spirv64)
     # SPIR-V targets produce a .spv file from the linked bitcode.
-    set(builtins_lib ${library_dir}/libclc.spv)
+    set(builtins_lib ${library_dir}/${ARG_OUTPUT_FILENAME}.spv)
     if(LIBCLC_USE_SPIRV_BACKEND)
       add_custom_command(OUTPUT ${builtins_lib}
         COMMAND ${CMAKE_CLC_COMPILER} -c --target=${ARG_TRIPLE}
@@ -125,7 +125,7 @@ function(link_libclc_builtin_library target_name)
     endif()
   else()
     # All other targets produce an optimized .bc file.
-    set(builtins_lib ${library_dir}/libclc.bc)
+    set(builtins_lib ${library_dir}/${ARG_OUTPUT_FILENAME}.bc)
     add_custom_command(OUTPUT ${builtins_lib}
       COMMAND ${opt_exe} ${ARG_OPT_FLAGS} -o ${builtins_lib} ${linked_bc}
       DEPENDS ${opt_target} ${linked_bc}
@@ -145,7 +145,7 @@ endfunction()
 function(add_libclc_library target_name)
   cmake_parse_arguments(ARG
     ""
-    "ARCH;TRIPLE;TARGET_TRIPLE"
+    "ARCH;TRIPLE;TARGET_TRIPLE;OUTPUT_FILENAME;PARENT_TARGET"
     
"SOURCES;COMPILE_OPTIONS;INCLUDE_DIRS;COMPILE_DEFINITIONS;INTERNALIZE_LIBRARIES;OPT_FLAGS"
     ${ARGN}
   )
@@ -165,15 +165,16 @@ function(add_libclc_library target_name)
     LIBRARIES ${opencl_lib}
     INTERNALIZE_LIBRARIES ${ARG_INTERNALIZE_LIBRARIES}
     OPT_FLAGS ${ARG_OPT_FLAGS}
+    OUTPUT_FILENAME "${ARG_OUTPUT_FILENAME}"
     FOLDER "libclc/Device IR/Library"
   )
 
-  add_dependencies(libclc-opencl-builtins ${target_name})
+  add_dependencies(${ARG_PARENT_TARGET} ${target_name})
   set(builtins_file $<TARGET_PROPERTY:${target_name},TARGET_FILE>)
 
   install(FILES ${builtins_file}
     DESTINATION ${LIBCLC_INSTALL_DIR}/${ARG_TRIPLE}
-    COMPONENT libclc-opencl-builtins
+    COMPONENT ${ARG_PARENT_TARGET}
   )
 
   # Verify there are no unresolved external functions in the library.

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to