Index: llvm/trunk/CMakeLists.txt =================================================================== --- llvm/trunk/CMakeLists.txt +++ llvm/trunk/CMakeLists.txt @@ -179,6 +179,9 @@ # for use by clang_complete, YouCompleteMe, etc. set(CMAKE_EXPORT_COMPILE_COMMANDS 1) +option(LLVM_INSTALL_BINUTILS_SYMLINKS + "Install symlinks from the binutils tool names to the corresponding LLVM tools." OFF) + option(LLVM_INSTALL_UTILS "Include utility binaries in the 'install' target." OFF) option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF) Index: llvm/trunk/docs/CMake.rst =================================================================== --- llvm/trunk/docs/CMake.rst +++ llvm/trunk/docs/CMake.rst @@ -224,6 +224,10 @@ Generate build targets for the LLVM tools. Defaults to ON. You can use this option to disable the generation of build targets for the LLVM tools. +**LLVM_INSTALL_BINUTILS_SYMLINKS**:BOOL + Install symlinks from the binutils tool names to the corresponding LLVM tools. + For example, ar will be symlinked to llvm-ar. + **LLVM_BUILD_EXAMPLES**:BOOL Build LLVM examples. Defaults to OFF. Targets for building each example are generated in any case. See documentation for *LLVM_BUILD_TOOLS* above for more Index: llvm/trunk/tools/llvm-ar/CMakeLists.txt =================================================================== --- llvm/trunk/tools/llvm-ar/CMakeLists.txt +++ llvm/trunk/tools/llvm-ar/CMakeLists.txt @@ -17,3 +17,9 @@ add_llvm_tool_symlink(llvm-ranlib llvm-ar) add_llvm_tool_symlink(llvm-lib llvm-ar) add_llvm_tool_symlink(llvm-dlltool llvm-ar) + +if(LLVM_INSTALL_BINUTILS_SYMLINKS) + add_llvm_tool_symlink(ar llvm-ar) + add_llvm_tool_symlink(dlltool llvm-ar) + add_llvm_tool_symlink(ranlib llvm-ar) +endif() Index: llvm/trunk/tools/llvm-cxxfilt/CMakeLists.txt =================================================================== --- llvm/trunk/tools/llvm-cxxfilt/CMakeLists.txt +++ llvm/trunk/tools/llvm-cxxfilt/CMakeLists.txt @@ -6,3 +6,7 @@ add_llvm_tool(llvm-cxxfilt llvm-cxxfilt.cpp ) + +if(LLVM_INSTALL_BINUTILS_SYMLINKS) + add_llvm_tool_symlink(c++filt llvm-cxxfilt) +endif() Index: llvm/trunk/tools/llvm-dwp/CMakeLists.txt =================================================================== --- llvm/trunk/tools/llvm-dwp/CMakeLists.txt +++ llvm/trunk/tools/llvm-dwp/CMakeLists.txt @@ -15,3 +15,7 @@ DEPENDS intrinsics_gen ) + +if(LLVM_INSTALL_BINUTILS_SYMLINKS) + add_llvm_tool_symlink(dwp llvm-dwp) +endif() Index: llvm/trunk/tools/llvm-nm/CMakeLists.txt =================================================================== --- llvm/trunk/tools/llvm-nm/CMakeLists.txt +++ llvm/trunk/tools/llvm-nm/CMakeLists.txt @@ -14,3 +14,7 @@ DEPENDS intrinsics_gen ) + +if(LLVM_INSTALL_BINUTILS_SYMLINKS) + add_llvm_tool_symlink(nm llvm-nm) +endif() Index: llvm/trunk/tools/llvm-objcopy/CMakeLists.txt =================================================================== --- llvm/trunk/tools/llvm-objcopy/CMakeLists.txt +++ llvm/trunk/tools/llvm-objcopy/CMakeLists.txt @@ -7,3 +7,7 @@ llvm-objcopy.cpp Object.cpp ) + +if(LLVM_INSTALL_BINUTILS_SYMLINKS) + add_llvm_tool_symlink(objcopy llvm-objcopy) +endif() Index: llvm/trunk/tools/llvm-objdump/CMakeLists.txt =================================================================== --- llvm/trunk/tools/llvm-objdump/CMakeLists.txt +++ llvm/trunk/tools/llvm-objdump/CMakeLists.txt @@ -25,3 +25,7 @@ if(HAVE_LIBXAR) target_link_libraries(llvm-objdump ${XAR_LIB}) endif() + +if(LLVM_INSTALL_BINUTILS_SYMLINKS) + add_llvm_tool_symlink(objdump llvm-objdump) +endif() Index: llvm/trunk/tools/llvm-readobj/CMakeLists.txt =================================================================== --- llvm/trunk/tools/llvm-readobj/CMakeLists.txt +++ llvm/trunk/tools/llvm-readobj/CMakeLists.txt @@ -23,3 +23,7 @@ ) add_llvm_tool_symlink(llvm-readelf llvm-readobj) + +if(LLVM_INSTALL_BINUTILS_SYMLINKS) + add_llvm_tool_symlink(readelf llvm-readobj) +endif() Index: llvm/trunk/tools/llvm-size/CMakeLists.txt =================================================================== --- llvm/trunk/tools/llvm-size/CMakeLists.txt +++ llvm/trunk/tools/llvm-size/CMakeLists.txt @@ -6,3 +6,7 @@ add_llvm_tool(llvm-size llvm-size.cpp ) + +if(LLVM_INSTALL_BINUTILS_SYMLINKS) + add_llvm_tool_symlink(size llvm-size) +endif() Index: llvm/trunk/tools/llvm-strings/CMakeLists.txt =================================================================== --- llvm/trunk/tools/llvm-strings/CMakeLists.txt +++ llvm/trunk/tools/llvm-strings/CMakeLists.txt @@ -8,3 +8,6 @@ llvm-strings.cpp ) +if(LLVM_INSTALL_BINUTILS_SYMLINKS) + add_llvm_tool_symlink(strings llvm-strings) +endif() Index: llvm/trunk/tools/llvm-symbolizer/CMakeLists.txt =================================================================== --- llvm/trunk/tools/llvm-symbolizer/CMakeLists.txt +++ llvm/trunk/tools/llvm-symbolizer/CMakeLists.txt @@ -14,3 +14,7 @@ add_llvm_tool(llvm-symbolizer llvm-symbolizer.cpp ) + +if(LLVM_INSTALL_BINUTILS_SYMLINKS) + add_llvm_tool_symlink(addr2line llvm-symbolizer) +endif()