Re: git: b56d0bc41af7 - main - devel/libcutl: Explain why USE_CXXSTD=c++11 is used
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.