diff options
Diffstat (limited to '')
-rw-r--r-- | build/build-clang/llvmorg-17-init-4170-g5c602c46b1ef.patch | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/build/build-clang/llvmorg-17-init-4170-g5c602c46b1ef.patch b/build/build-clang/llvmorg-17-init-4170-g5c602c46b1ef.patch new file mode 100644 index 0000000000..c1c76064b5 --- /dev/null +++ b/build/build-clang/llvmorg-17-init-4170-g5c602c46b1ef.patch @@ -0,0 +1,98 @@ +From 39e048e60ae2153f7621b7d1a1949dcb69778fa1 Mon Sep 17 00:00:00 2001 +From: Michael Platings <michael.platings@arm.com> +Date: Mon, 6 Mar 2023 22:53:54 +0000 +Subject: [PATCH] Use LLVM_USE_SYMLINKS option in install_symlink + +The change to potentially use symlinks on Windows was added in +https://reviews.llvm.org/D99170. + +LLVM_USE_SYMLINKS was added more recently in +https://reviews.llvm.org/D135578 and allows specifying at configure time +whether or not symlinks should be created. The benefit of using this +option is it allows building the package on a symlink-capable Windows +machine with symlinks disabled so that the resulting package can be used +on a Windows machine that doesn't support symlinks. + +Differential Revision: https://reviews.llvm.org/D145443 +--- + llvm/cmake/modules/AddLLVM.cmake | 16 ++++++++++++++-- + llvm/cmake/modules/LLVMInstallSymlink.cmake | 14 ++++++-------- + 2 files changed, 20 insertions(+), 10 deletions(-) + +diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake +index 76695e69e740..fa23bf1d883a 100644 +--- a/llvm/cmake/modules/AddLLVM.cmake ++++ b/llvm/cmake/modules/AddLLVM.cmake +@@ -2008,13 +2008,19 @@ function(llvm_install_library_symlink name dest type) + set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX}) + set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX}) + ++ if(LLVM_USE_SYMLINKS) ++ set(LLVM_LINK_OR_COPY create_symlink) ++ else() ++ set(LLVM_LINK_OR_COPY copy) ++ endif() ++ + set(output_dir lib${LLVM_LIBDIR_SUFFIX}) + if(WIN32 AND "${type}" STREQUAL "SHARED") + set(output_dir "${CMAKE_INSTALL_BINDIR}") + endif() + + install(SCRIPT ${INSTALL_SYMLINK} +- CODE "install_symlink(\"${full_name}\" \"${full_dest}\" \"${output_dir}\")" ++ CODE "install_symlink(\"${full_name}\" \"${full_dest}\" \"${output_dir}\" \"${LLVM_LINK_OR_COPY}\")" + COMPONENT ${component}) + + endfunction() +@@ -2049,10 +2055,16 @@ function(llvm_install_symlink project name dest) + set(full_dest llvm${CMAKE_EXECUTABLE_SUFFIX}) + endif() + ++ if(LLVM_USE_SYMLINKS) ++ set(LLVM_LINK_OR_COPY create_symlink) ++ else() ++ set(LLVM_LINK_OR_COPY copy) ++ endif() ++ + set(output_dir "${${project}_TOOLS_INSTALL_DIR}") + + install(SCRIPT ${INSTALL_SYMLINK} +- CODE "install_symlink(\"${full_name}\" \"${full_dest}\" \"${output_dir}\")" ++ CODE "install_symlink(\"${full_name}\" \"${full_dest}\" \"${output_dir}\" \"${LLVM_LINK_OR_COPY}\")" + COMPONENT ${component}) + + if (NOT LLVM_ENABLE_IDE AND NOT ARG_ALWAYS_GENERATE) +diff --git a/llvm/cmake/modules/LLVMInstallSymlink.cmake b/llvm/cmake/modules/LLVMInstallSymlink.cmake +index e9be04aceb3d..fb61265543d1 100644 +--- a/llvm/cmake/modules/LLVMInstallSymlink.cmake ++++ b/llvm/cmake/modules/LLVMInstallSymlink.cmake +@@ -4,7 +4,10 @@ + set(CMAKE_INSTALL_LIBDIR "lib") + include(GNUInstallDirs) + +-function(install_symlink name target outdir) ++function(install_symlink name target outdir link_or_copy) ++ # link_or_copy is the "command" to pass to cmake -E. ++ # It should be either "create_symlink" or "copy". ++ + set(DESTDIR $ENV{DESTDIR}) + if(NOT IS_ABSOLUTE "${outdir}") + set(outdir "${CMAKE_INSTALL_PREFIX}/${outdir}") +@@ -14,12 +17,7 @@ function(install_symlink name target outdir) + message(STATUS "Creating ${name}") + + execute_process( +- COMMAND "${CMAKE_COMMAND}" -E create_symlink "${target}" "${name}" +- WORKING_DIRECTORY "${outdir}" ERROR_VARIABLE has_err) +- if(CMAKE_HOST_WIN32 AND has_err) +- execute_process( +- COMMAND "${CMAKE_COMMAND}" -E copy "${target}" "${name}" +- WORKING_DIRECTORY "${outdir}") +- endif() ++ COMMAND "${CMAKE_COMMAND}" -E ${link_or_copy} "${target}" "${name}" ++ WORKING_DIRECTORY "${outdir}") + + endfunction() +-- +2.39.0.1.g6739ec1790 + |