https://github.com/frasercrmck created 
https://github.com/llvm/llvm-project/pull/147759

This mirrors how other LLVM libraries handle symlinks

>From 584407d144611dbee80f84b4dd3128420aebe7fb Mon Sep 17 00:00:00 2001
From: Fraser Cormack <fra...@codeplay.com>
Date: Wed, 9 Jul 2025 15:03:57 +0100
Subject: [PATCH] [libclc] Change symlinks to copies on Windows

This mirrors how other LLVM libraries handle symlinks
---
 libclc/cmake/modules/AddLibclc.cmake | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/libclc/cmake/modules/AddLibclc.cmake 
b/libclc/cmake/modules/AddLibclc.cmake
index a8160e04d46a0..056706ee629cd 100644
--- a/libclc/cmake/modules/AddLibclc.cmake
+++ b/libclc/cmake/modules/AddLibclc.cmake
@@ -425,11 +425,17 @@ function(add_libclc_builtin_set)
       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
   endif()
 
-  foreach( a ${ARG_ALIASES} )
+  if(CMAKE_HOST_UNIX OR LLVM_USE_SYMLINKS)
+    set(LIBCLC_LINK_OR_COPY create_symlink)
+  else()
+    set(LIBCLC_LINK_OR_COPY copy)
+  endif()
+
+  foreach( a IN LISTS ARG_ALIASES )
     set( alias_suffix "${a}-${ARG_TRIPLE}.bc" )
     add_custom_command(
       OUTPUT ${LIBCLC_OUTPUT_LIBRARY_DIR}/${alias_suffix}
-      COMMAND ${CMAKE_COMMAND} -E create_symlink ${libclc_builtins_lib} 
${LIBCLC_OUTPUT_LIBRARY_DIR}/${alias_suffix}
+      COMMAND ${CMAKE_COMMAND} -E ${LIBCLC_LINK_OR_COPY} 
${libclc_builtins_lib} ${LIBCLC_OUTPUT_LIBRARY_DIR}/${alias_suffix}
       DEPENDS prepare-${obj_suffix}
     )
     add_custom_target( alias-${alias_suffix} ALL

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to