@@ -56,11 +56,8 @@ git submodule foreach --recursive 'git reset --hard'
56
56
# https://github.com/pytorch/pytorch/pull/66219
57
57
# patch -Np1 < ../../../pytorch.patch
58
58
59
+ CPYTHON_HOST_PATH=" $INSTALL_PATH /../../../cpython/cppbuild/$PLATFORM /host/"
59
60
CPYTHON_PATH=" $INSTALL_PATH /../../../cpython/cppbuild/$PLATFORM /"
60
- # local cross-compilation requires x86_64 cpython
61
- if [ " $ARCH " = " x86_64" ] && [ " $PLATFORM " = " macosx-arm64" ]; then
62
- CPYTHON_PATH=" $INSTALL_PATH /../../../cpython/cppbuild/macosx-x86_64/"
63
- fi
64
61
OPENBLAS_PATH=" $INSTALL_PATH /../../../openblas/cppbuild/$PLATFORM /"
65
62
NUMPY_PATH=" $INSTALL_PATH /../../../numpy/cppbuild/$PLATFORM /"
66
63
@@ -69,7 +66,12 @@ if [[ -n "${BUILD_PATH:-}" ]]; then
69
66
IFS=" $BUILD_PATH_SEPARATOR "
70
67
for P in $BUILD_PATH ; do
71
68
if [[ $( find " $P " -name Python.h) ]]; then
72
- CPYTHON_PATH=" $P "
69
+ if [[ " $( basename $P ) " == " $PLATFORM_HOST " ]]; then
70
+ CPYTHON_HOST_PATH=" $P "
71
+ fi
72
+ if [[ " $( basename $P ) " == " $PLATFORM " ]]; then
73
+ CPYTHON_PATH=" $P "
74
+ fi
73
75
elif [[ -f " $P /include/openblas_config.h" ]]; then
74
76
OPENBLAS_PATH=" $P "
75
77
elif [[ -f " $P /python/numpy/core/include/numpy/numpyconfig.h" ]]; then
@@ -79,36 +81,46 @@ if [[ -n "${BUILD_PATH:-}" ]]; then
79
81
IFS=" $PREVIFS "
80
82
fi
81
83
84
+ CPYTHON_HOST_PATH=" ${CPYTHON_HOST_PATH// \\ // } "
82
85
CPYTHON_PATH=" ${CPYTHON_PATH// \\ // } "
83
86
OPENBLAS_PATH=" ${OPENBLAS_PATH// \\ // } "
84
87
NUMPY_PATH=" ${NUMPY_PATH// \\ // } "
85
88
86
- if [[ -f " $CPYTHON_PATH /include/python3.12/Python.h" ]]; then
87
- # setup.py won't pick up the right libgfortran.so without this
88
- export LD_LIBRARY_PATH=" $OPENBLAS_PATH /lib/:$CPYTHON_PATH /lib/:$NUMPY_PATH /lib/"
89
- export PYTHON_BIN_PATH=" $CPYTHON_PATH /bin/python3.12"
90
- export PYTHON_INCLUDE_PATH=" $CPYTHON_PATH /include/python3.12/"
91
- export PYTHON_LIB_PATH=" $CPYTHON_PATH /lib/python3.12/"
92
- export PYTHON_INSTALL_PATH=" $INSTALL_PATH /lib/python3.12/site-packages/"
93
- export SSL_CERT_FILE=" $CPYTHON_PATH /lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem"
94
- chmod +x " $PYTHON_BIN_PATH "
95
- elif [[ -f " $CPYTHON_PATH /include/Python.h" ]]; then
96
- CPYTHON_PATH=$( cygpath $CPYTHON_PATH )
97
- OPENBLAS_PATH=$( cygpath $OPENBLAS_PATH )
98
- NUMPY_PATH=$( cygpath $NUMPY_PATH )
99
- export PATH=" $OPENBLAS_PATH :$CPYTHON_PATH :$NUMPY_PATH :$PATH "
100
- export PYTHON_BIN_PATH=" $CPYTHON_PATH /bin/python.exe"
101
- export PYTHON_INCLUDE_PATH=" $CPYTHON_PATH /include/"
102
- export PYTHON_LIB_PATH=" $CPYTHON_PATH /lib/"
103
- export PYTHON_INSTALL_PATH=" $INSTALL_PATH /lib/site-packages/"
104
- export SSL_CERT_FILE=" $CPYTHON_PATH /lib/pip/_vendor/certifi/cacert.pem"
105
- fi
106
- export PYTHONPATH=" $PYTHON_INSTALL_PATH :$NUMPY_PATH /python/"
107
- mkdir -p " $PYTHON_INSTALL_PATH "
108
-
109
- export CFLAGS=" -I$CPYTHON_PATH /include/ -I$PYTHON_LIB_PATH /include/python/ -L$CPYTHON_PATH /lib/ -L$CPYTHON_PATH /libs/"
110
89
export PYTHONNOUSERSITE=1
111
- $PYTHON_BIN_PATH -m pip install --target=$PYTHON_LIB_PATH setuptools==67.6.1 pyyaml==6.0.1 typing_extensions==4.8.0
90
+
91
+ TOOLS=" setuptools==67.6.1 pyyaml==6.0.1 typing_extensions==4.8.0"
92
+
93
+ if [[ $PLATFORM == $PLATFORM_HOST ]]; then
94
+ if [[ -f " $CPYTHON_PATH /include/python3.12/Python.h" ]]; then
95
+ # setup.py won't pick up the right libgfortran.so without this
96
+ export LD_LIBRARY_PATH=" $OPENBLAS_PATH /lib/:$CPYTHON_PATH /lib/:$NUMPY_PATH /lib/"
97
+ export PYTHON_BIN_PATH=" $CPYTHON_PATH /bin/python3.12"
98
+ export PYTHON_INCLUDE_PATH=" $CPYTHON_PATH /include/python3.12/"
99
+ export PYTHON_LIB_PATH=" $CPYTHON_PATH /lib/python3.12/"
100
+ export PYTHON_INSTALL_PATH=" $INSTALL_PATH /lib/python3.12/site-packages/"
101
+ export SSL_CERT_FILE=" $CPYTHON_PATH /lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem"
102
+ chmod +x " $PYTHON_BIN_PATH "
103
+ elif [[ -f " $CPYTHON_PATH /include/Python.h" ]]; then
104
+ CPYTHON_PATH=$( cygpath $CPYTHON_PATH )
105
+ OPENBLAS_PATH=$( cygpath $OPENBLAS_PATH )
106
+ NUMPY_PATH=$( cygpath $NUMPY_PATH )
107
+ export PATH=" $OPENBLAS_PATH :$CPYTHON_PATH :$NUMPY_PATH :$PATH "
108
+ export PYTHON_BIN_PATH=" $CPYTHON_PATH /bin/python.exe"
109
+ export PYTHON_INCLUDE_PATH=" $CPYTHON_PATH /include/"
110
+ export PYTHON_LIB_PATH=" $CPYTHON_PATH /lib/"
111
+ export PYTHON_INSTALL_PATH=" $INSTALL_PATH /lib/site-packages/"
112
+ export SSL_CERT_FILE=" $CPYTHON_PATH /lib/pip/_vendor/certifi/cacert.pem"
113
+ fi
114
+ export PYTHONPATH=" $PYTHON_INSTALL_PATH :$NUMPY_PATH /python/"
115
+ mkdir -p " $PYTHON_INSTALL_PATH "
116
+
117
+ export CFLAGS=" -I$CPYTHON_PATH /include/ -I$PYTHON_LIB_PATH /include/python/ -L$CPYTHON_PATH /lib/ -L$CPYTHON_PATH /libs/"
118
+ $PYTHON_BIN_PATH -m pip install --target=$PYTHON_LIB_PATH $TOOLS
119
+ else # cross-compile
120
+ export PYTHON_BIN_PATH=" $CPYTHON_HOST_PATH /bin/python3.12"
121
+ chmod +x $PYTHON_BIN_PATH
122
+ $PYTHON_BIN_PATH -m pip install --target=" $CPYTHON_HOST_PATH /lib/python3.12/" $TOOLS
123
+ fi
112
124
113
125
case $PLATFORM in
114
126
linux-x86)
0 commit comments