Christopher Jones wrote:

> My reading is there is, on average across the board, there is no clear
> advantage/disadvantage to either gcc or clang

That's exactly what I'm saying too. However, that's all on Linux where clang 
may 
not perform optimally (because using libstdc++) and where GCC can use an up-to-
date gas. And it's with synthetic benchmarks.

> such that I am not really sure
> its warranted to expend a lot of effort to keep gcc alive on OSX, when

There appear to be quite a few ports that use/expect gcc, though. For some that 
is just to get a Fortran compiler, but if memory serves me well you cannot just 
build/install gfortran with gcc and g++. Even without official maintainer the 
ports are kept up-to-date, and I'd argue that we could just as well add an 
option to make the C and C++ compilers a viable alternative. As a variant, at 
least for the time being.

> not accept any patches into MacPorts for this unless they a) do not require
> significant patching of the gcc builds that upstream does not accept and 

The patch is significant in its implications, not quite in its implementation 
or 
even the underlying principle. Libc++ and libstdc++ are independent 
implementations of the same standard that just happen not to be exchangeable 
without recompiling. Patching GCC so that it links to the other isn't rocket 
science. Getting it to use the corresponding headerfiles can actually be done 
without patching at all; I'm currently doing it only to ensure that the correct 
headers are found when GCC is being built itself.

Now, is upstream likely to accept it? That's a whole different question, for 
all 
I know they might have an agenda against libc++ or the Mac platform like Apple 
have against GPL-3 (and which is the main reason we have clang and not GCC any 
more). The patch is a typical distribution patch and will thus come across a 
bit 
of a hack in upstream eyes. An upstreamable version would need a configure 
option 
to activate it and one to specify the location of clang's header files, and 
would 
presumably suppose that the libc++ version is recent enough (or else avoid 
using 
certain functions).
I've requested to register for a GCC bugzilla account to see what they think 
and 
what ideas they have to improve my implementation but haven't heard back yet.



> b)
> provides a rock solid gcc build that works in all cases without any nasty
> nuances (such as the library linkage changes you recently posted). If you can

Remind me what you mean with that?

I've been building a few more ports

_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to