File tree Expand file tree Collapse file tree 4 files changed +28
-19
lines changed Expand file tree Collapse file tree 4 files changed +28
-19
lines changed Original file line number Diff line number Diff line change @@ -153,7 +153,8 @@ tracker = "https://github.com/numpy/numpy/issues"
153
153
skip = " cp36-* cp37-* cp-38* pp37-* *-manylinux_i686 *_ppc64le *_s390x"
154
154
build-verbosity = " 3"
155
155
before-build = " bash {project}/tools/wheels/cibw_before_build.sh {project}"
156
- config-settings = " setup-args=-Duse-ilp64=true setup-args=-Dblas=openblas setup-args=-Dlapack=openblas setup-args=-Dblas-symbol-suffix=64_"
156
+ # The build will use openblas64 everywhere, except on arm64 macOS >=14.0 (uses Accelerate)
157
+ config-settings = " setup-args=-Duse-ilp64=true"
157
158
# meson has a hard dependency on ninja, and we need meson to build
158
159
# c-extensions in tests. There is a ninja PyPI package used in
159
160
# build_requirements.txt for macOS, windows, linux but it cannot be in
Original file line number Diff line number Diff line change @@ -55,30 +55,19 @@ linux_aarch64_task:
55
55
macosx_arm64_task :
56
56
use_compute_credits : $CIRRUS_USER_COLLABORATOR == 'true'
57
57
macos_instance :
58
- image : ghcr.io/cirruslabs/macos-monterey-xcode:14
58
+ matrix :
59
+ - image : ghcr.io/cirruslabs/macos-monterey-xcode:14
60
+ - image : ghcr.io/cirruslabs/macos-sonoma-xcode:15
59
61
matrix :
60
62
- env :
61
63
CIRRUS_CLONE_SUBMODULES : true
62
- CIBW_BUILD : cp39-*
63
- - env :
64
- CIRRUS_CLONE_SUBMODULES : true
65
- CIBW_BUILD : cp310-* cp311-*
64
+ CIBW_BUILD : cp39-* cp310-*
66
65
- env :
67
66
CIRRUS_CLONE_SUBMODULES : true
68
- CIBW_PRERELEASE_PYTHONS : True
69
- CIBW_BUILD : cp312-*
67
+ CIBW_BUILD : cp311-* cp312-*
70
68
env :
71
69
PATH : /opt/homebrew/opt/python@3.10/bin:/usr/local/lib:/usr/local/include:$PATH
72
70
CIBW_ARCHS : arm64
73
- # Specifying CIBW_ENVIRONMENT_MACOS overrides pyproject.toml, so include
74
- # all the settings from there, otherwise they're lost.
75
- # SDKROOT needs to be set for repackaged conda-forge gfortran compilers
76
- # supplied by isuruf.
77
- # Find out SDKROOT via `xcrun --sdk macosx --show-sdk-path`
78
- CIBW_ENVIRONMENT_MACOS : >
79
- RUNNER_OS=macOS
80
- SDKROOT=/Applications/Xcode-14.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk
81
- LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
82
71
83
72
build_script :
84
73
- brew install python@3.10
Original file line number Diff line number Diff line change @@ -13,8 +13,20 @@ elif [[ $RUNNER_OS == "Windows" ]]; then
13
13
cat $PROJECT_DIR /tools/wheels/LICENSE_win32.txt >> $PROJECT_DIR /LICENSE.txt
14
14
fi
15
15
16
+ install_openblas=true
17
+ if [[ $RUNNER_OS == " macOS" ]]; then
18
+ if [[ $( sw_vers --productVersion) == 14.* ]]; then
19
+ # This is the wheel build with Accelerate
20
+ export MACOSX_DEPLOYMENT_TARGET=14.0
21
+ install_openblas=false
22
+ else
23
+ # Done in gfortran_utils.sh
24
+ echo " deployment target determined from Python interpreter"
25
+ fi
26
+ fi
27
+
16
28
# Install Openblas
17
- if [[ $RUNNER_OS == " Linux" || $RUNNER_OS == " macOS" ]] ; then
29
+ if [[ $RUNNER_OS == " Linux" || $RUNNER_OS == " macOS" && install_openblas ]] ; then
18
30
basedir=$( python tools/openblas_support.py --use-ilp64)
19
31
if [[ $RUNNER_OS == " macOS" && $PLATFORM == " macosx-arm64" ]]; then
20
32
# /usr/local/lib doesn't exist on cirrus-ci runners
@@ -49,6 +61,10 @@ if [[ $RUNNER_OS == "macOS" ]]; then
49
61
if [[ $PLATFORM == " macosx-arm64" ]]; then
50
62
PLAT=" arm64"
51
63
fi
64
+
65
+ # Needed for OpenBLAS and gfortran
66
+ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
67
+
52
68
source $PROJECT_DIR /tools/wheels/gfortran_utils.sh
53
69
install_gfortran
54
70
pip install " delocate==0.10.4"
Original file line number Diff line number Diff line change @@ -109,12 +109,15 @@ function get_gf_lib_for_suf {
109
109
}
110
110
111
111
if [ " $( uname) " == " Darwin" ]; then
112
+ # Set deployment target to match the one Python was built for, if the env
113
+ # var wasn't explcitly set already.
112
114
mac_target=${MACOSX_DEPLOYMENT_TARGET:- $(get_macosx_target)}
113
115
export MACOSX_DEPLOYMENT_TARGET=$mac_target
114
116
# Keep this for now as some builds might depend on this being
115
117
# available before install_gfortran is called
116
118
export GFORTRAN_SHA=c469a420d2d003112749dcdcbe3c684eef42127e
117
- # Set SDKROOT env variable if not set
119
+ # SDKROOT needs to be set for repackaged conda-forge gfortran compilers
120
+ # supplied by isuruf. So set it if it's not already set.
118
121
export SDKROOT=${SDKROOT:- $(xcrun --show-sdk-path)}
119
122
120
123
function download_and_unpack_gfortran {
You can’t perform that action at this time.
0 commit comments