<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>