[llvm-dev] Trying to cross-compile LLVM runtimes to Windows

Jean-Michaël Celerier via llvm-dev llvm-dev at lists.llvm.org
Tue Nov 6 04:45:21 PST 2018


I have been using this project with great success to achieve this : 
https://github.com/mstorsjo/llvm-mingw

It generates a linux-based windows cross-compiler with clang, libc++, etc.

I was able to build a large part of Qt with it afterwards for instance.


Best,

Jean-Michaël

On 06/11/2018 04:21, Petr Hosek via llvm-dev wrote:
> I've tried building libc++ for Windows on Linux by setting clang-cl as
> the compiler and lld-link as the linker, but I immediately hit
> roadblocks. The first issue seems to be the fact that CMake appears to
> ignore the value of CMAKE_RC_COMPILER variable and hardcodes "rc" as
> the resource compiler. This got resolved in upstream 12 days ago
> (https://github.com/Kitware/CMake/commit/bd9bfc644954a48b1bf7ea18fc260a1231840671)
>
> I managed to workaround this issue by symlinking llvm-rc as rc.
> However, that's not sufficient because CMake uses following invocation
> (https://github.com/Kitware/CMake/blob/master/Source/cmcmd.cxx#L1815):
>
> rc /foCMakeFiles/cmTC_2c376.dir/manifest.res
> CMakeFiles/cmTC_2c376.dir/manifest.rc
>
> llvm-rc option parses requires /fo option argument to be separate.
> I've modified the flag to support both joined and separate value which
> helped getting past that error, but I immediately hit another error:
> https://reviews.llvm.org/P8113
>
> The problem seems to be that the .rc file generated by CMake contains
> an absolute path to the resource, but llvm-rc expects the path to be
> always relative. However, I couldn't fine any documentation that would
> explain whether that's a requirement and it's CMake's fault or whether
> llvm-rc should be handling absolute paths as well. Is anyone familiar
> with Windows resource file semantics?
>
> All of these errors seem to suggest that this cross-compiling for
> Windows with Clang using CMake isn't a well explored area. Has anyone
> had more success with cross-compiling LLVM runtimes (libc++,
> compiler-rt) to Windows?
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list