From a5b9cd1c68eda914ffcf133228824ca58e1ba518 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 30 Sep 2013 15:28:14 +0000 Subject: Enable building LTO on WIN32. Enable building the LTO library (.lib and.dll) and llvm-lto.exe on Windows with MSVC and Mingw as well as re-enabling the associated test. Patch by Greg Bedwell! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191670 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/lto/CMakeLists.txt | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'tools/lto/CMakeLists.txt') diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt index 8b26ddd57e..5e5d8adecf 100644 --- a/tools/lto/CMakeLists.txt +++ b/tools/lto/CMakeLists.txt @@ -9,7 +9,19 @@ set(SOURCES lto.cpp ) -if( NOT WIN32 AND LLVM_ENABLE_PIC ) +if( NOT CYGWIN AND LLVM_ENABLE_PIC ) + if ( WIN32 ) + # Create .def file containing a list of exports preceeded by + # 'EXPORTS'. The file "lto.exports" already contains the list, so we + # massage it into the correct format here to create "lto.exports.def". + set(LTO_EXPORTS_DEF ${CMAKE_CURRENT_BINARY_DIR}/lto.exports.def) + file(READ "lto.exports" exports_list) + file(WRITE ${LTO_EXPORTS_DEF} "LIBRARY LTO\n") + file(APPEND ${LTO_EXPORTS_DEF} "EXPORTS\n") + file(APPEND ${LTO_EXPORTS_DEF} ${exports_list}) + set(SOURCES ${SOURCES} ${LTO_EXPORTS_DEF}) + endif() + set(bsl ${BUILD_SHARED_LIBS}) set(BUILD_SHARED_LIBS ON) add_llvm_library(LTO ${SOURCES}) @@ -25,7 +37,7 @@ if( NOT BUILD_SHARED_LIBS ) set_property(TARGET ${LTO_STATIC_TARGET_NAME} PROPERTY OUTPUT_NAME "LTO") endif() -if( NOT WIN32 ) +if( NOT CYGWIN ) install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h DESTINATION include/llvm-c) endif() -- cgit v1.2.3