pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/mk/compiler
Module Name: pkgsrc
Committed By: gdt
Date: Fri Jun 7 12:59:36 UTC 2024
Modified Files:
pkgsrc/mk/compiler: gcc.mk
Log Message:
gcc.mk: Improve comments about several USE_*_FEATURES
Add link to gcc stdc++ status.
Rototill c17 comments, noting that I can't find where gcc documents
this. Note that gcc7 fails and gcc10 works, and 8/9 are unknown.
Note that std::filesystem is part of C++17, that it might work under 9
and that 10 is due to the limited versions guideline.
Note that parallism_ts is part of C++17, that gcc docs imply 9, and
that 10 is due to the limited versions guidline.
Note that charconv is part of C++17, and that it works in gcc8.
Rewrite my earlier comment into now-standard form about limited
versions guidance.
This is comment-only change.
To generate a diff of this commit:
cvs rdiff -u -r1.278 -r1.279 pkgsrc/mk/compiler/gcc.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/mk/compiler/gcc.mk
diff -u pkgsrc/mk/compiler/gcc.mk:1.278 pkgsrc/mk/compiler/gcc.mk:1.279
--- pkgsrc/mk/compiler/gcc.mk:1.278 Fri Jun 7 11:13:04 2024
+++ pkgsrc/mk/compiler/gcc.mk Fri Jun 7 12:59:36 2024
@@ -1,4 +1,4 @@
-# $NetBSD: gcc.mk,v 1.278 2024/06/07 11:13:04 gdt Exp $
+# $NetBSD: gcc.mk,v 1.279 2024/06/07 12:59:36 gdt Exp $
#
# This is the compiler definition for the GNU Compiler Collection.
#
@@ -176,6 +176,7 @@ GCC_REQD+= 2.8.0
#
# Resources:
# https://gcc.gnu.org/projects/cxx-status.html
+# https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html
# https://gcc.gnu.org/wiki/C11Status
# https://gcc.gnu.org/c99status.html
#
@@ -231,9 +232,12 @@ GCC_REQD+= 4.9
.endif
.if !empty(USE_CC_FEATURES:Mc17)
-# See http://mail-index.netbsd.org/pkgsrc-users/2024/01/02/msg038697.html
-# Actually gcc-9.x is enough, but it is not in any NetBSD
-# base system, thus for convenience
+# \todo Find gcc documentation about c17 support.
+# gcc7 fails with --std=c17
+# gcc8, gcc9 are unknown
+# gcc10 works
+
+# Choose 10 following the limited versions guidance.
GCC_REQD+= 10.0
.endif
@@ -256,20 +260,31 @@ GCC_REQD+= 5
.endif
.if !empty(USE_CXX_FEATURES:Mfilesystem)
-# While GCC 7 supports filesystem under an experimental header, this
-# is not part of GCC 7 as included in NetBSD 9.
-#
+# std::filesystem is part of C++17.
+
# GCC 8 supports filesystem with explicit linking to the libstdc++fs
-# library, which many packages do not do.
+# library, which many packages do not do. We assume (without
+# checking) that a requirement to add such a library is nonconforming
+# and thus dismiss 8.
+#
+# gcc documents that 8 is suitable and thus we assume 9 would be ok.
+# We choose 10 under the limited versions guideline.
GCC_REQD+= 10
.endif
.if !empty(USE_CXX_FEATURES:Mparallelism_ts)
+# parallism_ts is part of C++17.
+
+# Upstream documentation implies that 9 is required.
+# We therefore choose 10 under the limited versions guideline.
GCC_REQD+= 10
.endif
-# Don't round to gcc10.
.if !empty(USE_CXX_FEATURES:Mcharconv)
+# <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
.endif
Home |
Main Index |
Thread Index |
Old Index