1*4882a593Smuzhiyun# 2*4882a593Smuzhiyun# This class helps make sure that Python extensions built with PyO3 3*4882a593Smuzhiyun# and setuptools_rust properly set up the environment for cross compilation 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593Smuzhiyuninherit cargo python3-dir siteinfo 7*4882a593Smuzhiyun 8*4882a593Smuzhiyunexport PYO3_CROSS="1" 9*4882a593Smuzhiyunexport PYO3_CROSS_PYTHON_VERSION="${PYTHON_BASEVERSION}" 10*4882a593Smuzhiyunexport PYO3_CROSS_LIB_DIR="${STAGING_LIBDIR}" 11*4882a593Smuzhiyunexport CARGO_BUILD_TARGET="${HOST_SYS}" 12*4882a593Smuzhiyunexport RUSTFLAGS 13*4882a593Smuzhiyunexport PYO3_PYTHON="${PYTHON}" 14*4882a593Smuzhiyunexport PYO3_CONFIG_FILE="${WORKDIR}/pyo3.config" 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunpython_pyo3_do_configure () { 17*4882a593Smuzhiyun cat > ${WORKDIR}/pyo3.config << EOF 18*4882a593Smuzhiyunimplementation=CPython 19*4882a593Smuzhiyunversion=${PYTHON_BASEVERSION} 20*4882a593Smuzhiyunshared=true 21*4882a593Smuzhiyunabi3=false 22*4882a593Smuzhiyunlib_name=${PYTHON_DIR} 23*4882a593Smuzhiyunlib_dir=${STAGING_LIBDIR} 24*4882a593Smuzhiyunpointer_width=${SITEINFO_BITS} 25*4882a593Smuzhiyunbuild_flags=WITH_THREAD 26*4882a593Smuzhiyunsuppress_build_script_link_lines=false 27*4882a593SmuzhiyunEOF 28*4882a593Smuzhiyun} 29*4882a593Smuzhiyun 30*4882a593SmuzhiyunEXPORT_FUNCTIONS do_configure 31