Add an -mattr option to the gold plugin to support subtarget features in LTO
[oota-llvm.git] / tools / lto / CMakeLists.txt
index 8b26ddd57e8879693b12bf3b865477093c985e52..542053bf65245d6d01b32d4d65fb63332d4c8d9d 100644 (file)
@@ -1,6 +1,11 @@
 set(LLVM_LINK_COMPONENTS
   ${LLVM_TARGETS_TO_BUILD}
-  ipo scalaropts linker bitreader bitwriter lto mcdisassembler vectorize)
+  Core
+  LTO
+  MC
+  MCDisassembler
+  Support
+  )
 
 add_definitions( -DLLVM_VERSION_INFO=\"${PACKAGE_VERSION}\" )
 
@@ -9,23 +14,13 @@ set(SOURCES
   lto.cpp
   )
 
-if( NOT WIN32 AND LLVM_ENABLE_PIC )
-  set(bsl ${BUILD_SHARED_LIBS})
-  set(BUILD_SHARED_LIBS ON)
-  add_llvm_library(LTO ${SOURCES})
-  set_property(TARGET LTO PROPERTY OUTPUT_NAME "LTO")
-  set(BUILD_SHARED_LIBS ${bsl})
-  set(LTO_STATIC_TARGET_NAME LTO_static)
-else()
-  set(LTO_STATIC_TARGET_NAME LTO)
-endif()
+set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)
 
-if( NOT BUILD_SHARED_LIBS )
-  add_llvm_library(${LTO_STATIC_TARGET_NAME} ${SOURCES})
-  set_property(TARGET ${LTO_STATIC_TARGET_NAME} PROPERTY OUTPUT_NAME "LTO")
+if(NOT CYGWIN AND LLVM_ENABLE_PIC)
+  set(ENABLE_SHARED SHARED)
 endif()
 
-if( NOT WIN32 )
-  install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
-          DESTINATION include/llvm-c)
-endif()
+add_llvm_library(LTO ${ENABLE_SHARED} STATIC ${SOURCES})
+
+install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
+  DESTINATION include/llvm-c)