summaryrefslogtreecommitdiffstats
path: root/meta/classes/python_pyo3.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-03-13 09:11:29 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-03-16 08:48:08 +0000
commitf920fa55e5e936a304cebfa9e059199078f7c909 (patch)
treeb97aeba95d44a600a5e7f8dc415c149242f599be /meta/classes/python_pyo3.bbclass
parent3d904dd505dac226aedf3ac96afe254b9c4fb975 (diff)
downloadpoky-f920fa55e5e936a304cebfa9e059199078f7c909.tar.gz
py3o: Rename to python_py3o
(From OE-Core rev: e9b030eab6d4c18482aaa7f0166686e16ba8e779) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/python_pyo3.bbclass')
-rw-r--r--meta/classes/python_pyo3.bbclass30
1 files changed, 30 insertions, 0 deletions
diff --git a/meta/classes/python_pyo3.bbclass b/meta/classes/python_pyo3.bbclass
new file mode 100644
index 0000000000..10cc3a0645
--- /dev/null
+++ b/meta/classes/python_pyo3.bbclass
@@ -0,0 +1,30 @@
1#
2# This class helps make sure that Python extensions built with PyO3
3# and setuptools_rust properly set up the environment for cross compilation
4#
5
6inherit cargo python3-dir siteinfo
7
8export PYO3_CROSS="1"
9export PYO3_CROSS_PYTHON_VERSION="${PYTHON_BASEVERSION}"
10export PYO3_CROSS_LIB_DIR="${STAGING_LIBDIR}"
11export CARGO_BUILD_TARGET="${HOST_SYS}"
12export RUSTFLAGS
13export PYO3_PYTHON="${PYTHON}"
14export PYO3_CONFIG_FILE="${WORKDIR}/pyo3.config"
15
16python_pyo3_do_configure () {
17 cat > ${WORKDIR}/pyo3.config << EOF
18implementation=CPython
19version=${PYTHON_BASEVERSION}
20shared=true
21abi3=false
22lib_name=${PYTHON_DIR}
23lib_dir=${STAGING_LIBDIR}
24pointer_width=${SITEINFO_BITS}
25build_flags=WITH_THREAD
26suppress_build_script_link_lines=false
27EOF
28}
29
30EXPORT_FUNCTIONS do_configure