summaryrefslogtreecommitdiffstats
path: root/build/build-clang/win64-no-symlink.patch
diff options
context:
space:
mode:
Diffstat (limited to 'build/build-clang/win64-no-symlink.patch')
-rw-r--r--build/build-clang/win64-no-symlink.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/build/build-clang/win64-no-symlink.patch b/build/build-clang/win64-no-symlink.patch
new file mode 100644
index 0000000000..44d3de7585
--- /dev/null
+++ b/build/build-clang/win64-no-symlink.patch
@@ -0,0 +1,30 @@
+diff --git a/llvm/cmake/modules/LLVMInstallSymlink.cmake b/llvm/cmake/modules/LLVMInstallSymlink.cmake
+index b5c35f706cb7..d9f629be06a7 100644
+--- a/llvm/cmake/modules/LLVMInstallSymlink.cmake
++++ b/llvm/cmake/modules/LLVMInstallSymlink.cmake
+@@ -6,17 +6,18 @@ include(GNUInstallDirs)
+
+ function(install_symlink name target outdir)
+ set(DESTDIR $ENV{DESTDIR})
++ if(CMAKE_HOST_UNIX)
++ set(LINK_OR_COPY create_symlink)
++ else()
++ set(LINK_OR_COPY copy)
++ endif()
++
+ set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}")
+
+ message(STATUS "Creating ${name}")
+
+ execute_process(
+- COMMAND "${CMAKE_COMMAND}" -E create_symlink "${target}" "${name}"
+- WORKING_DIRECTORY "${bindir}" ERROR_VARIABLE has_err)
+- if(CMAKE_HOST_WIN32 AND has_err)
+- execute_process(
+- COMMAND "${CMAKE_COMMAND}" -E copy "${target}" "${name}"
+- WORKING_DIRECTORY "${bindir}")
+- endif()
++ COMMAND "${CMAKE_COMMAND}" -E ${LINK_OR_COPY} "${target}" "${name}"
++ WORKING_DIRECTORY "${bindir}")
+
+ endfunction()