Re: git: b56d0bc41af7 - main - devel/libcutl: Explain why USE_CXXSTD=c++11 is used

From: Rainer Hurling <rhurlin_at_gwdg.de>
Date: Tue, 11 Jul 2023 18:43:33 UTC
Hi Raphael,

Am 11.07.23 um 20:16 schrieb Raphael Kubo da Costa:
> On Thu, 2023-07-06 at 20:48 +0200, Rainer Hurling wrote:
>> Am 06.07.23 um 10:51 schrieb Raphael Kubo da Costa:
>>>> As for a PORTREVISION bump: it _could_ be the case that the
>>>> generated
>>>> files differ now, as in the past the default standard was gnu++14
>>>> rather than c++11. For leaf ports like these two I don't think
>>>> the
>>>> difference really matters, but I've been semi-abstent for so long
>>>> that
>>>> portmgr@ or someone more active may have a better guideline.
>>>
>>> By the way, one other possibility that I haven't tested myself if
>>> compatibility is an issue would be doing something like
>>> https://cgit.freebsd.org/ports/commit/?id=4e0c2ae319222145ab0b3f37c0ba52f596426d5a
>>>
>>> but passing USE_STDCXX=gnu++14 instead of changing CXXFLAGS. This
>>> would
>>> guarantee that non-main with older clang releases remain untouched
>>> while also making clang 16 use the same standard that the older
>>> clang
>>> releases use.
>>
>> Since the eboard project is hardly maintained, an upstream patch is
>> currently difficult to implement. Therefore I consider to take the
>> tip
>> to heart and to change to USE_STDCXX=gnu++14 in the games/eboard
>> port.
>> The port builds well, the program seems to work without errors.
>>
>> Still, one more question: is it safe to remove USES=compiler:c++11-
>> lang
>> for architectures other than amd64 and i386 and just use
>> USE_STDCXX=gnu++14. I have no way to test for arm, etc.
> 
> Nuno asked about this in https://reviews.freebsd.org/D40939 a while
> ago, and pkubaj@ explained in which situations those keywords (or at
> least some of them) are required:
> 
> https://reviews.freebsd.org/D40939#932674
> 
> By having those entries, you basically ensure the port builds on
> FreeBSD 12 for Tier 2 architectures like powerpc and powerpc64 which
> still use GCC 4.2 on FreeBSD 12.

Thanks for the pointer. Yes, this helps one step further :)

And, this also means that USES=compiler:C++11-lang provides anything gcc 
specific? Then it would also be unnecessary to use USE_CXXSTD=gnu++11 
instead of USE_CXXSTD=c++11?

Sorry if this should have been clarified already and I just didn't 
understand it yet.