| # |
| # Copyright OpenEmbedded Contributors |
| # |
| # SPDX-License-Identifier: MIT |
| # |
| |
| # |
| # This class helps make sure that Python extensions built with PyO3 |
| # and setuptools_rust properly set up the environment for cross compilation |
| # |
| |
| inherit cargo python3-dir siteinfo |
| |
| export PYO3_CROSS="1" |
| export PYO3_CROSS_PYTHON_VERSION="${PYTHON_BASEVERSION}" |
| export PYO3_CROSS_LIB_DIR="${STAGING_LIBDIR}" |
| export CARGO_BUILD_TARGET="${RUST_HOST_SYS}" |
| export RUSTFLAGS |
| export PYO3_PYTHON="${PYTHON}" |
| export PYO3_CONFIG_FILE="${WORKDIR}/pyo3.config" |
| |
| python_pyo3_do_configure () { |
| cat > ${WORKDIR}/pyo3.config << EOF |
| implementation=CPython |
| version=${PYTHON_BASEVERSION} |
| shared=true |
| abi3=false |
| lib_name=${PYTHON_DIR} |
| lib_dir=${STAGING_LIBDIR} |
| pointer_width=${SITEINFO_BITS} |
| build_flags=WITH_THREAD |
| suppress_build_script_link_lines=false |
| EOF |
| } |
| |
| EXPORT_FUNCTIONS do_configure |