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

Mateusz Mikuła via cfe-dev cfe-dev at lists.llvm.org
Sat Apr 1 17:31:40 PDT 2017


I've updated paste https://reviews.llvm.org/P7981 since it was libunwind
issue (resolved by another patch).

At the moment it fails to link libc++abi.dll, any tips what to do next?



------ Original Message ------
Subject: Re: [cfe-dev] [libc++] Compiling with MinGW-w64
Date: Sat, 1 Apr 2017 02:35:50 +0200
To: Reid Kleckner, Eric Fiselier, Cfe-dev
From: Mateusz Mikuła
>
>  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/20170402/374630d2/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/20170402/374630d2/attachment.sig>


More information about the cfe-dev mailing list