[cfe-dev] [libc++] Compiling with MinGW-w64

Mateusz Mikuła via cfe-dev cfe-dev at lists.llvm.org
Fri Mar 31 17:35:50 PDT 2017


 Forgot to mention you can build static version only, shared fails with
https://reviews.llvm.org/P7981




------ Original Message ------
Subject: Re: [cfe-dev] [libc++] Compiling with MinGW-w64
Date: Sat, 1 Apr 2017 00:11:37 +0200
To: Reid Kleckner, Eric Fiselier, Cfe-dev
From: Mateusz Mikuła
> Fantastic but looks like those libs are not linked when using libc++
> with Clang: https://reviews.llvm.org/P7980
>
> Patches I applied to 4.0.0 release sources:
>
> libc++: Reid's patch and this big, ugly and invasive patch [1]
> <https://github.com/mati865/MINGW-packages/blob/clang/mingw-w64-clang/0401-mingw-w64-hack-and-slash-fixes-for-libc.patch>
>
> libc++abi: [2]
> <https://github.com/mati865/MINGW-packages/blob/clang/mingw-w64-clang/0701-fix-visibility-for-libc-abi-on-win32.patch>
> which is most likely fixed by D26949 [3]
> <https://github.com/llvm-mirror/libcxxabi/commit/54227aec1d6116c936afa576e2ea36ca3e94b29c>
>
> libunwind: potentially dangerous [4]
> <https://github.com/mati865/MINGW-packages/blob/clang/mingw-w64-clang/0601-libunwind-add-support-for-mingw-w64.patch>
>
>
> [1]
> https://github.com/mati865/MINGW-packages/blob/clang/mingw-w64-clang/0401-mingw-w64-hack-and-slash-fixes-for-libc.patch
>
> [2]
> https://github.com/mati865/MINGW-packages/blob/clang/mingw-w64-clang/0701-fix-visibility-for-libc-abi-on-win32.patch
>
> [3]
> https://github.com/llvm-mirror/libcxxabi/commit/54227aec1d6116c936afa576e2ea36ca3e94b29c
>
> [4]
> https://github.com/mati865/MINGW-packages/blob/clang/mingw-w64-clang/0601-libunwind-add-support-for-mingw-w64.patch
>
>
> Regards,
>
> Mateusz
>
>
> ------ Original Message ------
> Subject: Re: [cfe-dev] [libc++] Compiling with MinGW-w64
> Date: Thu, 30 Mar 2017 17:29:24 -0700
> To: Mateusz Mikuła, Eric Fiselier, Cfe-dev
> From: Reid Kleckner
>> I ran into this today and took a stab at fixing it:
>> https://reviews.llvm.org/D31518
>>
>> It's probably a terrible fix, but I needed most of those mingw
>> libraries to get basic programs linking. I could rewrite the patch
>> using more auto-conf-y style tests, but they are slow and unreliable.
>>
>> On Fri, Mar 17, 2017 at 3:34 PM, Mateusz Mikuła via cfe-dev
>> <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>> wrote:
>>
>>     Hello,
>>
>>     I'm planing to get libc++ compiling with MinGW-w64, right now
>>     without patches it fails with:
>>
>>         CMake Error at projects/libcxx/CMakeLists.txt:396 (message):
>>           C++11 or greater is required but the compiler does not
>>         support c++11
>>
>>     It is caused by adding `-nodefaultlibs` flag (it passes it's own
>>     check [1]
>>     <https://github.com/llvm-mirror/libcxx/blob/master/cmake/config-ix.cmake#L27>).
>>     However many following checks fail due to undefined references,
>>     results with gcc [2] <https://reviews.llvm.org/P7975> and clang
>>     [3] <https://reviews.llvm.org/P7976>.
>>
>>     Hard-coding 0 for LIBCXX_SUPPORTS_NODEFAULTLIBS_FLAG allows it go
>>     finish configuration and fail during build (that's another story).
>>
>>     `-nodefaultlibs` appears several times in libc++ and libc++abi
>>     code and I'm not sure about cleanest way to fix/workaround it.
>>
>>     Any suggestions?
>>
>>
>>     [1]
>>     https://github.com/llvm-mirror/libcxx/blob/master/cmake/config-ix.cmake#L27
>>     <https://github.com/llvm-mirror/libcxx/blob/master/cmake/config-ix.cmake#L27>
>>
>>     [2] https://reviews.llvm.org/P7975
>>
>>     [3] https://reviews.llvm.org/P7976
>>
>>
>>     Thanks,
>>
>>     Mateusz
>>
>>
>>     _______________________________________________
>>     cfe-dev mailing list
>>     cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
>>     http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>     <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170401/cb05e06c/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170401/cb05e06c/attachment.sig>


More information about the cfe-dev mailing list