11# Build script for manylinux and OSX
22BUILD_PREFIX=/usr/local
3- # OSX gfortran archive
4- GFORTRAN_DMG=" archives/gfortran-4.9.0-Mavericks.dmg"
53
64ROOT_DIR=$( dirname $( dirname " ${BASH_SOURCE[0]} " ) )
75source ${ROOT_DIR} /multibuild/common_utils.sh
8- source ${ROOT_DIR} /gfortran-install/gfortran_utils.sh
96
107MB_PYTHON_VERSION=3.9
118
129function before_build {
1310 # Manylinux Python version set in build_lib
1411 if [ -n " $IS_OSX " ]; then
12+ if [ ! -e /usr/local/lib ]; then
13+ sudo mkdir -p /usr/local/lib
14+ sudo chmod 777 /usr/local/lib
15+ touch /usr/local/lib/.dir_exists
16+ fi
17+ if [ ! -e /usr/local/include ]; then
18+ sudo mkdir -p /usr/local/include
19+ sudo chmod 777 /usr/local/include
20+ touch /usr/local/include/.dir_exists
21+ fi
1522 source ${ROOT_DIR} /multibuild/osx_utils.sh
1623 get_macpython_environment ${MB_PYTHON_VERSION} venv
17- source ${ROOT_DIR} /gfortran-install/gfortran_utils.sh
18- install_gfortran
24+ # Since install_fortran uses `uname -a` to determine arch,
25+ # force the architecture
26+ arch -${PLAT} bash -s << EOF
27+ source ${ROOT_DIR} /gfortran-install/gfortran_utils.sh
28+ install_gfortran
29+ EOF
1930 # Deployment target set by gfortran_utils
2031 echo " Deployment target $MACOSX_DEPLOYMENT_TARGET "
2132
@@ -89,7 +100,6 @@ function build_lib {
89100 #
90101 # Depends on globals
91102 # BUILD_PREFIX - install suffix e.g. "/usr/local"
92- # GFORTRAN_DMG
93103 # MB_ML_VER
94104 set -x
95105 local plat=${1:- $PLAT }
@@ -99,7 +109,7 @@ function build_lib {
99109 # Make directory to store built archive
100110 if [ -n " $IS_OSX " ]; then
101111 # Do build, add gfortran hash to end of name
102- wrap_wheel_builder do_build_lib " $plat " " gf_${GFORTRAN_SHA: 0: 7} " " $interface64 " " $nightly "
112+ do_build_lib " $plat " " gf_${GFORTRAN_SHA: 0: 7} " " $interface64 " " $nightly "
103113 return
104114 fi
105115 # Manylinux wrapper
@@ -155,6 +165,8 @@ function do_build_lib {
155165 local target=" CORE2"
156166 # Pick up the gfortran runtime libraries
157167 export DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH
168+ CFLAGS=" $CFLAGS -arch x86_64"
169+ export SDKROOT=${SDKROOT:- $(xcrun --show-sdk-path)}
158170 ;;
159171 * -i686)
160172 local bitness=32
@@ -168,7 +180,10 @@ function do_build_lib {
168180 Darwin-arm64)
169181 local bitness=64
170182 local target=" VORTEX"
171- CFLAGS=" $CFLAGS -ftrapping-math"
183+ CFLAGS=" $CFLAGS -ftrapping-math -mmacos-version-min=11.0"
184+ MACOSX_DEPLOYMENT_TARGET=" 11.0"
185+ export SDKROOT=${SDKROOT:- $(xcrun --show-sdk-path)}
186+ export DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH
172187 ;;
173188 * -s390x)
174189 local bitness=64
@@ -208,7 +223,7 @@ function do_build_lib {
208223 echo " Due to the qemu versions 7.2 causing utest cases to fail,"
209224 echo " the utest dsdot:dsdot_n_1 have been temporarily disabled."
210225 fi
211- if [ -v dynamic_list ]; then
226+ if [ -n " $ dynamic_list" ]; then
212227 CFLAGS=" $CFLAGS -fvisibility=protected -Wno-uninitialized" \
213228 make BUFFERSIZE=20 DYNAMIC_ARCH=1 QUIET_MAKE=1 \
214229 USE_OPENMP=0 NUM_THREADS=64 \
0 commit comments