On Saturday December 09 2017 11:36:14 Ryan Schmidt wrote:

>It should be used as a developer debugging tool. It should never be required 
>for end users to install a port. If it is, it is a bug in the port's or its 
>dependencies' compiler selection / blacklisting.

One thing that straightforward compiler selection/blacklisting doesn't do is 
pick the most capable (= most recent) of the available valid options. It's 
possible to write the blacklisting instructions in such a way that a build will 
automatically use the latest compiler but the standard approach typically has 
the opposite effect.

Earlier today I ran into a situation where I needed to use a non-default (and 
more recent) compiler for a reason I cannot blame the port for: building a 
library for optimal performance (including the options -march=native and 
-flto). I think that's a valid and justifiable use-case for using 
configure.optflags, and in this case it caused a linker failure because the 
system compiler (clang 600.x) apparently generates SSE intrinsics that the 
linker (from port:ld64) no longer recognises.

Before I upgraded to OS X 10.9 I often had to resort to using GCC >= 4.8 in 
order to build code written in too modern C++ dialects and I guess this is 
still an option for users of pre-10.9 systems who chose not to do the libc++ 
conversion.

R.

Reply via email to