<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ac5a416fd8dc537e38f9c55b39e5e9e873c3454d">https://github.com/macports/macports-ports/commit/ac5a416fd8dc537e38f9c55b39e5e9e873c3454d</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new ac5a416      gcc10        : New 'development' gcc snapshot port.     libgcc-devel : Migrated to be based on gcc10 build.     gcc9         : Update to production 9.1 release.     libgcc9      : New runtime support library port, provides primary runtime on macOS10.7 and newer.     gcc8         : Updated to only provide primary runtime on macOS10.6.     gcc7         : Cosmetic improvements.     libgcc       : Updated to use libgcc9 on macOS10.7 and newer, libgcc8 on macOS10.6 and li [...]
</span>ac5a416 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit ac5a416fd8dc537e38f9c55b39e5e9e873c3454d
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Sat May 4 19:28:51 2019 +0100

<span style='display:block; white-space:pre;color:#404040;'>        gcc10        : New 'development' gcc snapshot port.
</span><span style='display:block; white-space:pre;color:#404040;'>        libgcc-devel : Migrated to be based on gcc10 build.
</span><span style='display:block; white-space:pre;color:#404040;'>        gcc9         : Update to production 9.1 release.
</span><span style='display:block; white-space:pre;color:#404040;'>        libgcc9      : New runtime support library port, provides primary runtime on macOS10.7 and newer.
</span><span style='display:block; white-space:pre;color:#404040;'>        gcc8         : Updated to only provide primary runtime on macOS10.6.
</span><span style='display:block; white-space:pre;color:#404040;'>        gcc7         : Cosmetic improvements.
</span><span style='display:block; white-space:pre;color:#404040;'>        libgcc       : Updated to use libgcc9 on macOS10.7 and newer, libgcc8 on macOS10.6 and libgcc7 on macOS10.5 and older.
</span>---
 lang/{gcc9 => gcc10}/Portfile |  37 ++++---
 lang/gcc10/files/mp-gcc10     |   7 ++
 lang/gcc7/Portfile            |  17 ++-
 lang/gcc8/Portfile            | 247 ++++++++++++++++++++++--------------------
 lang/gcc9/Portfile            |  79 +++++++++-----
 lang/libgcc/Portfile          |  16 ++-
 6 files changed, 231 insertions(+), 172 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc9/Portfile b/lang/gcc10/Portfile
</span>similarity index 92%
copy from lang/gcc9/Portfile
copy to lang/gcc10/Portfile
<span style='display:block; white-space:pre;color:#808080;'>index d56a493..6210697 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc9/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,11 +4,11 @@ PortSystem                                      1.0
</span> PortGroup           select                      1.0
 PortGroup           compiler_blacklist_versions 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch               2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-name                gcc9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch               3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                gcc10
