Following on to this question, how does a port require a c++ compiler that supports c++14?

Currently, in science/bali-phy I use the following, which is similar to editors/textmate2 and games/gdash.

# Needs support for -std=c++14.
compiler.blacklist  {clang < 602}

I see that gdash uses blacklist-append, which is probably better.  For reference, homebrew allows "needs :cxx14".  Please do not smite me for mentioning homebrew.

I suppose there could be a c++14 portgroup?

-BenRI


On 03/26/2018 04:25 AM, Mojca Miklavec wrote:
On 26 March 2018 at 02:49, Ryan Schmidt wrote:
On Mar 25, 2018, at 14:37, David B. Evans wrote:

+# blacklist compilers that do not support C11 (redefinition of typedef 
‘GtkSourceTag’ at gtksourceview/gtksourcetag.h:35)
+compiler.blacklist  *gcc* {clang < 300}
Please be more specific here, such as "*gcc-3.* *gcc-4.*". Newer versions of 
gcc do support C11, and a change was already committed to MacPorts base which will let 
PowerPC systems fall back to gcc6 instead of clang (since clang doesn't work on PowerPC). 
Other ports may need more-specific blacklists too.
Is there any chance to implement something like
     compiler.blacklist {gcc < 4.7} {macports-clang < 3.7}
?

I find the gcc blacklisting hopeless. Why does one need to manually
blacklist a zillion different gcc compilers with a 99% guarantee to
get it wrong anyway? Our solution so far has been to use *gcc* just
because that was the only way to get it "right" (that is: prevent C++
abi incompatibility with modern gcc and prevent the use of useless gcc
4.0/4.2 to compile C++11 code), at least until we started thinking of
allowing a modern gcc on older systems after all.

Mojca

Reply via email to