<pre style='margin:0'>
Andrea D'Amore (anddam) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/f03d7616ab97d841555a16648bed837b8d54afae">https://github.com/macports/macports-ports/commit/f03d7616ab97d841555a16648bed837b8d54afae</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit f03d7616ab97d841555a16648bed837b8d54afae
</span>Author: Mojca Miklavec <mojca@macports.org>
AuthorDate: Tue Dec 13 12:51:57 2016 +0100
<span style='display:block; white-space:pre;color:#404040;'> mingw-w64: new cross-compiler for Windows
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Following:
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> * ${arch}-w64-mingw32-binutils
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> this completes the cross-compiler for Windows
</span><span style='display:block; white-space:pre;color:#404040;'> with the following subports:
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> * ${arch}-w64-mingw32-headers
</span><span style='display:block; white-space:pre;color:#404040;'> * ${arch}-w64-mingw32-crt
</span><span style='display:block; white-space:pre;color:#404040;'> * ${arch}-w64-mingw32-gcc-bootstrap
</span><span style='display:block; white-space:pre;color:#404040;'> * ${arch}-w64-mingw32-gcc
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> with `arch=i686|x86_64`.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> The first two ports come from the MinGW-w64 project, while GCC is compiled from
</span><span style='display:block; white-space:pre;color:#404040;'> original GCC sources. The `*-gcc-bootstrap` port is needed to compile `*-crt` and
</span><span style='display:block; white-space:pre;color:#404040;'> `*-gcc` itself.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Not (yet?) implemented:
</span><span style='display:block; white-space:pre;color:#404040;'> * support for Ada
</span><span style='display:block; white-space:pre;color:#404040;'> * support for pthreads-win32 & OpenMP
</span><span style='display:block; white-space:pre;color:#404040;'> * support for parallel installation of multiple GCC compilers
</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/40174
</span>---
cross/i686-w64-mingw32-gcc/Portfile | 81 +++++++++++++++++++++++++
cross/mingw-w64/Portfile | 107 ++++++++++++++++++++++++++++++++++
cross/x86_64-w64-mingw32-gcc/Portfile | 81 +++++++++++++++++++++++++
3 files changed, 269 insertions(+)
<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>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..6a6e5a1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</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;'>@@ -0,0 +1,81 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup crossgcc 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# keep in sync with x86_64-w64-mingw32-gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set mingw_name w64-mingw32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set mingw_arch i686
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set mingw_target ${mingw_arch}-${mingw_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+crossgcc.setup ${mingw_target} 6.2.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+crossgcc.languages {c c++ fortran objc obj-c++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir gcc6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers mojca openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 d9154ca51f40ae3ce42950a0476f701a9f86fc95 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+depends_lib-append port:${mingw_target}-binutils \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:${mingw_target}-headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# not sure if useful:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# port:cloog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# port:ppl
</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;'>+ --enable-multilib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-multilib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-shared \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-dwarf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fully-dynamic-string \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libssp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-lto \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libcc1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# without --disable-libcc1 the following files conflict:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ${prefix}/lib/x86_64/libcc1.(la|so|0.so)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# not sure if useful:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# --with-cloog=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# --with-ppl=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# TODO:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# --enable-version-specific-runtime-libs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Installs libgcc/libstdc++ and other target support libraries in such a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# way that multiple GCC installs can coexist simultaneously.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (add once you have the default working as it needs some extra tweaking)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# --enable-libgomp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Enable OpenMP support, it is not enabled by default on MinGW platforms.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Requires pthreads-win32 (target) installed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport ${mingw_target}-gcc-bootstrap {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.target all-gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.target install-gcc
</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;'>+# Supporting pthread requires an additional bootstrapping phase:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# subport ${mingw_target}-libgcc {
</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;'>+# depends_build-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</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:#e0ffe0;'>+# # move libgcc_*.dll to a more suitable place
</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} eq ${name}} {
</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;'>+ depends_build-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set gcc ${mingw_target}-gcc-bootstrap
</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;background:#e0ffe0;'>+ }
</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>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..f651b1c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</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;'>@@ -0,0 +1,107 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup mirror mingw-w64 5.0.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set mingw_name w64-mingw32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license ZPL-2.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers mojca openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description GCC cross-compiler for Windows 64 & 32 bits
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description Mingw-w64 is an advancement of the original mingw.org project, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ created to support the GCC compiler on Windows systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage http://mingw-w64.sourceforge.net/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 31f236afc1ea8013e1c0d0d0727daab35f1bccb8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 e83ddf0466ff584d36ebd3feffa87c1c332002bcb07e39ef796bb820465a1b28
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# needs an out-of-source build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.dir ${workpath}/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.dir ${configure.dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract { file mkdir "${build.dir}" }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# create four subports:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# - i686-w64-mingw32-headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# - i686-w64-mingw32-crt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# - x86_64-w64-mingw32-headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# - x86_64-w64-mingw32-crt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach arch {i686 x86_64} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach component {crt headers} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ subport ${arch}-${mingw_name}-${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_dir ${component}
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} ne ${name}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mingw_target ${mingw_arch}-${mingw_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cmd ${worksrcpath}/mingw-w64-${mingw_dir}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.pre_args-replace --prefix=${prefix} --prefix=${prefix}/${mingw_target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --host=${mingw_target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # *-headers subports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${mingw_dir} eq "headers"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ supported_archs noarch
</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 subports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${mingw_dir} eq "crt"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # We only need a dependency on either of the two GCC compilers:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # - ${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # - ${mingw_target}-gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # to build. The rest of dependencies (*-headers, *-binutils)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # are pulled in by either of those two ports.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Runtime dependency on GCC is not added to avoid dependency cycles,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # but in fact it's GCC that needs CRT at runtime, not the other way around.
</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;'>+ #depends_run-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #depends_lib-append port:${mingw_target}-binutils
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #depends_lib-append port:${mingw_target}-headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cppflags "-I${prefix}/${mingw_target}/include"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ----- copied from crossgcc (not sure if needed) ----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # the generated compiler doesn't accept -arch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cc_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.objc_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ld_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # the bootstrap compiler doesn't accept -stdlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx_stdlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # We don't need system includes(this prevents xgcc to include system-wide
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # unwind.h if it is present)!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler.cpath
</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;'>+ # is there a more elegant way?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cc ${prefix}/bin/${mingw_target}-gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx ${prefix}/bin/${mingw_target}-g++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cpp ${prefix}/bin/${mingw_target}-cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # configure.env-append PATH=...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # TODO: Is this also noarch? It uses object files, but probably only for windows.
</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;'>+ destroot.violate_mtree yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.type none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ description "GCC cross-compiler for Windows 64 & 32 bits (meta port)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_run port:i686-${mingw_name}-gcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:x86_64-${mingw_name}-gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_configure no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "echo $name is a stub port > ${destroot}${prefix}/share/doc/${name}/README"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ supported_archs noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><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>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..41a8720
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</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;'>@@ -0,0 +1,81 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup crossgcc 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# keep in sync with i686-w64-mingw32-gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set mingw_name w64-mingw32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set mingw_arch x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set mingw_target ${mingw_arch}-${mingw_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+crossgcc.setup ${mingw_target} 6.2.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+crossgcc.languages {c c++ fortran objc obj-c++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir gcc6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers mojca openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 d9154ca51f40ae3ce42950a0476f701a9f86fc95 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+depends_lib-append port:${mingw_target}-binutils \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:${mingw_target}-headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# not sure if useful:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# port:cloog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# port:ppl
</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;'>+ --enable-multilib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-multilib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-shared \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-dwarf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fully-dynamic-string \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-libssp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-lto \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libcc1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# without --disable-libcc1 the following files conflict:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ${prefix}/lib/x86_64/libcc1.(la|so|0.so)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# not sure if useful:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# --with-cloog=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# --with-ppl=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# TODO:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# --enable-version-specific-runtime-libs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Installs libgcc/libstdc++ and other target support libraries in such a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# way that multiple GCC installs can coexist simultaneously.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (add once you have the default working as it needs some extra tweaking)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# --enable-libgomp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Enable OpenMP support, it is not enabled by default on MinGW platforms.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Requires pthreads-win32 (target) installed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport ${mingw_target}-gcc-bootstrap {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.target all-gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.target install-gcc
</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;'>+# Supporting pthread requires an additional bootstrapping phase:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# subport ${mingw_target}-libgcc {
</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;'>+# depends_build-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</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:#e0ffe0;'>+# # move libgcc_*.dll to a more suitable place
</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} eq ${name}} {
</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;'>+ depends_build-append bin:${mingw_target}-gcc:${mingw_target}-gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set gcc ${mingw_target}-gcc-bootstrap
</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;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>
</pre>