Blacklisting gcc

Benjamin Redelings benjamin.redelings at gmail.com
Tue Mar 27 14:43:28 UTC 2018


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



More information about the macports-dev mailing list