Discussion:
[Mingw-w64-public] Is it possible to use clang instead of gcc with mingw64?
ardi
2017-06-14 16:17:25 UTC
Permalink
Hi,

I've been using mingw64 for many years now (using rubenvb personal
builds). Now I'm considering to update to a newer mingw64 version, and
I'm wondering if it's possible to build mingw64 so that the compiler
is clang instead of gcc.

Note that I'm using mingw64 for cross-compiling from Linux (and MacOS)
to Win32 and Win64, so my question is if such cross-compiler can be
clang.

If affirmative, are there any step-by-step instructions on how to
build it? Any success experiences?

Thanks!
ardi
Martell Malone
2017-06-14 16:44:09 UTC
Permalink
Hey ardi,

I am the one implementing this support.
The current status is you can build mingw-w64 with llvm, clang and lld
without binutils or gcc.
libc++, libc++abi and compiler-rt work.
libunwind support is missing so we have no exception handling currently.
There were some 20+ patches merged in the last year to get this working and
fix regressions with each release.

Bunch of relevant recent revisions and commits.

https://reviews.llvm.org/D33620
https://reviews.llvm.org/D33635
https://reviews.llvm.org/D33638
https://reviews.llvm.org/D33384
https://reviews.llvm.org/rL303928
https://reviews.llvm.org/rL304012
https://reviews.llvm.org/rL304026
https://reviews.llvm.org/rL304110
https://reviews.llvm.org/rL303490
https://reviews.llvm.org/rL303491
https://reviews.llvm.org/D29892
https://reviews.llvm.org/D33601

This will only work on master currently.
We can bootstrap clang with clang so it is somewhat stable and usable.
I will start uploading toolchains once the latest libunwind patch gets
merged and reviewed
All the way until the 5.0 release where we should have support in tree.

mingw-w64 itself however needs some out of tree patches for this.
I usually up to date needed patches and build scripts here
https://github.com/martell/mingw-w64-clang
I haven't update the repo in a month but I can update it over the weekend
if you are in immediate need to bootstrap your own.

Best,
Martell
Post by ardi
Hi,
I've been using mingw64 for many years now (using rubenvb personal
builds). Now I'm considering to update to a newer mingw64 version, and
I'm wondering if it's possible to build mingw64 so that the compiler
is clang instead of gcc.
Note that I'm using mingw64 for cross-compiling from Linux (and MacOS)
to Win32 and Win64, so my question is if such cross-compiler can be
clang.
If affirmative, are there any step-by-step instructions on how to
build it? Any success experiences?
Thanks!
ardi
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
The Canadian Bacon
2017-06-14 17:02:36 UTC
Permalink
Sorry for intruding I will definitely keep this in mind, as this would
definitely make things slightly easier for me to package up the mingw-w64
stuff on solus a lot more easier due to the nature of clang.
Post by Martell Malone
Hey ardi,
I am the one implementing this support.
The current status is you can build mingw-w64 with llvm, clang and lld
without binutils or gcc.
libc++, libc++abi and compiler-rt work.
libunwind support is missing so we have no exception handling currently.
There were some 20+ patches merged in the last year to get this working and
fix regressions with each release.
Bunch of relevant recent revisions and commits.
https://reviews.llvm.org/D33620
https://reviews.llvm.org/D33635
https://reviews.llvm.org/D33638
https://reviews.llvm.org/D33384
https://reviews.llvm.org/rL303928
https://reviews.llvm.org/rL304012
https://reviews.llvm.org/rL304026
https://reviews.llvm.org/rL304110
https://reviews.llvm.org/rL303490
https://reviews.llvm.org/rL303491
https://reviews.llvm.org/D29892
https://reviews.llvm.org/D33601
This will only work on master currently.
We can bootstrap clang with clang so it is somewhat stable and usable.
I will start uploading toolchains once the latest libunwind patch gets
merged and reviewed
All the way until the 5.0 release where we should have support in tree.
mingw-w64 itself however needs some out of tree patches for this.
I usually up to date needed patches and build scripts here
https://github.com/martell/mingw-w64-clang
I haven't update the repo in a month but I can update it over the weekend
if you are in immediate need to bootstrap your own.
Best,
Martell
Post by ardi
Hi,
I've been using mingw64 for many years now (using rubenvb personal
builds). Now I'm considering to update to a newer mingw64 version, and
I'm wondering if it's possible to build mingw64 so that the compiler
is clang instead of gcc.
Note that I'm using mingw64 for cross-compiling from Linux (and MacOS)
to Win32 and Win64, so my question is if such cross-compiler can be
clang.
If affirmative, are there any step-by-step instructions on how to
build it? Any success experiences?
Thanks!
ardi
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
ardi
2017-06-15 08:05:49 UTC
Permalink
Thanks a lot for the info, Martell!

No, I'm not in urgent need. I'm still at mingw-w64 with gcc 4.6.3
(rubenvb personal builds, although I built his source on my own for my
MacOS builds). I plan to update to a newer mingw-w64 sometime this
summer, or in early fall, so I'll wait. I'm expecting I'll have to
build the source myself for using it from MacOS (as I did with
rubenvb's tree), so, when I do it, it's going to be an effort of
several days -or even a week-, and I don't want to do that in a hurry,
I prefer to do it with time enough. I can wait. What would be the best
site for knowing the latest info about the current status? Your github
page?

Thanks!

ardi
Post by Martell Malone
Hey ardi,
I am the one implementing this support.
The current status is you can build mingw-w64 with llvm, clang and lld
without binutils or gcc.
libc++, libc++abi and compiler-rt work.
libunwind support is missing so we have no exception handling currently.
There were some 20+ patches merged in the last year to get this working and
fix regressions with each release.
Bunch of relevant recent revisions and commits.
https://reviews.llvm.org/D33620
https://reviews.llvm.org/D33635
https://reviews.llvm.org/D33638
https://reviews.llvm.org/D33384
https://reviews.llvm.org/rL303928
https://reviews.llvm.org/rL304012
https://reviews.llvm.org/rL304026
https://reviews.llvm.org/rL304110
https://reviews.llvm.org/rL303490
https://reviews.llvm.org/rL303491
https://reviews.llvm.org/D29892
https://reviews.llvm.org/D33601
This will only work on master currently.
We can bootstrap clang with clang so it is somewhat stable and usable.
I will start uploading toolchains once the latest libunwind patch gets
merged and reviewed
All the way until the 5.0 release where we should have support in tree.
mingw-w64 itself however needs some out of tree patches for this.
I usually up to date needed patches and build scripts here
https://github.com/martell/mingw-w64-clang
I haven't update the repo in a month but I can update it over the weekend
if you are in immediate need to bootstrap your own.
Best,
Martell
Post by ardi
Hi,
I've been using mingw64 for many years now (using rubenvb personal
builds). Now I'm considering to update to a newer mingw64 version, and
I'm wondering if it's possible to build mingw64 so that the compiler
is clang instead of gcc.
Note that I'm using mingw64 for cross-compiling from Linux (and MacOS)
to Win32 and Win64, so my question is if such cross-compiler can be
clang.
If affirmative, are there any step-by-step instructions on how to
build it? Any success experiences?
Thanks!
ardi
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Loading...