1# 2# Copyright OpenEmbedded Contributors 3# 4# SPDX-License-Identifier: MIT 5# 6 7# 8# This class helps make sure that Python extensions built with PyO3 9# and setuptools_rust properly set up the environment for cross compilation 10# 11 12inherit cargo python3-dir siteinfo 13 14export PYO3_CROSS="1" 15export PYO3_CROSS_PYTHON_VERSION="${PYTHON_BASEVERSION}" 16export PYO3_CROSS_LIB_DIR="${STAGING_LIBDIR}" 17export CARGO_BUILD_TARGET="${RUST_HOST_SYS}" 18export RUSTFLAGS 19export PYO3_PYTHON="${PYTHON}" 20export PYO3_CONFIG_FILE="${WORKDIR}/pyo3.config" 21 22python_pyo3_do_configure () { 23 cat > ${WORKDIR}/pyo3.config << EOF 24implementation=CPython 25version=${PYTHON_BASEVERSION} 26shared=true 27abi3=false 28lib_name=${PYTHON_DIR} 29lib_dir=${STAGING_LIBDIR} 30pointer_width=${SITEINFO_BITS} 31build_flags=WITH_THREAD 32suppress_build_script_link_lines=false 33EOF 34} 35 36EXPORT_FUNCTIONS do_configure 37