cxx11 portgroup: C++11, C++14, C++17

Ryan Schmidt ryandesign at macports.org
Mon Feb 5 00:14:20 UTC 2018


On Feb 4, 2018, at 18:09, Ken Cunningham wrote:

> On Feb 4, 2018, at 7:03 PM, Ryan Schmidt wrote:
> 
>> On Feb 4, 2018, at 18:01, Ken Cunningham wrote:
>> 
>>> On Feb 4, 2018, at 6:56 PM, Ryan Schmidt wrote:
>>>> 
>>>> The cxx11 portgroup is fine for C++11, but what do we want to do about C++14, C++17, and future versions?
>>> 
>>> By providing a current clang, like 5.0, all these are covered I believe. 
>>> 
>>> The PG is really misnamed....should be "modern compiler" PG or similar. 
>> 
>> Well, for example, Apple clang < 602 doesn't understand -std=c++14, but the portgroup only blacklists clang < 500. So for C++14 ports like textmate2 I've been adding the clang < 602 blacklist in addition to including the portgroup. But the more new C++ standards get introduced, the more complicated this will get.
> 
> Please not more portgroups, tho. 

Agreed. That was the point I want to raise. And if we want a single portgroup that handles specifying different language standards, it makes sense to rename it now, before we go changing all the cxx11 1.0 ports, so that we don't have to change those ports again a second time.


> How about we just move up that clang floor as time goes by? 

I would not be in favor of that, because it would result in users unnecessarily being forced to install newer compilers for ports that don't need them.

I would be in favor of a new option in which the port author can specify the language standard, and the portgroup takes care of the details. Actually there should probably be an option for each language: maybe configure.cc_std and configure.cxx_std.



More information about the macports-dev mailing list