[llvm] r191670 - Enable building LTO on WIN32.

Greg_Bedwell at sn.scee.net Greg_Bedwell at sn.scee.net
Mon Sep 30 08:48:56 PDT 2013


> > I'm observing a build failure since this change:
> 
> Greg, can you take a look?
> 

Looking now... Sorry for the inconvenience.

-Greg


Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote on 30/09/2013 
16:43:23:

> From: Rafael EspĂ­ndola <rafael.espindola at gmail.com>
> To: Timur Iskhodzhanov <timurrrr at google.com>, Greg_Bedwell at sn.scee.net
> Cc: llvm-commits <llvm-commits at cs.uiuc.edu>
> Date: 30/09/2013 16:43
> Subject: Re: [llvm] r191670 - Enable building LTO on WIN32.
> 
> Greg, can you take a look?
> 
> On 30 September 2013 11:40, Timur Iskhodzhanov <timurrrr at google.com> 
wrote:
> > I'm observing a build failure since this change:
> >
> > FAILED: cmd.exe /c cd . && C:\PROGRA~2\MICROS~2.0\VC\bin\link.exe /lib
> > /nologo /DEF:tools\lto\lto.exports.def /out:lib\LTO.lib
> > tools\lto\CMakeFiles\LTO_static.dir\LTODisassembler.cpp.obj
> > tools\lto\CMakeFiles\LTO_static.dir\lto.cpp.obj  && cd .
> > lto.exports.def : error LNK2001: unresolved external symbol 
LLVMCreateDisasm
> > lto.exports.def : error LNK2001: unresolved external symbol 
> LLVMCreateDisasmCPU
> > lto.exports.def : error LNK2001: unresolved external symbol 
> LLVMDisasmDispose
> > lto.exports.def : error LNK2001: unresolved external symbol
> > LLVMDisasmInstruction
> > lto.exports.def : error LNK2001: unresolved external symbol 
> LLVMSetDisasmOptions
> >
> > 2013/9/30 Rafael Espindola <rafael.espindola at gmail.com>:
> >> Author: rafael
> >> Date: Mon Sep 30 10:28:14 2013
> >> New Revision: 191670
> >>
> >> URL: http://llvm.org/viewvc/llvm-project?rev=191670&view=rev
> >> Log:
> >> 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!
> >>
> >> Modified:
> >>     llvm/trunk/test/LTO/cfi_endproc.ll
> >>     llvm/trunk/test/LTO/lit.local.cfg
> >>     llvm/trunk/tools/CMakeLists.txt
> >>     llvm/trunk/tools/lto/CMakeLists.txt
> >>
> >> Modified: llvm/trunk/test/LTO/cfi_endproc.ll
> >> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/LTO/
> cfi_endproc.ll?rev=191670&r1=191669&r2=191670&view=diff
> >> 
> 
==============================================================================
> >> --- llvm/trunk/test/LTO/cfi_endproc.ll (original)
> >> +++ llvm/trunk/test/LTO/cfi_endproc.ll Mon Sep 30 10:28:14 2013
> >> @@ -17,4 +17,3 @@ define i32 @main(i32 %argc, i8** %argv)
> >>    call void @PR14512()
> >>    ret i32 0
> >>  }
> >> -; XFAIL: win32
> >>
> >> Modified: llvm/trunk/test/LTO/lit.local.cfg
> >> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/LTO/
> lit.local.cfg?rev=191670&r1=191669&r2=191670&view=diff
> >> 
> 
==============================================================================
> >> --- llvm/trunk/test/LTO/lit.local.cfg (original)
> >> +++ llvm/trunk/test/LTO/lit.local.cfg Mon Sep 30 10:28:14 2013
> >> @@ -2,5 +2,5 @@ targets = set(config.root.targets_to_bui
> >>  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
> >>
> >> Modified: llvm/trunk/tools/CMakeLists.txt
> >> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/
> CMakeLists.txt?rev=191670&r1=191669&r2=191670&view=diff
> >> 
> 
==============================================================================
> >> --- llvm/trunk/tools/CMakeLists.txt (original)
> >> +++ llvm/trunk/tools/CMakeLists.txt Mon Sep 30 10:28:14 2013
> >> @@ -43,7 +43,7 @@ add_llvm_tool_subdirectory(llvm-symboliz
> >>  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()
> >>
> >> Modified: llvm/trunk/tools/lto/CMakeLists.txt
> >> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/
> CMakeLists.txt?rev=191670&r1=191669&r2=191670&view=diff
> >> 
> 
==============================================================================
> >> --- llvm/trunk/tools/lto/CMakeLists.txt (original)
> >> +++ llvm/trunk/tools/lto/CMakeLists.txt Mon Sep 30 10:28:14 2013
> >> @@ -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()
> >>
> >>
> >> _______________________________________________
> >> llvm-commits mailing list
> >> llvm-commits at cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


**********************************************************************
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. 
If you have received this email in error please notify postmaster at scee.net
This footnote also confirms that this email message has been checked for 
all known viruses.
Sony Computer Entertainment Europe Limited
Registered Office: 10 Great Marlborough Street, London W1F 7LP, United 
Kingdom
Registered in England: 3277793
**********************************************************************

P Please consider the environment before printing this e-mail




More information about the llvm-commits mailing list