<pre style='margin:0'>
Jeremy Huddleston Sequoia (jeremyhu) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/3b0760b1b91f647d8bc2500617c222003af34732">https://github.com/macports/macports-ports/commit/3b0760b1b91f647d8bc2500617c222003af34732</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 3b0760b1b91f647d8bc2500617c222003af34732
</span>Author: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
AuthorDate: Mon Jul 20 00:11:09 2020 -0700

<span style='display:block; white-space:pre;color:#404040;'>    gmp: Add support for Apple Silicon
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
</span>---
 devel/gmp/Portfile | 33 ++++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/gmp/Portfile b/devel/gmp/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 462f668f4a6..b671237f970 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/gmp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/gmp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -95,7 +95,7 @@ test.target     check
</span> variant native description {Build optimized for your machine's specific processor} {
     archive_sites
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset native]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset native] && ${os.arch} ne "arm64"} {
</span>     set auto_cpu true
 } else {
     set auto_cpu false
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -127,7 +127,7 @@ if { ${auto_cpu} } {
</span>     pre-configure {
         set build_triplet [split [exec -ignorestderr /usr/bin/env CC=${configure.cc} ${worksrcpath}/config.guess] -]
         set build_cpu     [lindex $build_triplet 0]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if { ${build_cpu} eq "x86_64" || ${build_cpu} eq "i386" || ${build_cpu} eq "powerpc64" || ${build_cpu} eq "powerpc" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { ${build_cpu} eq "x86_64" || ${build_cpu} eq "i386" || ${build_cpu} eq "powerpc64" || ${build_cpu} eq "powerpc"} {
</span>             ui_warn "No processor dependent assembly code being used. gmp might be slower."
         }
     }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -143,21 +143,29 @@ if {${os.platform} eq "darwin" && ${os.major} < 10 && [string match *clang* ${co
</span> }
 
 if {![variant_isset universal]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${build_arch} eq "x86_64"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.env-append   ABI=64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${build_arch} eq "i386" || ${build_arch} eq "ppc"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.env-append   ABI=32
</span>     } elseif {${build_arch} eq "ppc64"} {
         configure.env-append   ABI=mode64
     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.env-append   ABI=32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.env-append   ABI=64
</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 {${build_arch} eq "arm64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Doesn't yet support Apple Silicon
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append --disable-assembly
</span>     }
 
     set uname_processor ""
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${os.arch} eq "i386" && ( ${build_arch} eq "ppc" || ${build_arch} eq "ppc64" ) } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${os.arch} ne "powerpc" && ( ${build_arch} eq "ppc" || ${build_arch} eq "ppc64" ) } {
</span>         set uname_processor powerpc
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${os.arch} eq "powerpc" && ( ${build_arch} eq "i386" || ${build_arch} eq "x86_64" ) } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${os.arch} ne "i386" && ( ${build_arch} eq "i386" || ${build_arch} eq "x86_64" ) } {
</span>         set uname_processor i386
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${os.arch} ne "arm64" && ( ${build_arch} eq "arm64" ) } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set uname_processor arm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
     if {${uname_processor} ne ""} {
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -177,6 +185,9 @@ if {![variant_isset universal]} {
</span>             if {${build_arch} eq "x86_64" && (${os.major} < 9 || [sysctl hw.cpu64bit_capable] == 0)} {
                 set build_processor x86_64
             }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${build_arch} eq "arm64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set build_processor aarch64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span>         } else {
             if {${build_arch} eq "i386"} {
                 set build_processor i686
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -209,6 +220,7 @@ if {![variant_isset universal]} {
</span>             i386    { set processor pentiumm }
             ppc     { set processor powerpc750 }
             ppc64   { set processor powerpc970 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            arm64   { set processor aarch64 }
</span>             default { set processor "" }
         }
         if {$processor ne ""} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -226,6 +238,7 @@ if {![variant_isset universal]} {
</span>         i386    ABI=32
         ppc64   ABI=mode64
         x86_64  ABI=64
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        arm64   ABI=64
</span>     }
 
     # Since CFLAGS and CXXFLAGS must be empty, append -arch ... to CC and CXX.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -241,6 +254,8 @@ if {![variant_isset universal]} {
</span>             set archf ""
         } elseif {${os.arch} eq "powerpc" && (${arch} eq "ppc" && ${arch} eq "ppc64")} {
             set archf ""
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        } elseif {${os.arch} eq "arm64" && (${arch} eq "arm64")} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set archf ""
</span>         } else {
             set archf "-arch ${arch}"
         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -257,12 +272,16 @@ if {![variant_isset universal]} {
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Doesn't yet support Apple Silicon
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    lappend merger_configure_args(arm64) --disable-assembly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     # For cross-compiling, set C compiler and pre-processor.
     if {${os.arch} eq "i386"} {
         if { ${os.major} >= 10 } {
             lappend merger_configure_env(ppc)  CC_FOR_BUILD=${configure.cc} CPP_FOR_BUILD=${configure.cpp}
         }
         lappend merger_configure_env(ppc64)    CC_FOR_BUILD=${configure.cc} CPP_FOR_BUILD=${configure.cpp}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        lappend merger_configure_env(arm64)    CC_FOR_BUILD=${configure.cc} CPP_FOR_BUILD=${configure.cpp}
</span>     } else {
         lappend merger_configure_env(i386)     CC_FOR_BUILD=${configure.cc} CPP_FOR_BUILD=${configure.cpp}
         lappend merger_configure_env(x86_64)   CC_FOR_BUILD=${configure.cc} CPP_FOR_BUILD=${configure.cpp}
</pre><pre style='margin:0'>

</pre>