</span> version             9-20190428
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-subport             libgcc-devel { revision 1 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport             libgcc-devel { revision 2 }
</span> platforms           darwin
 categories          lang
 maintainers         nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,11 +78,6 @@ configure.args      --enable-languages=c,c++,objc,obj-c++,lto,fortran \
</span>                     --with-ar=${prefix}/bin/ar \
                     --with-bugurl=https://trac.macports.org/newticket
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# sanitizers fail to build on OSX10.6, so just skip them.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} <= 10 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append --disable-libsanitizer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # see https://lists.macports.org/pipermail/macports-dev/2017-August/036209.html
 # --disable-tls does not limit functionality
 # it only determines how std::call_once works
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -156,19 +151,25 @@ destroot.target     install install-info-host
</span> 
 # Is this gcc release supported here.
 pre-fetch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${os.major} < 10 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${os.major} < 11 } {
</span>         ui_error "${name} ${version} is not supported on Darwin ${os.major}"
         return -code error "incompatible OS X version"
     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# dylibs to install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# doesn't know how to change the id of stubs, and it's easier than recreating them for each
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# gcc port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.5.dylib libubsan.1.dylib libatomic.1.dylib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {${subport} eq "libgcc-devel"} {
 
     # Set conflict against port providing primary runtime
     if { ${os.major} < 10 } {
         conflicts libgcc7
     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        conflicts libgcc8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        conflicts libgcc9
</span>     }
 
     # http://trac.macports.org/ticket/35770
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -211,14 +212,12 @@ if {${subport} eq "libgcc-devel"} {
</span>     #build.target        all
 
     post-destroot {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span>         file mkdir ${destroot}${prefix}/lib/libgcc.merged
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # doesn't know how to change the id of stubs, and it's easier than recreating them for each
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # gcc port.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.5.dylib libubsan.1.dylib libatomic.1.dylib}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # loop over libs to install
</span>         foreach dylib ${dylibs} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            
</span>             # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
             # https://trac.macports.org/ticket/40098
             # https://trac.macports.org/ticket/40100
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -259,7 +258,9 @@ if {${subport} eq "libgcc-devel"} {
</span>     }
 
 } else {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     post-destroot {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>         file delete ${destroot}${prefix}/share/info/dir
 
         foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -269,7 +270,8 @@ if {${subport} eq "libgcc-devel"} {
</span>             file rename ${file} ${newfile}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.5.dylib libubsan.1.dylib libatomic.1.dylib} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # loop over libs to install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach dylib ${dylibs} {
</span>             # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
             # https://trac.macports.org/ticket/40098
             # https://trac.macports.org/ticket/40100
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -287,6 +289,7 @@ if {${subport} eq "libgcc-devel"} {
</span>                 }
             }
         }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     }
 
     select.group        gcc
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10/files/mp-gcc10 b/lang/gcc10/files/mp-gcc10
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..326a35e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10/files/mp-gcc10
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/gcc-mp-10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/cpp-mp-10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/c++-mp-10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/g++-mp-10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/gcov-mp-10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/gfortran-mp-10
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc7/Portfile b/lang/gcc7/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 25bc91b..ddfd944 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc7/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc7/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,9 +1,9 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup select 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup xcodeversion 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem                             1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup select                       1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup compiler_blacklist_versions  1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup xcodeversion                 1.0
</span> 
 name                gcc7
 epoch               3
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,6 +23,8 @@ long_description    The GNU compiler collection, including front ends for \
</span> 
 homepage            https://gcc.gnu.org/
 master_sites        ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/releases/gcc-${version}/ \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    http://mirror.koddos.net/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gcc/gcc-${version}/ \
</span>                     ftp://ftp.gwdg.de/pub/linux/gcc/releases/gcc-${version}/ \
                     ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/ \
                     ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/ \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -176,6 +178,9 @@ use_parallel_build  yes
</span> 
 destroot.target     install install-info-host
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# List of all dylibs to possibly be installed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set alldylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.4.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.4.dylib libubsan.0.dylib libcilkrts.5.dylib libatomic.1.dylib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {${subport} eq "libgcc7"} {
 
     # If providing the primary runtime, add conflict against libgcc-devel
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -249,7 +254,7 @@ if {${subport} eq "libgcc7"} {
</span>         # gcc port.
         if { ${isLastSupported} } {
             # Install all
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.4.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.4.dylib libubsan.0.dylib libcilkrts.5.dylib libatomic.1.dylib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set dylibs ${alldylibs}
</span>         } else {
             # Only install those not in newer libgcc builds
             set dylibs {libgfortran.4.dylib libquadmath.0.dylib libasan.4.dylib libubsan.0.dylib libcilkrts.5.dylib}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -314,7 +319,7 @@ if {${subport} eq "libgcc7"} {
</span>             file rename ${file} ${newfile}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.4.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.4.dylib libubsan.0.dylib libcilkrts.5.dylib libatomic.1.dylib} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach dylib ${alldylibs} {
</span>             # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
             # https://trac.macports.org/ticket/40098
             # https://trac.macports.org/ticket/40100
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc8/Portfile b/lang/gcc8/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 36d46d4..55a5daf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,17 +1,15 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup select 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup xcodeversion 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem                             1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup select                       1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup compiler_blacklist_versions  1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup xcodeversion                 1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch               3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch               4
</span> name                gcc8
 version             8.3.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# warning : Due to past problems avoid revisions 1 and 2 with 8.3.0.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# If this version needs to be bumped in the future, go to 3.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-subport             libgcc8 { revision 0 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport             libgcc8 { revision 3 }
</span> platforms           darwin
 categories          lang
 maintainers         nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,6 +21,8 @@ long_description    The GNU compiler collection, including front ends for \
</span> 
 homepage            https://gcc.gnu.org/
 master_sites        ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/releases/gcc-${version}/ \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    http://mirror.koddos.net/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gcc/gcc-${version}/ \
</span>                     ftp://ftp.gwdg.de/pub/linux/gcc/releases/gcc-${version}/ \
                     ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/ \
                     ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/ \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,6 +35,12 @@ checksums           rmd160  59396f7136301466d0ec15eb7307558c0da692df \
</span>                     sha256  64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c \
                     size    63694700
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Check if this is the last supported gcc version for this system.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# If it is, libgcc8 installs a full runtime, otherwise it only installs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# what is missing from newer libgccX builds.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# NOTE : The logic here must match that in the libgcc port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set isLastSupported [ expr ${os.major} < 11 ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_lib         port:cctools \
                     port:gmp \
                     path:lib/pkgconfig/isl.pc:isl \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,8 +49,12 @@ depends_lib         port:cctools \
</span>                     port:libmpc \
                     port:mpfr \
                     port:zlib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_run         port:gcc_select \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    path:lib/libgcc/libgcc_s.1.dylib:libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run         port:gcc_select 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${isLastSupported} } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append  path:lib/libgcc/libgcc_s.1.dylib:libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append  port:libgcc8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 depends_skip_archcheck-append gcc_select ld64 cctools
 license_noconflict  gmp mpfr ppl libmpc zlib
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -163,120 +173,127 @@ pre-build {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "libgcc8"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# list of dylibs to be installed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# doesn't know how to change the id of stubs, and it's easier than recreating them for each
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# gcc port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.5.dylib libubsan.1.dylib libatomic.1.dylib}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Always provides primary runtime so always in conflict
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts libgcc-devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Activate hack for new libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://trac.macports.org/wiki/PortfileRecipes#deactivatehack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    pre-activate {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![catch {set installed [lindex [registry_active libgcc] 0]}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Extract the epoch of the installed libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set _epoch [lindex $installed 5]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # If < 3 need to deactivate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[vercmp $_epoch 3] < 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                registry_deactivate_composite libgcc "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![catch {set installed [lindex [registry_active libgcc-devel] 0]}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Extract the epoch of the installed libgcc-devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set _epoch [lindex $installed 5]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # If < 2 need to deactivate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[vercmp $_epoch 2] < 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                registry_deactivate_composite libgcc-devel "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # http://trac.macports.org/ticket/35770
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # http://trac.macports.org/ticket/38814
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # While there can be multiple versions of these runtimes in a single
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # process, it is not possible to pass objects between different versions,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # so we simplify this by having the libgcc port provide the newest version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # of these runtimes for all versions of gcc to use.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # If there is a binary incompatible change to the runtime in a future
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # version of gcc, then the latest version of gcc to provide a given ABI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # version should continue to provide a subport for that and older gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # versions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_run
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-delete   port:zlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append {*}${depends_lib}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib          port:zlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --libdir=${prefix}/lib/${name} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --libdir=${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # see https://trac.macports.org/ticket/54766
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --includedir=${prefix}/include/${name} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --includedir=${prefix}/include/gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --with-gxx-include-dir=${prefix}/include/${name}/c++/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --with-gxx-include-dir=${prefix}/include/gcc/c++/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # TODO: Possibly disable bootstrap with appropriate configure flags.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #       the problem is that libstdc++'s configure script tests for tls support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #       using the running compiler (not gcc for which libstdc++ is being built).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #       Thus when we build with clang, we get a mismatch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # http://trac.macports.org/ticket/36116
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #compiler.blacklist-append {clang < 425}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #configure.args-append --disable-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #build.target        all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mkdir ${destroot}${prefix}/lib/libgcc.merged
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # doesn't know how to change the id of stubs, and it's easier than recreating them for each
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # gcc port.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.5.dylib libubsan.1.dylib libatomic.1.dylib}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach dylib ${dylibs} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # https://trac.macports.org/ticket/40098
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # https://trac.macports.org/ticket/40100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {! [file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                continue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq "libgcc8"} {
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    if {[file exists ${archdir}/${dylib}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        system "install_name_tool -id ${prefix}/lib/libgcc/${dylib} ${archdir}/${dylib}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        foreach link [glob -tails -directory ${archdir} *.dylib] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            system "install_name_tool -change ${archdir_nodestroot}${link} ${prefix}/lib/libgcc/${link} ${archdir}/${dylib}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Are we providing the full main runtime ?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${isLastSupported} } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Always provides primary runtime so always in conflict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        conflicts libgcc-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # http://trac.macports.org/ticket/35770
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # http://trac.macports.org/ticket/38814
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # While there can be multiple versions of these runtimes in a single
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # process, it is not possible to pass objects between different versions,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # so we simplify this by having the libgcc port provide the newest version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # of these runtimes for all versions of gcc to use.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # If there is a binary incompatible change to the runtime in a future
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # version of gcc, then the latest version of gcc to provide a given ABI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # version should continue to provide a subport for that and older gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_run
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-delete   port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append {*}${depends_lib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib          port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --libdir=${prefix}/lib/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --libdir=${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # see https://trac.macports.org/ticket/54766
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --includedir=${prefix}/include/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --includedir=${prefix}/include/gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --with-gxx-include-dir=${prefix}/include/${name}/c++/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --with-gxx-include-dir=${prefix}/include/gcc/c++/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # TODO: Possibly disable bootstrap with appropriate configure flags.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #       the problem is that libstdc++'s configure script tests for tls support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #       using the running compiler (not gcc for which libstdc++ is being built).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #       Thus when we build with clang, we get a mismatch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # http://trac.macports.org/ticket/36116
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #compiler.blacklist-append {clang < 425}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #configure.args-append --disable-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #build.target        all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file mkdir ${destroot}${prefix}/lib/libgcc.merged
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            foreach dylib ${dylibs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # https://trac.macports.org/ticket/40098
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # https://trac.macports.org/ticket/40100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {! [file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    continue
</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;'>+                move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        if {[file exists ${archdir}/${dylib}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            system "install_name_tool -id ${prefix}/lib/libgcc/${dylib} ${archdir}/${dylib}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            foreach link [glob -tails -directory ${archdir} *.dylib] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                system "install_name_tool -change ${archdir_nodestroot}${link} ${prefix}/lib/libgcc/${link} ${archdir}/${dylib}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            system "lipo -create -output ${destroot}${prefix}/lib/libgcc.merged/${dylib}~ ${destroot}${prefix}/lib/libgcc.merged/${dylib} ${archdir}/${dylib} && mv ${destroot}${prefix}/lib/libgcc.merged/${dylib}~ ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
</span>                         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        system "lipo -create -output ${destroot}${prefix}/lib/libgcc.merged/${dylib}~ ${destroot}${prefix}/lib/libgcc.merged/${dylib} ${archdir}/${dylib} && mv ${destroot}${prefix}/lib/libgcc.merged/${dylib}~ ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
</span>                     }
                 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # strip debug symbols to supress debugger warnings:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # http://trac.macports.org/attachment/ticket/34831
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {! [string match *libgcc_ext* ${dylib}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    system "strip -x ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span>             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # strip debug symbols to supress debugger warnings:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # http://trac.macports.org/attachment/ticket/34831
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {! [string match *libgcc_ext* ${dylib}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                system "strip -x ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete -force ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete -force ${destroot}${prefix}/share
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete -force ${destroot}${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete -force ${destroot}${prefix}/libexec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            move ${destroot}${prefix}/lib/libgcc.merged ${destroot}${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # For binary compatibility with binaries that linked against the old libstdcxx port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ln -s libgcc/libstdc++.6.dylib ${destroot}${prefix}/lib/libstdc++.6.dylib
</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;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # gcc8 runtime versions are identical to that in gcc9, so libgcc8 does not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # need to provide anything, hence do not build anything.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # port still defined as needed to satisfy dependency tree
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_run port:libgcc9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        fetch.type    none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build         { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        use_configure no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set doc_dir ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 755 -d ${doc_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "echo ${subport} provides no runtime > ${doc_dir}/README"
</span>         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${prefix}/share
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${prefix}/libexec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        move ${destroot}${prefix}/lib/libgcc.merged ${destroot}${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # For binary compatibility with binaries that linked against the old libstdcxx port
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s libgcc/libstdc++.6.dylib ${destroot}${prefix}/lib/libstdc++.6.dylib
</span>     }
 
 } else {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     post-destroot {
         file delete ${destroot}${prefix}/share/info/dir
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -287,7 +304,7 @@ if {${subport} eq "libgcc8"} {
</span>             file rename ${file} ${newfile}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.5.dylib libubsan.1.dylib libatomic.1.dylib} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach dylib ${dylibs} {
</span>             # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
             # https://trac.macports.org/ticket/40098
             # https://trac.macports.org/ticket/40100
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc9/Portfile b/lang/gcc9/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d56a493..989fbbf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc9/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc9/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,9 +6,9 @@ PortGroup           compiler_blacklist_versions 1.0
</span> 
 epoch               2
 name                gcc9
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             9-20190428
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-subport             libgcc-devel { revision 1 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             9.1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport             libgcc9 { revision 0 }
</span> platforms           darwin
 categories          lang
 maintainers         nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,16 +20,21 @@ long_description    The GNU compiler collection, including front ends for \
</span>                     This is a prerelease BETA version!
 
 homepage            https://gcc.gnu.org/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ftp://gcc.gnu.org/pub/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    http://mirror.koddos.net/gcc/snapshots/${version}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    http://mirror.koddos.net/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gcc/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    https://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.gnu.org/gcc/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ftp://ftp.gwdg.de/pub/linux/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    gnu:gcc/gcc-${version}
</span> 
 distname            gcc-${version}
 use_xz              yes
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  57abc9782257357318747b4db7fe211f86597252 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  6b75ad6fedcc1c4fad77283d440a2816cccc859200d98329949d2eb1397fa590 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    68747260
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  b9dd53082905c4ca2f7f8291af1e4d015bc97d39 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    70546856
</span> 
 depends_lib         port:cctools \
                     port:gmp \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -40,7 +45,7 @@ depends_lib         port:cctools \
</span>                     port:mpfr \
                     port:zlib
 depends_run         port:gcc_select \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:libgcc-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/libgcc/libgcc_s.1.dylib:libgcc
</span> 
 depends_skip_archcheck-append gcc_select ld64 cctools
 license_noconflict  gmp mpfr ppl libmpc zlib
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,11 +83,6 @@ configure.args      --enable-languages=c,c++,objc,obj-c++,lto,fortran \
</span>                     --with-ar=${prefix}/bin/ar \
                     --with-bugurl=https://trac.macports.org/newticket
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# sanitizers fail to build on OSX10.6, so just skip them.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} <= 10 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append --disable-libsanitizer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # see https://lists.macports.org/pipermail/macports-dev/2017-August/036209.html
 # --disable-tls does not limit functionality
 # it only determines how std::call_once works
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -156,19 +156,42 @@ destroot.target     install install-info-host
</span> 
 # Is this gcc release supported here.
 pre-fetch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${os.major} < 10 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${os.major} < 11 } {
</span>         ui_error "${name} ${version} is not supported on Darwin ${os.major}"
         return -code error "incompatible OS X version"
     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "libgcc-devel"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Set conflict against port providing primary runtime
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${os.major} < 10 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        conflicts libgcc7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        conflicts libgcc8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# List of dylibs to be installed 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# doesn't know how to change the id of stubs, and it's easier than recreating them for each
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# gcc port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.5.dylib libubsan.1.dylib libatomic.1.dylib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq "libgcc9"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Always provides primary runtime so always in conflict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts libgcc-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Activate hack for new libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://trac.macports.org/wiki/PortfileRecipes#deactivatehack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![catch {set installed [lindex [registry_active libgcc8] 0]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Extract the epoch of the installed libgcc8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set _epoch [lindex $installed 5]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # If < 4 need to deactivate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[vercmp $_epoch 4] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                registry_deactivate_composite libgcc8 "" [list ports_nodepcheck 1]
</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;'>+        if {![catch {set installed [lindex [registry_active libgcc-devel] 0]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Extract the epoch of the installed libgcc-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set _epoch [lindex $installed 5]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # If < 3 need to deactivate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[vercmp $_epoch 3] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                registry_deactivate_composite libgcc-devel "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
 
     # http://trac.macports.org/ticket/35770
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -211,13 +234,9 @@ if {${subport} eq "libgcc-devel"} {
</span>     #build.target        all
 
     post-destroot {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span>         file mkdir ${destroot}${prefix}/lib/libgcc.merged
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # doesn't know how to change the id of stubs, and it's easier than recreating them for each
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # gcc port.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.5.dylib libubsan.1.dylib libatomic.1.dylib}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>         foreach dylib ${dylibs} {
             # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
             # https://trac.macports.org/ticket/40098
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -259,7 +278,9 @@ if {${subport} eq "libgcc-devel"} {
</span>     }
 
 } else {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span>     post-destroot {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>         file delete ${destroot}${prefix}/share/info/dir
 
         foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -269,7 +290,7 @@ if {${subport} eq "libgcc-devel"} {
</span>             file rename ${file} ${newfile}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.5.dylib libubsan.1.dylib libatomic.1.dylib} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach dylib ${dylibs} {
</span>             # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
             # https://trac.macports.org/ticket/40098
             # https://trac.macports.org/ticket/40100
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libgcc/Portfile b/lang/libgcc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4684b9c..c19e09d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libgcc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libgcc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +1,13 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup select 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup select    1.0
</span> 
 epoch               3
 name                libgcc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             2.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           libgcc-devel
</span> 
 categories          lang
 maintainers         nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,9 +29,13 @@ homepage            https://www.macports.org/
</span> # Pick the gcc version that provides the primary runtime.
 # NOTE : The logic here must match that in the gccX ports.
 if { ${os.major} < 10 } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   set gcc_version 7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gcc_version 7
</span> } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   set gcc_version 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${os.major} < 11 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set gcc_version 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set gcc_version 9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 depends_lib port:libgcc${gcc_version}
 
</pre><pre style='margin:0'>

</pre>