[lld] r246139 - lld-link: Unify symlink code with llvm-lib

Martell Malone via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 26 22:18:36 PDT 2015


Author: martell
Date: Thu Aug 27 00:18:36 2015
New Revision: 246139

URL: http://llvm.org/viewvc/llvm-project?rev=246139&view=rev
Log:
lld-link: Unify symlink code with llvm-lib

Modified:
    lld/trunk/tools/lld/CMakeLists.txt
    lld/trunk/tools/lld/install_symlink.cmake

Modified: lld/trunk/tools/lld/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/tools/lld/CMakeLists.txt?rev=246139&r1=246138&r2=246139&view=diff
==============================================================================
--- lld/trunk/tools/lld/CMakeLists.txt (original)
+++ lld/trunk/tools/lld/CMakeLists.txt Thu Aug 27 00:18:36 2015
@@ -11,18 +11,19 @@ target_link_libraries(lld
 install(TARGETS lld
   RUNTIME DESTINATION bin)
 
-# Create the lld-link[.exe] symlink in the build directory. If symlink is not
-# supported by the operating system, create a copy instead.
 if(UNIX)
-  set(command create_symlink)
-  # Make relative symlink
-  set(src "lld${CMAKE_EXECUTABLE_SUFFIX}")
+  set(LLD_LINK_OR_COPY create_symlink)
+  set(lld_binary "lld${CMAKE_EXECUTABLE_SUFFIX}")
+
 else()
-  set(command copy)
-  set(src "${LLVM_RUNTIME_OUTPUT_INTDIR}/lld${CMAKE_EXECUTABLE_SUFFIX}")
+  set(LLD_LINK_OR_COPY copy)
+  set(lld_binary "${LLVM_RUNTIME_OUTPUT_INTDIR}/lld${CMAKE_EXECUTABLE_SUFFIX}")
 endif()
-set(dst "${LLVM_RUNTIME_OUTPUT_INTDIR}/lld-link${CMAKE_EXECUTABLE_SUFFIX}")
-add_custom_command(TARGET lld POST_BUILD
-  COMMAND ${CMAKE_COMMAND} -E ${command} ${src} ${dst})
+
+set(lld_link "${LLVM_RUNTIME_OUTPUT_INTDIR}/lld-link${CMAKE_EXECUTABLE_SUFFIX}")
+
+add_custom_command(OUTPUT ${lld_link}
+                   COMMAND ${CMAKE_COMMAND} -E ${LLD_LINK_OR_COPY} "${lld_binary}" "${lld_link}"
+                   DEPENDS lld)
 
 install(SCRIPT install_symlink.cmake -DCMAKE_INSTALL_PREFIX=\"${CMAKE_INSTALL_PREFIX}\")

Modified: lld/trunk/tools/lld/install_symlink.cmake
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/tools/lld/install_symlink.cmake?rev=246139&r1=246138&r2=246139&view=diff
==============================================================================
--- lld/trunk/tools/lld/install_symlink.cmake (original)
+++ lld/trunk/tools/lld/install_symlink.cmake Thu Aug 27 00:18:36 2015
@@ -1,3 +1,6 @@
+# We need to execute this script at installation time because the
+# DESTDIR environment variable may be unset at configuration time.
+# See PR8397.
 if(UNIX)
   set(LINK_OR_COPY create_symlink)
   set(DESTDIR $ENV{DESTDIR})




More information about the llvm-commits mailing list