summaryrefslogtreecommitdiff
path: root/tools/llvm-ar/CMakeLists.txt
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-08-28 16:22:16 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-08-28 16:22:16 +0000
commitaeb0f0cdd28011a34be3772bb7a77292eaf18f9c (patch)
treeecbb8ff94bdb61f55cf087c3d0769dd9051e1a54 /tools/llvm-ar/CMakeLists.txt
parent22266c1d4817fc30355a90bb264ede08482bba3a (diff)
downloadllvm-aeb0f0cdd28011a34be3772bb7a77292eaf18f9c.tar.gz
llvm-aeb0f0cdd28011a34be3772bb7a77292eaf18f9c.tar.bz2
llvm-aeb0f0cdd28011a34be3772bb7a77292eaf18f9c.tar.xz
Add a minimal implementation of ranlib.
This is just enough to get "llvm-ranlib foo.a" working and tested. Making llvm-ranlib a symbolic link to llvm-ar doesn't work so well with llvm's option parsing, but ar's option parsing is mostly custom anyway. This patch also removes the -X32_64 option. Looks like it was just added in r10297 as part of implementing the current command line parsing. I can add it back (with a test) if someone really has AIX portability problems without it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189489 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-ar/CMakeLists.txt')
-rw-r--r--tools/llvm-ar/CMakeLists.txt18
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/llvm-ar/CMakeLists.txt b/tools/llvm-ar/CMakeLists.txt
index 503999c262..f15a1e2a86 100644
--- a/tools/llvm-ar/CMakeLists.txt
+++ b/tools/llvm-ar/CMakeLists.txt
@@ -4,4 +4,22 @@ add_llvm_tool(llvm-ar
llvm-ar.cpp
)
+# FIXME: this is duplicated from the clang CMakeLists.txt
+# FIXME: bin/llvm-ranlib is not a valid build target with this setup (pr17024)
+
+if(UNIX)
+ set(LLVM_LINK_OR_COPY create_symlink)
+ set(llvm_ar_binary "llvm-ar${CMAKE_EXECUTABLE_SUFFIX}")
+else()
+ set(LLVM_LINK_OR_COPY copy)
+ set(llvm_ar_binary "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/llvm-ar${CMAKE_EXECUTABLE_SUFFIX}")
+endif()
+
+set(llvm_ranlib "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/llvm-ranlib${CMAKE_EXECUTABLE_SUFFIX}")
+add_custom_command(TARGET llvm-ar POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E ${LLVM_LINK_OR_COPY} "${llvm_ar_binary}" "${llvm_ranlib}")
+
+set_property(DIRECTORY APPEND
+ PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${llvm_ranlib})
+
# TODO: Support check-local.