@@ -91,12 +91,37 @@ if [ "$(uname)" == "Darwin" ]; then
91
91
mac_target=${MACOSX_DEPLOYMENT_TARGET:- $(get_macosx_target)}
92
92
export MACOSX_DEPLOYMENT_TARGET=$mac_target
93
93
GFORTRAN_DMG=" ${GF_UTIL_DIR} /archives/gfortran-4.9.0-Mavericks.dmg"
94
- GFORTRAN_SHA=" $( shasum $GFORTRAN_DMG ) "
94
+ export GFORTRAN_SHA=" $( shasum $GFORTRAN_DMG ) "
95
95
96
+ function install_arm64_cross_gfortran {
97
+ curl -L -O https://github.com/isuruf/gcc/releases/download/gcc-10-arm-20210122/gfortran-darwin-arm64.tar.gz
98
+ export GFORTRAN_SHA=f10e307dd252f3ddfe0ad9cabd12c60dd206a9c5
99
+ if [[ " $( shasum gfortran-darwin-arm64.tar.gz) " != " ${GFORTRAN_SHA} gfortran-darwin-arm64.tar.gz" ]]; then
100
+ echo " shasum mismatch for gfortran-darwin-arm64"
101
+ exit 1
102
+ fi
103
+ sudo mkdir -p /opt/
104
+ sudo cp " gfortran-darwin-arm64.tar.gz" /opt/gfortran-darwin-arm64.tar.gz
105
+ pushd /opt
106
+ sudo tar -xvf gfortran-darwin-arm64.tar.gz
107
+ sudo rm gfortran-darwin-arm64.tar.gz
108
+ popd
109
+ export FC_ARM64=" $( find /opt/gfortran-darwin-arm64/bin -name " *-gfortran" ) "
110
+ local libgfortran=" $( find /opt/gfortran-darwin-arm64/lib -name libgfortran.dylib) "
111
+ local libdir=$( dirname $libgfortran )
112
+
113
+ export FC_ARM64_LDFLAGS=" -L$libdir -Wl,-rpath,$libdir "
114
+ if [[ " ${PLAT:- } " == " arm64" ]]; then
115
+ export FC=$FC_ARM64
116
+ fi
117
+ }
96
118
function install_gfortran {
97
119
hdiutil attach -mountpoint /Volumes/gfortran $GFORTRAN_DMG
98
120
sudo installer -pkg /Volumes/gfortran/gfortran.pkg -target /
99
121
check_gfortran
122
+ if [[ " ${PLAT:- } " == " universal2" || " ${PLAT:- } " == " arm64" ]]; then
123
+ install_arm64_cross_gfortran
124
+ fi
100
125
}
101
126
102
127
function get_gf_lib {
0 commit comments