<pre style='margin:0'>
Mojca Miklavec (mojca) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/86a3a9f3163877e1bc842a0e6c6341fc6536a283">https://github.com/macports/macports-ports/commit/86a3a9f3163877e1bc842a0e6c6341fc6536a283</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 86a3a9f3163877e1bc842a0e6c6341fc6536a283
</span>Author: Mojca Miklavec <mojca@macports.org>
AuthorDate: Wed Nov 22 14:30:12 2017 +0100
<span style='display:block; white-space:pre;color:#404040;'> mingw-w64: add support for posix threads & OpenMP
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> * new subports: {i686|x86_64}-w64-mingw32-winpthreads
</span><span style='display:block; white-space:pre;color:#404040;'> * *-gcc renamed to *-gcc-nothreads for compiler without POSIX threads
</span><span style='display:block; white-space:pre;color:#404040;'> * *-gcc now supports POSIX threads
</span><span style='display:block; white-space:pre;color:#404040;'> * enable libgomp / support for OpenMP
</span><span style='display:block; white-space:pre;color:#404040;'> * remove binutils as dependency (already added by the portgroup)
</span><span style='display:block; white-space:pre;color:#404040;'> * add missing categories
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/55265
</span>---
cross/i686-w64-mingw32-gcc/Portfile | 55 ++++++++++++++++++++++-------------
cross/mingw-w64/Portfile | 55 ++++++++++++++++++++++++++++-------
cross/x86_64-w64-mingw32-gcc/Portfile | 55 ++++++++++++++++++++++-------------
3 files changed, 114 insertions(+), 51 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/cross/i686-w64-mingw32-gcc/Portfile b/cross/i686-w64-mingw32-gcc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5edb94d..a888e2d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/cross/i686-w64-mingw32-gcc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/cross/i686-w64-mingw32-gcc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14,9 +14,9 @@ dist_subdir gcc[lindex [split ${version} .] 0]
</span>
maintainers {mojca @mojca} openmaintainer
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # these are build + runtime dependencies
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:${mingw_target}-binutils \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:${mingw_target}-headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# these are build + runtime dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (binutils are already added by the portgroup)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append port:${mingw_target}-headers
</span> # not sure if useful:
# port:cloog
# port:ppl
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,34 +45,49 @@ configure.args-append \
</span> # Installs libgcc/libstdc++ and other target support libraries in such a
# way that multiple GCC installs can coexist simultaneously.
# (add once you have the default working as it needs some extra tweaking)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# --enable-libgomp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Enable OpenMP support, it is not enabled by default on MinGW platforms.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Requires pthreads-win32 (target) installed.
</span>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# First bootstrapping phase
</span> subport ${mingw_target}-gcc-bootstrap {
build.target all-gcc
destroot.target install-gcc
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Supporting pthread requires an additional bootstrapping phase:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# subport ${mingw_target}-libgcc {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# depends_lib-append port:${mingw_target}-crt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# depends_build-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# build.target all-target-libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# destroot.target install-target-libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# # move libgcc_*.dll to a more suitable place
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Second bootstrapping phase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport ${mingw_target}-gcc-nothreads {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # these two are not needed since we are not yet requesting posix threads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # build.target all-target-libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # destroot.target install-target-libgcc
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq ${name}} {
</span> depends_lib-append port:${mingw_target}-crt
depends_build-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
<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;'>+# Final phase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq ${name}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 1
</span>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:${mingw_target}-crt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:${mingw_target}-winpthreads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append path:${mingw_target}/lib/libgcc_s.a:${mingw_target}-gcc-nothreads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --enable-threads=posix \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libgomp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # TODO: and add notes how to fix wine in regedit
</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 {${subport} ne "${name}-bootstrap"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move {*}[glob ${destroot}${prefix}/${mingw_target}/lib/*.dll] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/${mingw_target}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> pre-activate {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set gcc ${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![catch {set installed [lindex [registry_active ${gcc}] 0]}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- registry_deactivate_composite ${gcc} "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach flavour {gcc-bootstrap gcc-nothreads gcc} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set gcc ${mingw_target}-${flavour}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![catch {set installed [lindex [registry_active ${gcc}] 0]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ registry_deactivate_composite ${gcc} "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
}
}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/cross/mingw-w64/Portfile b/cross/mingw-w64/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2770e8b..6b997ab 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/cross/mingw-w64/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/cross/mingw-w64/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,6 +8,7 @@ set mingw_name w64-mingw32
</span>
platforms darwin
license ZPL-2.1
<span style='display:block; white-space:pre;background:#e0ffe0;'>+categories cross devel
</span> maintainers {mojca @mojca} openmaintainer
description GCC cross-compiler for Windows 64 & 32 bits
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,16 +25,23 @@ configure.dir ${workpath}/build
</span> build.dir ${configure.dir}
post-extract { file mkdir "${build.dir}" }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# create four subports:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# create six subports:
</span> # - i686-w64-mingw32-headers
# - i686-w64-mingw32-crt
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# - i686-w64-mingw32-winpthreads
</span> # - x86_64-w64-mingw32-headers
# - x86_64-w64-mingw32-crt
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# - x86_64-w64-mingw32-winpthreads
</span> foreach arch {i686 x86_64} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach component {crt headers} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach component {crt headers winpthreads} {
</span> subport ${arch}-${mingw_name}-${component} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set mingw_arch ${arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set mingw_dir ${component}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mingw_arch ${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mingw_comp ${component}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${component} eq "winpthreads"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mingw_dir mingw-w64-libraries/${component}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mingw_dir mingw-w64-${component}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
}
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,26 +49,51 @@ foreach arch {i686 x86_64} {
</span> if {${subport} ne ${name}} {
set mingw_target ${mingw_arch}-${mingw_name}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.cmd ${worksrcpath}/mingw-w64-${mingw_dir}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cmd ${worksrcpath}/${mingw_dir}/configure
</span> configure.pre_args-replace --prefix=${prefix} --prefix=${prefix}/${mingw_target}
configure.args-append --host=${mingw_target}
# *-headers subports
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${mingw_dir} eq "headers"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${mingw_comp} eq "headers"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 1
</span> supported_archs noarch
<span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # *-crt subports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${mingw_dir} eq "crt"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # winpthreads install three files which conflict with placeholders provided by "headers"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # a relatively ugly workaround is to copy those three files from "winpthreads" to "headers"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # and then delete them from "winpthreads" again
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach f {signal time unistd} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set f_src ${worksrcpath}/mingw-w64-libraries/winpthreads/include/pthread_${f}.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set f_dest ${worksrcpath}/${mingw_dir}/crt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy -force ${f_src} ${f_dest}
</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;'>+ # *-crt and *-winpthreads subports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span> # We only need a dependency on either of the two GCC compilers:
# - ${mingw_target}-gcc-bootstrap
# - ${mingw_target}-gcc
# to build. The rest of dependencies (*-headers, *-binutils)
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # are pulled in by either of those two ports.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # are pulled in by one of those two ports.
</span> #
# Runtime dependency on GCC is not added to avoid dependency cycles,
# but in fact it's GCC that needs CRT at runtime, not the other way around.
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${mingw_comp} eq "crt"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # *-winpthreads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # winpthreads needs at least stage 2 compiler (or the final one)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append path:${mingw_target}/lib/libgcc_s.a:${mingw_target}-gcc-nothreads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # see above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach f {signal time unistd} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${destroot}${prefix}/${mingw_target}/include/pthread_${f}.h
</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:#e0ffe0;'>+
</span> #depends_run-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
#depends_lib-append port:${mingw_target}-binutils
#depends_lib-append port:${mingw_target}-headers
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/cross/x86_64-w64-mingw32-gcc/Portfile b/cross/x86_64-w64-mingw32-gcc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index cc00cdb..8b331a5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/cross/x86_64-w64-mingw32-gcc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/cross/x86_64-w64-mingw32-gcc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14,9 +14,9 @@ dist_subdir gcc[lindex [split ${version} .] 0]
</span>
maintainers {mojca @mojca} openmaintainer
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # these are build + runtime dependencies
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:${mingw_target}-binutils \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:${mingw_target}-headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# these are build + runtime dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (binutils are already added by the portgroup)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append port:${mingw_target}-headers
</span> # not sure if useful:
# port:cloog
# port:ppl
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,34 +45,49 @@ configure.args-append \
</span> # Installs libgcc/libstdc++ and other target support libraries in such a
# way that multiple GCC installs can coexist simultaneously.
# (add once you have the default working as it needs some extra tweaking)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# --enable-libgomp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Enable OpenMP support, it is not enabled by default on MinGW platforms.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Requires pthreads-win32 (target) installed.
</span>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# First bootstrapping phase
</span> subport ${mingw_target}-gcc-bootstrap {
build.target all-gcc
destroot.target install-gcc
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Supporting pthread requires an additional bootstrapping phase:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# subport ${mingw_target}-libgcc {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# depends_lib-append port:${mingw_target}-crt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# depends_build-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# build.target all-target-libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# destroot.target install-target-libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# # move libgcc_*.dll to a more suitable place
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Second bootstrapping phase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport ${mingw_target}-gcc-nothreads {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # these two are not needed since we are not yet requesting posix threads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # build.target all-target-libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # destroot.target install-target-libgcc
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq ${name}} {
</span> depends_lib-append port:${mingw_target}-crt
depends_build-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
<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;'>+# Final phase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq ${name}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 1
</span>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:${mingw_target}-crt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:${mingw_target}-winpthreads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append path:${mingw_target}/lib/libgcc_s.a:${mingw_target}-gcc-nothreads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --enable-threads=posix \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libgomp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # TODO: and add notes how to fix wine in regedit
</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 {${subport} ne "${name}-bootstrap"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move {*}[glob ${destroot}${prefix}/${mingw_target}/lib/*.dll] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/${mingw_target}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> pre-activate {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set gcc ${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![catch {set installed [lindex [registry_active ${gcc}] 0]}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- registry_deactivate_composite ${gcc} "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach flavour {gcc-bootstrap gcc-nothreads gcc} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set gcc ${mingw_target}-${flavour}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![catch {set installed [lindex [registry_active ${gcc}] 0]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ registry_deactivate_composite ${gcc} "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
}
}
</pre><pre style='margin:0'>
</pre>