<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/ec60e0e3684be733074da99cc18eb47205ea05f9">https://github.com/macports/macports-base/commit/ec60e0e3684be733074da99cc18eb47205ea05f9</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit ec60e0e3684be733074da99cc18eb47205ea05f9
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sun Nov 26 16:36:47 2023 +1100

<span style='display:block; white-space:pre;color:#404040;'>    portconfigure: sync fallback compiler selection
</span>---
 src/port1.0/portconfigure.tcl | 93 +++++++++++++++++++++++++------------------
 1 file changed, 54 insertions(+), 39 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portconfigure.tcl b/src/port1.0/portconfigure.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index c88338c74..7ffe0f4b3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portconfigure.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portconfigure.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1189,7 +1189,7 @@ proc portconfigure::get_apple_compilers_os_version {} {
</span> }
 # utility procedure: get Clang compilers based on os.major
 proc portconfigure::get_clang_compilers {} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global os.major porturl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global os.major os.platform porturl
</span>     set compilers [list]
     set compiler_file [getportresourcepath $porturl "port1.0/compilers/clang_compilers.tcl"]
     if {[file exists ${compiler_file}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1197,47 +1197,62 @@ proc portconfigure::get_clang_compilers {} {
</span>     } else {
         ui_debug "clang_compilers.tcl not found in ports tree, using built-in selections"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # clang 11  and older build on 10.6+  (darwin 10)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # clang 7.0 and older build on 10.5+  (darwin 9)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # clang 3.4 and older build on 10.4+  (darwin 8)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Clang 11 and newer only on Apple Silicon
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Clang 9.0 and newer only on 11+ (Darwin 20)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} >= 11} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend compilers macports-clang-13 macports-clang-12
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} >= 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend compilers macports-clang-11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[option build_arch] ne "arm64"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                lappend compilers macports-clang-10 macports-clang-9.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {${os.major} < 20} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    lappend compilers macports-clang-8.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.major} >= 11 || ${os.platform} ne "darwin"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[option compiler.cxx_standard] >= 2014 && ${os.major} >= 22} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # For now limit exposure of clang-17 to ports needing c++14 or newer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # and only on macOS13 or newer due to issues like
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # https://github.com/macports/macports-ports/pull/21051
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # https://trac.macports.org/ticket/68640
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                lappend compilers macports-clang-17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend compilers macports-clang-16 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              macports-clang-15 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              macports-clang-14
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${os.major} < 23 || ${os.platform} ne "darwin"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # https://trac.macports.org/ticket/68257
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # Versions of clang older than clang-14 probably have build issues on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # macOS14+. Until resolved do not append to fallback list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                lappend compilers macports-clang-13 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                  macports-clang-12
</span>             }
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} >= 9 && ${os.major} < 20} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend compilers macports-clang-7.0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                              macports-clang-6.0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                              macports-clang-5.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.platform} eq "darwin"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${os.major} >= 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                lappend compilers macports-clang-11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[option build_arch] ne "arm64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    lappend compilers macports-clang-10 macports-clang-9.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {${os.major} < 20} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        lappend compilers macports-clang-8.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # The Sierra SDK requires a toolchain that supports class properties
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {${os.major} >= 9} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                lappend compilers macports-clang-3.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${os.major} >= 9 && ${os.major} < 20} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                lappend compilers macports-clang-7.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    macports-clang-6.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    macports-clang-5.0
</span>             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend compilers macports-clang-3.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {${os.major} < 9} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                lappend compilers macports-clang-3.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # The Sierra SDK requires a toolchain that supports class properties
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {${os.major} >= 9} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    lappend compilers macports-clang-3.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                lappend compilers macports-clang-3.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {${os.major} < 9} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    lappend compilers macports-clang-3.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span>             }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>         }
     }
     return ${compilers}
 }
 # utility procedure: get GCC compilers based on os.major
 proc portconfigure::get_gcc_compilers {} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global os.major os.arch porturl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global os.major porturl
</span>     set compilers [list]
     set compiler_file [getportresourcepath $porturl "port1.0/compilers/gcc_compilers.tcl"]
     if {[file exists ${compiler_file}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1245,20 +1260,20 @@ proc portconfigure::get_gcc_compilers {} {
</span>     } else {
         ui_debug "gcc_compilers.tcl not found in ports tree, using built-in selections"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} >= 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend compilers macports-gcc-11 macports-gcc-10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # GCC 10 and above on OSX10.6+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.major} >= 10 || [option os.platform] ne "darwin"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend compilers macports-gcc-13 macports-gcc-12 macports-gcc-11 macports-gcc-10
</span>         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.arch} ne "arm"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # GCC 9 and older only on OSX10.10 and older
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.major} < 15} {
</span>             if {${os.major} >= 10} {
                 lappend compilers macports-gcc-9 macports-gcc-8
             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {${os.major} < 20} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                lappend compilers macports-gcc-7 macports-gcc-6 macports-gcc-5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend compilers macports-gcc-7 macports-gcc-6 macports-gcc-5
</span>         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} >= 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.major} >= 10} {
</span>             lappend compilers macports-gcc-devel
         }
     }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1654,10 +1669,10 @@ proc portconfigure::add_compiler_port_dependencies {compiler} {
</span> 
                 # GCC version providing the primary runtime
                 # Note settings here *must* match those in the lang/libgcc port and compilers PG
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {${os.major} < 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[option os.platform] eq "darwin" && [option os.major] < 10} {
</span>                     set gcc_main_version 7
                 } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set gcc_main_version 11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_main_version 13
</span>                 }
 
                 # compiler links against libraries in libgcc\d* and/or libgcc-devel
</pre><pre style='margin:0'>

</pre>