mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
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! llvm-svn: 191823
This commit is contained in:
parent
ee11e148e9
commit
f84c89a432
@ -17,4 +17,3 @@ define i32 @main(i32 %argc, i8** %argv) {
|
||||
call void @PR14512()
|
||||
ret i32 0
|
||||
}
|
||||
; XFAIL: win32
|
||||
|
@ -2,5 +2,5 @@ targets = set(config.root.targets_to_build.split())
|
||||
if not 'X86' in targets:
|
||||
config.unsupported = True
|
||||
|
||||
if config.root.host_os in ['Cygwin', 'MingW', 'Windows']:
|
||||
if config.root.host_os in ['Cygwin']:
|
||||
config.unsupported = True
|
||||
|
@ -43,7 +43,7 @@ add_llvm_tool_subdirectory(llvm-symbolizer)
|
||||
add_llvm_tool_subdirectory(obj2yaml)
|
||||
add_llvm_tool_subdirectory(yaml2obj)
|
||||
|
||||
if( NOT WIN32 )
|
||||
if( NOT CYGWIN )
|
||||
add_llvm_tool_subdirectory(lto)
|
||||
add_llvm_tool_subdirectory(llvm-lto)
|
||||
else()
|
||||
|
@ -9,10 +9,24 @@ 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(SHARED_LIB_SOURCES ${SOURCES} ${LTO_EXPORTS_DEF})
|
||||
else()
|
||||
set(SHARED_LIB_SOURCES ${SOURCES})
|
||||
endif()
|
||||
|
||||
set(bsl ${BUILD_SHARED_LIBS})
|
||||
set(BUILD_SHARED_LIBS ON)
|
||||
add_llvm_library(LTO ${SOURCES})
|
||||
add_llvm_library(LTO ${SHARED_LIB_SOURCES})
|
||||
set_property(TARGET LTO PROPERTY OUTPUT_NAME "LTO")
|
||||
set(BUILD_SHARED_LIBS ${bsl})
|
||||
set(LTO_STATIC_TARGET_NAME LTO_static)
|
||||
@ -25,7 +39,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()
|
||||
|
Loading…
Reference in New Issue
Block a user