Skip to content

Commit fd67f2e

Browse files
committed
a fix for windows
1 parent 5d878d0 commit fd67f2e

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

scripts/build-wheels.sh

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,15 @@ default_versions_for_target() {
9999
esac
100100
}
101101

102+
host_rust_target() {
103+
rustc -vV | sed -n 's/^host: //p'
104+
}
105+
102106
OUTPUT_DIR="$DEFAULT_OUTPUT_DIR"
103107
INSTALL_PYTHONS=1
104108
RUST_TARGET="${RSLOOP_RUST_TARGET:-}"
109+
HOST_RUST_TARGET=""
110+
IS_CROSS_COMPILE=0
105111
MATURIN_ARGS=()
106112

107113
while (($#)); do
@@ -154,6 +160,13 @@ OUTPUT_DIR="$(resolve_path "$OUTPUT_DIR")"
154160
cd "$ROOT_DIR"
155161
mkdir -p "$OUTPUT_DIR"
156162

163+
if [[ -n "$RUST_TARGET" ]]; then
164+
HOST_RUST_TARGET="$(host_rust_target)"
165+
if [[ "$RUST_TARGET" != "$HOST_RUST_TARGET" ]]; then
166+
IS_CROSS_COMPILE=1
167+
fi
168+
fi
169+
157170
if (( INSTALL_PYTHONS )); then
158171
if [[ -n "$RUST_TARGET" ]]; then
159172
python_requests=()
@@ -174,8 +187,12 @@ for version in "${PYTHON_VERSIONS[@]}"; do
174187

175188
if [[ -n "$RUST_TARGET" ]]; then
176189
python_request="$(target_python_request "$version" "$RUST_TARGET")"
177-
interpreter_selector="python${version}"
178-
echo "Building release wheel for Python ${version} targeting ${RUST_TARGET} (${python_request})"
190+
if (( IS_CROSS_COMPILE )); then
191+
interpreter_selector="python${version}"
192+
else
193+
interpreter_selector="$(uv python find "$python_request")"
194+
fi
195+
echo "Building release wheel for Python ${version} targeting ${RUST_TARGET} (${interpreter_selector})"
179196
else
180197
interpreter_selector="$(uv python find "$version")"
181198
echo "Building release wheel for Python ${version} (${interpreter_selector})"

0 commit comments

Comments
 (0)