tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

gcc.mk: adjusting charconv to follow the limited-versions guidance



As part of the USE_CXX_FEATURES scheme (yay, and thanks nia@ for leading
it), we have a plan to require a limited set of compilers aligned with
NetBSD releases, e.g. to avoid building gcc 8, 9, and 10 on a system
with 7 in base, when just building 10 would be better.

This plan is mostly followed, but not quite.  The following change would
follow it harder, and align charconv with filesystem and paralellism_ts.
My view is that there is no good reason it's set to 8 now, other than
the history of how we got here (using 8 dates from the grand rototill to
USE_CXX_FEATURES).

I believe that fixing this results in choosing 10 instead of 8 on NetBSD
9, and thus removing a reason why gcc8 is built, instead of just having
10.  I've been carrying this as a local patch for a while with no ill
effects, and the comment asking for an explanation has been there since
June.

I'll commit this in a few days absent objections with rationale.  If you
object, please provide rationale for one of:

  Why charchonv should avoid following the limited-versions guidance,
  while filesystem and paralellism_ts do not follow it.

  What harm would result, that does not already similarly result for the
  other two.





Index: gcc.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/compiler/gcc.mk,v
retrieving revision 1.283
diff -u -p -r1.283 gcc.mk
--- gcc.mk      23 Aug 2024 10:33:05 -0000      1.283
+++ gcc.mk      14 Oct 2024 18:40:46 -0000
@@ -278,8 +278,8 @@ GCC_REQD+=  10
 # <charconv> is part of C++17.
 
 # gcc7 fails to provide <charconv>, and it is present in gcc8.
-# Explain why the limited versions guideline is not followed.
-GCC_REQD+=     8
+# We therefore choose 10 under the limited versions guideline.
+GCC_REQD+=     10
 .endif
 
 # If the Ada language is requested, force use of aux/gnat comilers



Home | Main Index | Thread Index | Old Index